Audio aus Video extrahieren mit MPlayer: Unterschied zwischen den Versionen

Aus UUGRN
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Gelegentlich wüncht man sich das man eine Audio Spur aus einem Video File zu extrahiren. Dies ist eine Kleine anleitung dies mit [[MPlayer]] zu tun.
Gelegentlich wünscht man sich, eine Audiospur aus einem Video zu extrahieren. Dies ist eine kleine Anleitung dies mit [[MPlayer]] zu tun.


== Mittels -dumpaudio (Verlustfrei) ==
== Mittels -dumpaudio (verlustfrei) ==
Mittels der Option -dumpaudio kann man mplayer dazu bewegen ''raw'' einen Audio Channel in ein File zu dumpen.
Mittels der Option <code>-dumpaudio</code> kann man [[mplayer]] dazu bewegen, einen Audio Channel ''raw'' in ein File zu dumpen.


=== Vorteile / Nachteile ===
=== Vorteile / Nachteile ===
Der Vorteil ligt darin das nicht De- und neu Encodirt wird. Dadruch gibt es keinen Qualitaets Verlust bei Verlusthaften Codecs. Der Nachteil ist das der Audio Player mit dem das File spaeder wieder abgespielt werden soll diesen Coodec koennen muss. Diest ist nicht zwangsweise der Fall. Es bestehen aber gute Changsen ein sinvolles Ergebnis zu bekommen bei Videos die als [[OGG]] abgelegt sind (Da meist [[Vorbis]] oder [[FLAC]] Audiospur) und bei Videos die als [[MPEG]] abgelegt sind (Der Audio Channel ist ein valider MP2/3 Stream<!-- immer? -->).
Der Vorteil liegt darin, dass nicht de- und neu encodiert wird. Dadurch gibt es keinen Qualitätsverlust bei verlustbehafteten Codecs.  
Der Nachteil ist, dass der Audio Player, mit dem das File später wieder abgespielt werden soll, diesen Codec unterstützen muss, dies ist nicht zwangsläufig der Fall. Bei Videos im [[OGG]] Format bestehen jedoch gute Chancen, ein sinvolles Ergebnis zu bekommen (Da meist [[Vorbis]] oder [[FLAC]] Audiospur) und bei Videos die als [[MPEG]] abgelegt sind (Der Audio Channel ist ein valider MP2/3 Stream<!-- immer? -->).


Die option -dumpfile kann genutzt werden um an zu geben wie das neue File heisen soll.
Die Option <code>-dumpfile</code> kann genutzt werden, um anzugeben, wie das neue File heißen soll.


=== Beispiel ===
=== Beispiel ===
Zeile 14: Zeile 15:
  $ mplayer -dumpaudio -dumpfile myaudio.mp3 myvideo.mpg
  $ mplayer -dumpaudio -dumpfile myaudio.mp3 myvideo.mpg


== Mittels -ao pcm (meist Verlusthaft) ==
== Mittels -ao pcm (meist verlustbehaftet) ==
Die option -ao dient dazu den Audio Output Dreiber aus zu waehlen. Normalerweise sollte das auf [[OSS|oss]], [[ALSA|alsa]] oder [[ESD|esd]] stehen. Es gibt aber auch einen Output Dreiber ''pcm'' der dazu dient [[PCM]] (''Wave'') Files zu schreiben. Er kann dies sowohl mit als auch ohne [[PCM]] Header. Hier soll dieses Output genutzt werden um einem Audio encoder zu zu fueren. In unserem Falle [[oggenc]] dem standard [[OGG]] [[Vorbis]] Encoder. Es kann aber auf aehnliche weisse auch [[flac]] ([[FALC]] Encoder) oder aehnliche genutzt werden.
Die option <code>-ao</code> dient dazu, den Audio Output Treiber auszuwaehlen. Normalerweise sollte das auf [[OSS|oss]], [[ALSA|alsa]] oder [[ESD|esd]] stehen. Es gibt aber auch einen Output Treiber ''pcm'', der dazu dient, [[PCM]] (''Wave'') Files zu schreiben. Er kann dies sowohl mit als auch ohne [[PCM]] Header. Hier soll dieses Output genutzt werden, um einem Audio Encoder zuzufueren. In unserem Falle [[oggenc]] dem Standard [[OGG]] [[Vorbis]] Encoder. Es kann aber auf ähnliche Weise auch [[flac]] ([[FLAC]] Encoder) oder ähnliche genutzt werden.


=== Vorteile / Nachteile ===
=== Vorteile / Nachteile ===
Der Vorteil ist das hier der Codec in dem der Audio Channel im Video vorligt egal ist da wir ja die Daten neu encoden. Der Nachteil ist das bei der verwendung eines Verlusthaften Audio Codecs die Qualitaet abnimmt. Aus diesem grunde ist die Obige Vorgehensweise strak empfolen.
Der Vorteil ist, dass hier der Codec, in dem der Audio Channel im Video vorliegt, egal ist, da wir ja die Daten neu encoden. Der Nachteil ist, dass bei Verwendung eines verlustbehafteten Audio Codecs die Qualität abnimmt. Aus diesem Grunde ist die obige Vorgehensweise stark empfohlen.


=== Beispiel ===
=== Beispiel ===
'''Fall 1:''' Das Video wirt komplett decodort und MPlayer schreibt die datei ''audiodump.wav'' mit unseren Audiodaten. Diese Datei wirt im zweiten Schritt neu encodet und im dritten Schritt geloecht da wir sie nicht mehr brauchen.
'''Fall 1:''' Das Video wird komplett decodiert und MPlayer schreibt die Datei ''audiodump.wav'' mit unseren Audiodaten. Diese Datei wird im zweiten Schritt neu encodet und im dritten Schritt gelöscht, da wir sie nicht mehr brauchen.
  $ mplayer -ao pcm -vo null myvideo.ogg
  $ mplayer -ao pcm -vo null myvideo.ogg
  $ oggenc audiodump.wav -o myaudio.ogg
  $ oggenc audiodump.wav -o myaudio.ogg
  $ rm audiodump.wav
  $ rm audiodump.wav
Dieses Verfahren braucht allerdingst recht viel Platz auf dem Datentraeger da die Audio Daten kommplett unkomprimirt zichengelagert werden.
Dieses Verfahren braucht allerdings recht viel Platz auf dem Datenträger, da die Audiodaten komplett unkomprimiert zwischengelagert werden.


'''Fall 2:''' Hier wirt eine [[FIFO]] eingesetzt um sich die Temporaere Datei zu sparen.
'''Fall 2:''' Hier wird ein [[FIFO]] eingesetzt, um sich die temporäre Datei zu sparen.
  $ mkfifo audiodump.wav
  $ mkfifo audiodump.wav
  $ mplayer -ao pcm -vo null myvideo.ogg
  $ mplayer -ao pcm -vo null myvideo.ogg
Zeile 33: Zeile 34:
  $ rm audiodump.wav
  $ rm audiodump.wav


'''Hinweis:''' Es kann zu deutlichem geschwindigkeits zuwachs kommen wenn MPlayer die option ''-vc dummy'' zusetzlich mit uebergeben wirt. Diese schlatet das decodiren der Video Daten ab. Dies fuert aber ggf. zu Problehmen.
'''Hinweis:''' Es kann zu deutlichem Geschwindigkeitszuwachs kommen, wenn MPlayer die option ''-vc dummy'' zusätzlich mit übergeben wird. Diese schaltet das Dekodieren der Videodaten ab. Dies führt aber ggf. zu Problemen. Ebenso möglich ist die Option ''-novideo'' .




{{Stub}}
{{Stub}}
[[Kategorie:Multimedia]]

Aktuelle Version vom 9. Mai 2018, 14:53 Uhr

