Wie kann man mit ffmpeg ogg-Audiodateien kodieren?

8432
xpt

Ich möchte stattdessen den folgenden einfachen oggencBefehl konvertieren ffmpeg:

oggenc -b 8 input.wav -o out.ogg 

Aus dem ffmpeg libvorbis-Wrapper doc heißt es:

Die folgenden Optionen werden vom libvorbis-Wrapper unterstützt. Das oggen-Äquivalent der Optionen ist in Klammern angegeben.

 b (-b) 

Legen Sie die Bitrate in Bits / s für ABR fest. oggenc -b wird in Kilobits / s ausgedrückt.

Aber ich weiß einfach nicht, wie ich es anwenden soll ffmpeg, ich habe es versucht,

ffmpeg -i input.aac -c:a libvorbis -b 8 out.ogg ffmpeg -i input.aac -c:a libvorbis b 8 out.ogg ffmpeg -i input.aac -c:a libvorbis=b:8 out.ogg 

aber keiner funktioniert wie erwartet.

UPDATE: Ich möchte wissen, wie die in ffmpeg (libvorbis wrapper) doc aufgelisteten Optionen in den Befehl ffmpeg "übersetzt" werden. Ich kann mit -abswitch die Transkodierung ausführen, aber ich glaube nicht, dass dies die für den libvorbis-Wrapper spezifischen Optionen ist. Wenn Sie die Antwort geben, geben Sie bitte die Demo an, in der Sie auch die folgenden Optionen angeben.

b (-b)  q (-q)  minrate (-m)  maxrate (-M)  iblock 
0
Wenn Sie eine so niedrige Bitrate wünschen, verwenden Sie ein besser geeignetes Format wie Opus. LordNeckbeard vor 7 Jahren 0
@LordNeckbeard, wird Opus auch unter älteren Windows-Versionen weithin unterstützt? xpt vor 7 Jahren 0
Ich benutze Windows nicht oft, und ich weiß nicht, auf welche Windows-Version (en) Sie sich beziehen, aber ich würde annehmen, dass die Antwort "Nein" für die native Unterstützung von Opus ** und ** Vorbis ist, sofern Sie dies nicht tun Verwenden Sie VLC oder einen anderen gesunden Spieler. LordNeckbeard vor 7 Jahren 0

2 Antworten auf die Frage

3
LordNeckbeard

Die Antwort ist in Ihrer Frage:

oggenc option corresponding ffmpeg option -b -b:a -q -q:a -m -minrate -M -maxrate 

Beispielbefehl

ffmpeg -i input.aac -c:a libvorbis -b:a 8k output.oga 

Wenn der gewünschte Wert für " 8kFail" (Ausfallen) verwendet wird, verwenden Sie eine höhere Bitrate oder verringern Sie Ihre Audio-Abtastrate mit -ar, z -ar 8000.

Encoder und Muxer Info

Sie können zusätzliche Informationen und die einzelne private Option, die für diesen Encoder spezifisch ist, mit anzeigen:

ffmpeg -h encoder=libvorbis 

Sie können auch Informationen über das Muxer / Output-Containerformat erhalten:

ffmpeg -h muxer=ogg 
Vielen Dank. Es wäre großartig, wenn ein vollständiges Beispiel für eine Befehlszeile bereitgestellt wird. Und BTW, die Antwort ist nicht in meiner Frage, da ich nicht weiß, wie Sie wissen, dass "minrate (-m)" nur "-minrate" ist und nicht "-minrate: a", während "b (-b)" irgendwie ist wird magisch zu "-b: a". Weder `ffmpeg -h encoder = libvorbis` noch` ffmpeg -h muxer = ogg` oder das Online-Dokument liefern diese Informationen. xpt vor 7 Jahren 0
Die Dokumentation wurde wahrscheinlich geschrieben, bevor einige Optionen die Möglichkeit hatten, Stream-Spezifizierer zu verwenden. Wenn Sie nur -b verwenden, werden Sie von `ffmpeg` aufgefordert, stattdessen -b: a zu verwenden. LordNeckbeard vor 7 Jahren 0
1
bot1131357

Das funktioniert für mich:

ffmpeg -i test.aac -c:a libvorbis -b:a 64k test.ogg

Ich glaube nicht, dass 8kb / s ein gültiger Wert sind, aber ich könnte mich irren. :-)

8kb / s ist ein gültiger Wert für vorbis / oggenc. Deshalb benutze ich es, und Ihre Antwort ist nicht. Willkommen im Ausland, übrigens. xpt vor 7 Jahren 0
Fügen Sie in Ihrem Beispiel "-c: a libvorbis" hinzu. Andernfalls kann stattdessen der flac-Encoder ausgewählt werden (wenn Sie ".oga" wählen, das normalerweise nur für Audio gilt). LordNeckbeard vor 7 Jahren 0
Es tut mir leid, dass mir nicht klar war, was ich wissen möchte. OP aktualisiert xpt vor 7 Jahren 0