ffmpeg: Das Erstellen eines Videos aus einem Bild ergibt nur ein 1-Sekunden-Video

ffmpeg: Das Erstellen eines Videos aus einem Bild ergibt nur ein 1-Sekunden-Video

Ich versuche, mithilfe von ffmpeg aus einem einzelnen 5-Sekunden-Bild auf einem Windows-Rechner eine kurze Videodatei zu erstellen. Die Videodatei soll vor Videodateien eingefügt werden, die mit einer Kamera aufgenommen wurden, die 1920 x 1080 60 fps erzeugt. Im Folgenden wird ein 1-Sekunden-Stream anstelle eines 5-Sekunden-Streams erstellt. Irgendwelche Ideen? Vielen Dank im Voraus.

"c:\program files\ffmpeg\ffmpeg32" -f image2 -i "c:\program files\ffmpeg\imput1.jpg" -loop 1 -vcodec mpeg1video -b:v 104857200 -r 59.94 -s 1920x1080 -aspect 16:9 -t 5 "c:\program files\ffmpeg\banner.MPG"

Hier sind meine Ausgabeergebnisse:

<pre>c:\Program Files\ffmpeg>"c:\program files\ffmpeg\ffmpeg32" -f
image2 -i "input1.jpg" -loop 1 -vcodec mpeg1video -b:v 10 4857200 -r
59.94 -s 1920x1080 -aspect 16:9 -t 5 "c:\program files\ffmpeg\banner. MPG" ffmpeg version N-52045-g694fa00 Copyright (c) 2000-2013 the
FFmpeg developers built on Apr 12 2013 16:54:51 with gcc 4.8.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libr tmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena ble-zlib 
55. 0.100 libavfilter 3. 53.101 / 3. 53.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'c:\program files\ffmpeg\input1.jpg': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0:
Video: mjpeg, yuvj420p, 722x267 [SAR 1:1 DAR 722:267], 25 tbr, 25 tbn,
25 tbc File 'c:\program files\ffmpeg\banner.MPG' already exists.
Overwrite ? [y/N] y VBV buffer size not set, muxing may fail Output
#0, mpeg, to 'c:\program files\ffmpeg\banner.MPG': Metadata: encoder : Lavf55.2.100 Stream #0:0: Video: mpeg1video, yuv420p, 1920x1080 [SAR
1:1 DAR 16:9], q=2-3 1, 104857 kb/s, 90k tbn, 59.94 tbc Stream
mapping: Stream #0:0 -> #0:0 (mjpeg -> mpeg1video) Press [q] to stop,
[?] for help frame= 1 fps=0.0 q=9.8 Lsize= 130kB time=00:00:00.01
bitrate=63812.1kbits /s video:130kB audio:0kB subtitle:0 global
headers:0kB muxing overhead 0.373990%

c:\Program Files\ffmpeg>> libavutil 52. 26.100 / 52. 26.100 libavcodec 55. 2.100 / 55. 2.100
libavformat 55. 2.100 / 55. 2.100 libavdevice 55. 0.100 /
</pre>

Update: Das 5-Sekunden-Video funktioniert mit dem Folgenden, aber die Videos lassen sich nicht mit dem neu erstellten Video verknüpfen. Ich denke, das rechtfertigt wahrscheinlich eine neue Frage.

"c:\program files\ffmpeg\ffmpeg32" -loop 1 -i graphic.jpg -s 1920x1080 -aspect 16:9 -t 5 -c:v libx264 banner.mp4 

Antwort1

Die -loopOption gilt für die nächste Eingabedatei, daher wird sie in Ihrem Fall wahrscheinlich nicht analysiert. Versuchen Sie Folgendes – die anderen Optionen habe ich der Kürze halber weggelassen:

ffmpeg -loop 1 -i input.jpg -t 5 output.mp4

Einige Tipps:

  • Ihre ffmpeg-Version ist bereits etwas veraltet. Versuchen Sie immer,ein neuerer Bauwenn etwas schief geht.

  • -f image2ist überflüssig, da JPG-Bilder mit dem image2Demuxer automatisch analysiert werden.

  • -b:vUm eine wirklich konstante Bitrate zu erreichen, müssen Sie meiner Meinung nach alle drei -minrateauf -maxrateden gleichen Wert einstellen.

  • Heutzutage möchten Sie normalerweise kein MPEG-1-Video (Encoder in ffmpeg) verwenden mpeg1video, insbesondere nicht für HD-Inhalte. Sie erhalten entweder riesige Dateien oder eine wirklich schlechte Qualität bei eingeschränkten Bitraten. Obwohl Sie eine sehr hohe Bitrate angegeben haben (ist das wirklich das, was Sie wollen?), sind Sie möglicherweise besser dran, wenn Sie zumindest MPEG-2-Video oder sogar MPEG-4 Part 12 (AVC, H.264) verwenden. Siehe diex264-Kodierungshandbuchfür einige Optionen.

verwandte Informationen