Gelegentlich wünscht man sich, eine Audiospur aus einem Video zu extrahieren. Dies ist eine kleine Anleitung dies mit MPlayer zu tun.

Mittels -dumpaudio (verlustfrei)[Bearbeiten]

Mittels der Option -dumpaudio kann man mplayer dazu bewegen, einen Audio Channel raw in ein File zu dumpen.

Vorteile / Nachteile[Bearbeiten]

Der Vorteil liegt darin, dass nicht de- und neu encodiert wird. Dadurch gibt es keinen Qualitätsverlust bei verlustbehafteten Codecs. Der Nachteil ist, dass der Audio Player, mit dem das File später wieder abgespielt werden soll, diesen Codec unterstützen muss, dies ist nicht zwangsläufig der Fall. Bei Videos im OGG Format bestehen jedoch gute Chancen, ein sinvolles Ergebnis zu bekommen (Da meist Vorbis oder FLAC Audiospur) und bei Videos die als MPEG abgelegt sind (Der Audio Channel ist ein valider MP2/3 Stream).

Die Option -dumpfile kann genutzt werden, um anzugeben, wie das neue File heißen soll.

Beispiel[Bearbeiten]

$ mplayer -dumpaudio -dumpfile myaudio.ogg myvideo.ogg
$ mplayer -dumpaudio -dumpfile myaudio.mp3 myvideo.mpg

Mittels -ao pcm (meist verlustbehaftet)[Bearbeiten]

Die option -ao dient dazu, den Audio Output Treiber auszuwaehlen. Normalerweise sollte das auf oss, alsa oder esd stehen. Es gibt aber auch einen Output Treiber pcm, der dazu dient, PCM (Wave) Files zu schreiben. Er kann dies sowohl mit als auch ohne PCM Header. Hier soll dieses Output genutzt werden, um einem Audio Encoder zuzufueren. In unserem Falle oggenc dem Standard OGG Vorbis Encoder. Es kann aber auf ähnliche Weise auch flac (FLAC Encoder) oder ähnliche genutzt werden.

Vorteile / Nachteile[Bearbeiten]

Der Vorteil ist, dass hier der Codec, in dem der Audio Channel im Video vorliegt, egal ist, da wir ja die Daten neu encoden. Der Nachteil ist, dass bei Verwendung eines verlustbehafteten Audio Codecs die Qualität abnimmt. Aus diesem Grunde ist die obige Vorgehensweise stark empfohlen.

Beispiel[Bearbeiten]

Fall 1: Das Video wird komplett decodiert und MPlayer schreibt die Datei audiodump.wav mit unseren Audiodaten. Diese Datei wird im zweiten Schritt neu encodet und im dritten Schritt gelöscht, da wir sie nicht mehr brauchen.

$ mplayer -ao pcm -vo null myvideo.ogg
$ oggenc audiodump.wav -o myaudio.ogg
$ rm audiodump.wav

Dieses Verfahren braucht allerdings recht viel Platz auf dem Datenträger, da die Audiodaten komplett unkomprimiert zwischengelagert werden.

Fall 2: Hier wird ein FIFO eingesetzt, um sich die temporäre Datei zu sparen.

$ mkfifo audiodump.wav
$ mplayer -ao pcm -vo null myvideo.ogg
$ oggenc audiodump.wav -o myaudio.ogg
$ rm audiodump.wav

Hinweis: Es kann zu deutlichem Geschwindigkeitszuwachs kommen, wenn MPlayer die option -vc dummy zusätzlich mit übergeben wird. Diese schaltet das Dekodieren der Videodaten ab. Dies führt aber ggf. zu Problemen. Ebenso möglich ist die Option -novideo .


UUGRN-Wiki verbessern („Stub”)

Dieser Artikel ist leider sehr kurz. Also: Sei mutig und mache aus ihm bitte einen guten Artikel, wenn du mehr zum Thema „Audio aus Video extrahieren mit MPlayer” weißt.