Update to r44616:
Editorial review of MP3 chapter.
This commit is contained in:
parent
0c26ffd3c5
commit
6ae03353b6
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49223
1 changed files with 98 additions and 125 deletions
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
$FreeBSDde: de-docproj/books/handbook/multimedia/chapter.xml,v 1.100 2012/04/22 20:49:51 bcr Exp $
|
$FreeBSDde: de-docproj/books/handbook/multimedia/chapter.xml,v 1.100 2012/04/22 20:49:51 bcr Exp $
|
||||||
basiert auf: r44614
|
basiert auf: r44616
|
||||||
-->
|
-->
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="multimedia">
|
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="multimedia">
|
||||||
<info>
|
<info>
|
||||||
|
@ -286,7 +286,7 @@ pcm2: <Conexant CX20590 (Analog 2.0+HP/2.0)> (play/rec) default</screen>
|
||||||
&os; funktionieren. Wenn ein <acronym>CD</acronym>- oder
|
&os; funktionieren. Wenn ein <acronym>CD</acronym>- oder
|
||||||
<acronym>DVD</acronym>-Laufwerk an die Soundkarte
|
<acronym>DVD</acronym>-Laufwerk an die Soundkarte
|
||||||
angeschlossen ist, können Sie jetzt mit &man.cdcontrol.1; eine
|
angeschlossen ist, können Sie jetzt mit &man.cdcontrol.1; eine
|
||||||
CD abspielen:</para>
|
<acronym>CD</acronym> abspielen:</para>
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>
|
<screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>
|
||||||
|
|
||||||
|
@ -538,120 +538,108 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
|
||||||
|
|
||||||
<para>Dieser Abschnitt beschreibt einige unter &os; verfügbare
|
<para>Dieser Abschnitt beschreibt einige unter &os; verfügbare
|
||||||
<acronym>MP3</acronym>-Player. Zudem wird beschrieben, wie
|
<acronym>MP3</acronym>-Player. Zudem wird beschrieben, wie
|
||||||
Audio-CDs gerippt und <acronym>MP3</acronym>s kodiert und
|
Audio-<acronym>CD</acronym>s gerippt und <acronym>MP3</acronym>s
|
||||||
dekodiert werden.</para>
|
kodiert und dekodiert werden.</para>
|
||||||
|
|
||||||
<sect2 xml:id="mp3-players">
|
<sect2 xml:id="mp3-players">
|
||||||
<title>MP3-Player</title>
|
<title>MP3-Player</title>
|
||||||
|
|
||||||
<para><application>XMMS</application> ist ein beliebter
|
<para>Ein beliebter graphischer <acronym>MP3</acronym>-Player
|
||||||
graphischer <acronym>MP3</acronym>-Player.
|
ist <application>XMMS</application>, welcher
|
||||||
<application>WinAmp</application>-Skins können auch mit
|
<application>WinAmp</application>-Skins und zusätzliche
|
||||||
<application>XMMS</application> genutzt werden, da die
|
Plugins unterstützt. Die Benutzerschnittstelle ist leicht zu
|
||||||
Benutzerschnittstelle fast identisch mit der von Nullsofts
|
erlernen und enthält eine Playlist, einen graphischen
|
||||||
<application>WinAmp</application> ist. Daneben
|
Equalizer und vieles mehr. Diejenigen, die bereits mit
|
||||||
unterstützt <application>XMMS</application> auch eigene
|
<application>WinAmp</application> vertraut sind, werden
|
||||||
Plugins.</para>
|
<application>XMMS</application> sehr leicht zu benutzen
|
||||||
|
finden. Unter &os; kann <application>XMMS</application> als
|
||||||
<para><application>XMMS</application> kann als
|
Port oder Paket <package>multimedia/xmms</package> installiert
|
||||||
<package>multimedia/xmms</package> Port oder Paket installiert
|
|
||||||
werden.</para>
|
werden.</para>
|
||||||
|
|
||||||
<para>Die Benutzerschnittstelle von
|
<para>Das Paket <package>audio/mpg123</package> ist ein
|
||||||
<application>XMMS</application> ist leicht zu erlernen und
|
|
||||||
enthält eine Playlist, einen graphischen Equalizer und
|
|
||||||
vieles mehr. Diejenigen, die mit WinAmp vertraut sind, werden
|
|
||||||
<application>XMMS</application> sehr leicht zu benutzen
|
|
||||||
finden.</para>
|
|
||||||
|
|
||||||
<para>Der Port <package>audio/mpg123</package> ist ein
|
|
||||||
alternativer, kommandozeilenorientierter
|
alternativer, kommandozeilenorientierter
|
||||||
<acronym>MP3</acronym>-Player.</para>
|
<acronym>MP3</acronym>-Player. Nach der Installation kann
|
||||||
|
die abzuspielende <acronym>MP3</acronym>-Datei auf der
|
||||||
<para><application>mpg123</application> kann ausgeführt
|
Kommandozeile angegeben werden. Geben Sie auch das
|
||||||
werden, indem das zu benutzende Audiogerät und die
|
entsprechende Soundkarte an, falls das System über mehrere
|
||||||
abzuspielende <acronym>MP3</acronym>-Datei auf der
|
Audiogeräte verfügt:</para>
|
||||||
Kommandozeile angegeben wird. Wenn das
|
|
||||||
Audiogerät beispielsweise <filename>/dev/dsp1.0</filename> ist
|
|
||||||
und die <acronym>MP3</acronym>-Datei
|
|
||||||
<replaceable>Foobar-GreatestHits.mp3</replaceable> heißt,
|
|
||||||
geben Sie Folgendes ein um die Datei abzuspielen:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>mpg123 -a /dev/dsp1.0 <replaceable>Foobar-GreatestHits.mp3</replaceable></userinput>
|
|
||||||
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
|
|
||||||
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
|
|
||||||
Uses code from various people. See 'README' for more!
|
|
||||||
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>mpg123 <replaceable>-a /dev/dsp1.0 Foobar-GreatestHits.mp3</replaceable></userinput>
|
||||||
|
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3
|
||||||
|
version 1.18.1; written and copyright by Michael Hipp and others
|
||||||
|
free software (LGPL) without any warranty but with best wishes
|
||||||
|
|
||||||
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
|
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
|
||||||
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
|
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen>
|
||||||
</screen>
|
|
||||||
|
<para>Weitere <acronym>MP3</acronym>-Player stehen in der &os;
|
||||||
|
Ports-Sammlung zur Verfügung.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="rip-cd">
|
<sect2 xml:id="rip-cd">
|
||||||
<title>CD-Audio Tracks rippen</title>
|
<title><acronym>CD</acronym>-Audio Tracks rippen</title>
|
||||||
|
|
||||||
<para>Bevor eine ganze CD oder einen CD-Track in das
|
<para>Bevor eine ganze <acronym>CD</acronym> oder einen
|
||||||
|
<acronym>CD</acronym>-Track in das
|
||||||
<acronym>MP3</acronym>-Format umgewandelt werden kann, müssen
|
<acronym>MP3</acronym>-Format umgewandelt werden kann, müssen
|
||||||
die Audiodaten von der CD auf die Festplatte gerippt werden.
|
die Audiodaten von der <acronym>CD</acronym> auf die
|
||||||
Dabei werden die <acronym>CDDA</acronym> (CD Digital Audio)
|
Festplatte gerippt werden. Dabei werden die
|
||||||
Rohdaten in <acronym>WAV</acronym>-Dateien kopiert.</para>
|
<acronym>CDDA</acronym> (CD Digital Audio) Rohdaten in
|
||||||
|
<acronym>WAV</acronym>-Dateien kopiert.</para>
|
||||||
|
|
||||||
<para>Die Anwendung <command>cdda2wav</command>, die im
|
<para>Die Anwendung <command>cdda2wav</command>, die im
|
||||||
<package>sysutils/cdrtools</package> Paket enthalten
|
<package>sysutils/cdrtools</package> Paket enthalten
|
||||||
ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs
|
ist, kann zum Rippen der Audiodaten von <acronym>CD</acronym>s
|
||||||
genutzt werden.</para>
|
genutzt werden.</para>
|
||||||
|
|
||||||
<para>Wenn die Audio CD in dem Laufwerk liegt, kann der folgende
|
<para>Wenn die Audio <acronym>CD</acronym> in dem Laufwerk
|
||||||
Befehl als <systemitem class="username">root</systemitem>
|
liegt, kann der folgende Befehl als <systemitem
|
||||||
ausgeführt werden, um eine ganze CD in einzelne
|
class="username">root</systemitem> ausgeführt werden, um
|
||||||
<acronym>WAV</acronym>-Dateien (eine Datei für jeden Track)
|
eine ganze <acronym>CD</acronym> in einzelne
|
||||||
zu rippen:</para>
|
<acronym>WAV</acronym>-Dateien zu rippen:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen>
|
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen>
|
||||||
|
|
||||||
<para>Der Schalter <option>-D
|
<para>In diesem Beispiel bezieht sich der Schalter <option>-D
|
||||||
<replaceable>0,1,0</replaceable></option> bezieht sich auf
|
<replaceable>0,1,0</replaceable></option> auf das
|
||||||
das <acronym>SCSI</acronym>-Gerät <filename>0,1,0</filename>, das sich aus
|
<acronym>SCSI</acronym>-Gerät <filename>0,1,0</filename>, das
|
||||||
dem Ergebnis des Befehls <command>cdrecord -scanbus</command>
|
die zu rippende <acronym>CD</acronym> enthält. Benutzen Sie
|
||||||
ergibt.</para>
|
<command>cdrecord -scanbus</command> um die richtigen
|
||||||
|
Geräteparameter für das System zu bestimmen.</para>
|
||||||
<para><application>cdda2wav</application> unterstützt
|
|
||||||
auch ATAPI (IDE) CD-ROM-Laufwerke. Um von einem IDE-Laufwerk
|
|
||||||
zu rippen, übergeben Sie auf der Kommandozeile
|
|
||||||
statt der <acronym>SCSI</acronym>-IDs den Gerätenamen. Das
|
|
||||||
folgende Kommando rippt den 7. Track:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0</replaceable> -t 7</userinput></screen>
|
|
||||||
|
|
||||||
<para>Um einzelne Tracks zu rippen, benutzen Sie
|
<para>Um einzelne Tracks zu rippen, benutzen Sie
|
||||||
<option>-t</option> wie folgt:</para>
|
<option>-t</option> wie folgt:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen>
|
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen>
|
||||||
|
|
||||||
<para>Dieses Beispiel rippt den siebten Track der Audio
|
<para>Um mehrere Tracks zu rippen, zum Beispiel die Tracks
|
||||||
CD-ROM. Um mehrere Tracks zu rippen, zum Beispiel die Tracks
|
|
||||||
eins bis sieben, können Sie wie folgt einen Bereich
|
eins bis sieben, können Sie wie folgt einen Bereich
|
||||||
angeben:</para>
|
angeben:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen>
|
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen>
|
||||||
|
|
||||||
<para>Mit &man.dd.1; können ebenfalls Audio-Stücke
|
<para>Wenn Sie von einem <acronym>ATAPI</acronym>
|
||||||
von ATAPI-Laufwerken kopiert werden. Dies wird im
|
(<acronym>IDE</acronym>) <acronym>CD-ROM</acronym>-Laufwerk
|
||||||
<xref linkend="duplicating-audiocds"/> erläutert.</para>
|
rippen, geben Sie den Gerätenamen anstelle der
|
||||||
|
<acronym>SCSI</acronym>-Gerätenummer an. Dieses Beispiel
|
||||||
|
rippt Track 7 von einem
|
||||||
|
<acronym>IDE</acronym>-Laufwerk:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0 -t 7</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
<para>Alternativ können mit <command>dd</command> ebenfalls
|
||||||
|
Audio-Stücke von <acronym>ATAPI</acronym>-Laufwerken kopiert
|
||||||
|
werden. Dies wird in <xref
|
||||||
|
linkend="duplicating-audiocds"/> erläutert.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="mp3-encoding">
|
<sect2 xml:id="mp3-encoding">
|
||||||
<title>MP3-Dateien kodieren</title>
|
<title>MP3-Dateien kodieren und dekodieren</title>
|
||||||
|
|
||||||
<para><application>Lame</application> ist ein weitverbreiteter
|
<para><application>Lame</application> ist ein weitverbreiteter
|
||||||
<acronym>MP3</acronym>-Encoder, der als Port
|
<acronym>MP3</acronym>-Encoder, der als Port
|
||||||
<package>audio/lame</package> installiert werden kann. Aus
|
<package>audio/lame</package> installiert werden kann. Wegen
|
||||||
lizenzrechtlichen Gründen ist kein Paket verfügbar.</para>
|
Patentproblemen ist kein Paket verfügbar.</para>
|
||||||
|
|
||||||
<para>Der folgende Befehl konvertiert die gerippte
|
<para>Der folgende Befehl konvertiert die gerippte
|
||||||
<acronym>WAV</acronym>-Datei
|
<acronym>WAV</acronym>-Datei
|
||||||
|
@ -659,44 +647,47 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
|
||||||
in <filename><replaceable>audio01.mp3</replaceable></filename>
|
in <filename><replaceable>audio01.mp3</replaceable></filename>
|
||||||
um:</para>
|
um:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \
|
<screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> --tt "<replaceable>Foo Liedtietel</replaceable>" --ta "<replaceable>FooBar Künstler</replaceable>" --tl "<replaceable>FooBar Album</replaceable>" \
|
||||||
--tt "<replaceable>Foo Liedtitel</replaceable>" \
|
--ty "<replaceable>2014</replaceable>" --tc "<replaceable>Gerippt und kodiert von Foo</replaceable>" --tg "<replaceable>Musikrichtung</replaceable>" <replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>
|
||||||
--ta "<replaceable>FooBar Künstler</replaceable>" \
|
|
||||||
--tl "<replaceable>FooBar Album</replaceable>" \
|
|
||||||
--ty "<replaceable>2001</replaceable>" \
|
|
||||||
--tc "<replaceable>Geripped und kodiert von Foo</replaceable>" \
|
|
||||||
--tg "<replaceable>Musikrichtung</replaceable>" \
|
|
||||||
<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>
|
|
||||||
|
|
||||||
<para>128 kbits ist die gewöhnliche
|
<para>128 kbits ist die gewöhnliche
|
||||||
<acronym>MP3</acronym>-Bitrate. Die Bitraten 160 oder
|
<acronym>MP3</acronym>-Bitrate, wohingegen die Bitraten 160
|
||||||
192 kbits bieten eine höhere Qualität. Je höher die
|
und 192 kbits eine höhere Qualität bieten. Je höher die
|
||||||
Bitrate ist, desto mehr Speicherplatz benötigt die
|
Bitrate ist, desto mehr Speicherplatz benötigt die
|
||||||
resultierende <acronym>MP3</acronym>-Datei.
|
resultierende <acronym>MP3</acronym>-Datei. Die Option
|
||||||
<option>-h</option> verwendet den <quote>higher quality but a
|
<option>-h</option> verwendet den <quote>higher quality but a
|
||||||
little slower</quote> (höhere Qualität, aber etwas
|
little slower</quote> (höhere Qualität, aber etwas
|
||||||
langsamer) Modus. Die Schalter, die mit
|
langsamer) Modus. Die Schalter, die mit
|
||||||
<option>--t</option> beginnen, sind ID3-Tags, die in der Regel
|
<option>--t</option> beginnen, sind
|
||||||
Informationen über das Lied enthalten und in die
|
<acronym>ID3</acronym>-Tags, die in der Regel Informationen
|
||||||
|
über das Lied enthalten und in die
|
||||||
<acronym>MP3</acronym>-Datei eingebettet sind. Weitere
|
<acronym>MP3</acronym>-Datei eingebettet sind. Weitere
|
||||||
Optionen können in der Manualpage von
|
Optionen können in der Manualpage von
|
||||||
<application>lame</application> nachgelesen werden.</para>
|
<application>lame</application> nachgelesen werden.</para>
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 xml:id="mp3-decoding">
|
<para>Um aus <acronym>MP3</acronym>-Dateien eine Audio
|
||||||
<title>MP3-Dateien dekodieren</title>
|
<acronym>CD</acronym> zu erstellen, müssen diese zuerst in ein
|
||||||
|
nicht komprimiertes Format umgewandelt werden. Verwenden Sie
|
||||||
|
<application>XMMS</application> um die Datei im
|
||||||
|
<acronym>WAV</acronym>-Format zu schreiben und
|
||||||
|
<application>mpg123</application>, um die
|
||||||
|
<acronym>MP3</acronym>-Datei in rohe
|
||||||
|
<acronym>PCM</acronym>-Audiodaten umzuwandeln.</para>
|
||||||
|
|
||||||
<para>Um aus <acronym>MP3</acronym>-Dateien eine Audio CD zu
|
<para>Um <filename>audio01.mp3</filename> mit
|
||||||
erstellen, müssen diese zuerst in ein nicht komprimiertes
|
<application>mpg123</application> umzuwandeln, geben Sie den
|
||||||
<acronym>WAV</acronym>-Format umgewandelt werden. Sowohl
|
Namen der <acronym>PCM</acronym>-Datei an:</para>
|
||||||
<application>XMMS</application> als auch
|
|
||||||
<application>mpg123</application> unterstützen die Ausgabe der
|
|
||||||
<acronym>MP3</acronym>-Dateien in unkomprimierte
|
|
||||||
Dateiformate.</para>
|
|
||||||
|
|
||||||
<para>Dekodieren mit <application>XMMS</application>:</para>
|
<screen>&prompt.root; <userinput>mpg123 -s <replaceable>audio01.mp3</replaceable> > <replaceable>audio01.pcm</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
<para>So verwenden Sie <application>XMMS</application> um eine
|
||||||
|
<acronym>MP3</acronym>-Datei in das
|
||||||
|
<acronym>WAV</acronym>-Format zu konvertieren:</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
|
<title>Mit <application>XMMS</application> in das
|
||||||
|
<acronym>WAV</acronym>-Format konvertieren</title>
|
||||||
|
|
||||||
<step>
|
<step>
|
||||||
<para>Starten Sie <application>XMMS</application>.</para>
|
<para>Starten Sie <application>XMMS</application>.</para>
|
||||||
</step>
|
</step>
|
||||||
|
@ -746,35 +737,17 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
|
|
||||||
<para>Mit <application>mpg123</application> nach stdout schreiben:</para>
|
<para><application>cdrecord</application> kann mit beiden
|
||||||
|
Formaten Audio-<acronym>CD</acronym>s erstellen. Der
|
||||||
<procedure>
|
Dateikopf von <acronym>WAV</acronym>-Dateien erzeugt am Anfang
|
||||||
<step>
|
des Stücks ein Knacken. Der Dateikopf mit dem Port oder Paket
|
||||||
<para>Geben Sie <command>mpg123 -s
|
<package>audio/sox</package> entfernt werden:</para>
|
||||||
<replaceable>audio01.mp3</replaceable> >
|
|
||||||
<replaceable>audio01.pcm</replaceable></command>
|
|
||||||
ein.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
|
|
||||||
<para><application>XMMS</application> schreibt die Datei im
|
|
||||||
<acronym>WAV</acronym>-Format aus während
|
|
||||||
<application>mpg123</application> die
|
|
||||||
<acronym>MP3</acronym>-Datei in rohe
|
|
||||||
<acronym>PCM</acronym>-Audiodaten umwandelt.
|
|
||||||
<application>cdrecord</application> kann mit beiden Formaten
|
|
||||||
Audio-CDs erstellen. Der Dateikopf
|
|
||||||
von <acronym>WAV</acronym>-Dateien erzeugt am Anfang des
|
|
||||||
Stücks ein Knacken. Sie können den Dateikopf mit dem Werkzeug
|
|
||||||
<application>SoX</application>, das sich als Paket oder aus
|
|
||||||
dem Port <package>audio/sox</package> installieren lässt,
|
|
||||||
entfernen:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen>
|
<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen>
|
||||||
|
|
||||||
<para>Lesen Sie <xref linkend="creating-cds"/>, um mehr
|
<para>Lesen Sie <xref linkend="creating-cds"/>, um mehr
|
||||||
Informationen zur Benutzung von CD-Brennern mit &os; zu
|
Informationen zur Benutzung von <acronym>CD</acronym>-Brennern
|
||||||
erhalten.</para>
|
mit &os; zu erhalten.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue