FFMPEG Konvertierung MXF
Habe ich zu wickeln, ein MPEG2 video-file in einem MXF-container und konvertieren Sie die audio in den Prozess. Ich habe die MXF-wrapping-arbeiten, aber es wird nicht konvertieren des audio-Streams (benötigt werden 16-bit, 48kHz Linear PCM).
Hier ist, was ich versuche:
ffmpeg -i input.mpg -map 0:0 -map 0:1 -vcodec copy -f mpeg2video -acodec pcm_s16le -ar 48000 -ac 2 output.mxf
Ergebnisse:
ffmpeg version 0.10 Copyright (c) 2000-2012 the FFmpeg developers
built on Jan 30 2012 17:49:23 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: *{snipped}*
runtime-cpudetect
libavutil 51. 34.101 /51. 34.101
libavcodec 53. 60.100 /53. 60.100
libavformat 53. 31.100 /53. 31.100
libavdevice 53. 4.100 /53. 4.100
libavfilter 2. 60.100 / 2. 60.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 /52. 0.100
[mpeg @ 0x10201ae00] max_analyze_duration 5000000 reached at 5000000
Input #0, mpeg, from '/Volumes/Extra/test.mpg':
Duration: 00:00:59.97, start: 0.192911, bitrate: 6513 kb/s
Stream #0:0[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 12000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Output #0, mpeg2video, to 'video.mxf':
Metadata:
encoder : Lavf53.31.100
Stream #0:0: Video: mpeg2video, yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 12000 kb/s, 25 fps, 90k tbn, 25 tbc
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 1500 fps= 0 q=-1.0 Lsize= 43949kB time=00:00:59.96 bitrate=6004.6kbits/s
video:43949kB audio:0kB global headers:0kB muxing overhead 0.000000%
Das video spielt fein wie MXF, aber es gibt keinen audio-stream an alle. Jede Hilfe wäre toll.
Das ist Programmierung im Zusammenhang, wie?
InformationsquelleAutor MFB | 2012-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem Befehl, video-codec angegeben wird, wie die Ausgabe-Datei-format. Als ein Ergebnis, das audio entfernt wird, und die Ausgabe-Datei ist
mpeg
, nichtmxf
.Die Umwandlung kann getan werden, mit dem folgenden Befehl:
Die Ausgabe-Datei-format wird erraten werden aus der Datei-Erweiterung. Alternativ, option
-f mxf
verwendet werden kann. AufgrundMXF
- format Einschränkungen, die frame-rate kann angegeben werden müssen-r 25
. Optionen-vcodec
und-acodec
verzichtet werden kann, zu dem gleichen Ergebnis.ffmpeg -i INPUT.mov -vcodec mpeg2video -qscale 1 -qmin 1 -ar 48000 OUTPUT.mxf
können Sie einen video-Qualität mit -qscale:v n (oder der alias -q:v n), wobei n=eine Zahl von 1-31, 1 high-q/größte Dateigröße & 31 low-q/kleinste Dateigröße. Dies ist eine variable bit-rate-Modus. [trac.ffmpeg.org/wiki/Encode/MPEG-4] qmax&qmin sind die 'Qualität' reicht zu Kodieren.qmin 50,qmax 51=low-q.qmin 0 qmax 1=high-q [stackoverflow.com/questions/18563764/...InformationsquelleAutor Dmitry Shkuropatsky
Ich glaube, du bist overspecifying Dinge. Versuchen:
Sollten Sie nicht brauchen
-map
mit einfachen input-und output-Dateien mit nur einem audio-und einem video-stream. In diesen Tagen ffmpeg auch weiß, wie das format mxf-Dateien und kann erraten, zu verwenden, das format auf Grundlage der Erweiterung.Ich vermute, dass Ihr problem war ein Ergebnis angeben
mpeg2video
('raw MPEG-2-video"), ein format, das nicht angezeigt wird, um audio enthalten.ffmpeg -i input.mpg output.mxf
und immer noch kein audio-stream. Irgendwelche anderen Ideen?InformationsquelleAutor blahdiblah