Aktualisieren Sie die aktuelle Version von ffmpeg.
ffmpeg hängt beim Erstellen eines Videos
Ich versuche einen Audiokanal mit einem Video einzufügen:
Zunächst extrahiere ich das Audio aus dem Originalvideo zur Verarbeitung:
ffmpeg -i lotr.mp4 lotr.wav
Ich extrahiere dann alle Frames für die spätere Verarbeitung:
ffmpeg -i lotr.mp4 -f image2 %d.jpg
Wenn ich mit der Verarbeitung von Audio- und Videoströmen fertig bin, versuche ich, das Video zu erstellen
ffmpeg -f image2 -r 15 -i %d.jpg new.mp4
dann mit dem Audio zusammenführen:
ffmpeg -i new.mp4 -i lotr.wav -map 0:0 -map 1:0 new_w_audio.mp4
Ergebnis: CPU-Aktivität = 100%, der Prozess hängt und kehrt nie zurück. PS : Ich habe es sogar ausprobiert, ohne die Bilder oder das Audio zu verändern (also nur das Auspacken und dann das Packen des Videos), aber immer noch die gleiche Ausgabe
FFmpeg version SVN-r26400, Copyright (c) 2000-2011 the FFmpeg developers built on Jan 18 2011 04:07:05 with gcc 4.4.2 configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libvorb is --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect - -enable-libxvid --enable-libx264 --enable-librtmp --extra-libs='-lrtmp -lpolarss l -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --enable-w32threads -- cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack libavutil 50.36. 0 / 50.36. 0 libavcore 0.16. 1 / 0.16. 1 libavcodec 52.108. 0 / 52.108. 0 libavformat 52.93. 0 / 52.93. 0 libavdevice 52. 2. 3 / 52. 2. 3 libavfilter 1.74. 0 / 1.74. 0 libswscale 0.12. 0 / 0.12. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'new.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 creation_time : 1970-01-01 00:00:00 encoder : Lavf52.93.0 Duration: 00:00:29.66, start: 0.000000, bitrate: 193 kb/s Stream #0.0(und): Video: mpeg4, yuv420p, 200x134 [PAR 1:1 DAR 100:67], 192 k b/s, 15 fps, 15 tbr, 15 tbn, 15 tbc Metadata: creation_time : 1970-01-01 00:00:00 [wav @ 01fed010] max_analyze_duration reached Input #1, wav, from 'lotr.wav': Duration: 00:00:29.90, bitrate: 176 kb/s Stream #1.0: Audio: pcm_s16le, 11025 Hz, 1 channels, s16, 176 kb/s File 'new_w_audio.mp4' already exists. Overwrite ? [y/N] y [buffer @ 01b03820] w:200 h:134 pixfmt:yuv420p Output #0, mp4, to 'new_w_audio.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 creation_time : 1970-01-01 00:00:00 encoder : Lavf52.93.0 Stream #0.0(und): Video: mpeg4, yuv420p, 200x134 [PAR 1:1 DAR 100:67], q=2-3 1, 200 kb/s, 15 tbn, 15 tbc Metadata: creation_time : 1970-01-01 00:00:00 Stream #0.1: Audio: aac, 11025 Hz, 1 channels, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #1.0 -> #0.1 Press [q] to stop encoding
2 Antworten auf die Frage
Könnte mehrere Dinge sein. Ein generelles Hängen bei der Videobearbeitung tritt häufig bei unkomprimierten Videocodecs auf. Nicht sicher, ob ich dort gelesen habe, dass das Originalvideo im yuv420p-Codec vorliegt. Möglicherweise hängt es beim Versuch, mit viel Speicherplatz umzugehen, oder beim direkten Komprimieren der Bilder in mp4. Eine Sache, die ich mir vorstellen kann, ist das Konvertieren zuerst in avi, dh Ausgabe in ein avi, aber erzwingen eines verlustfreien Codecs wie camtasia / camstudio (ich denke, ffmpeg unterstützt es), so dass es nicht so "schwer" ist und dann eine zweite Operation ausführt in mp4 konvertieren. Andere Sache ist ... -r15? Sie wissen sicherlich besser, welche FPS das Originalvideo enthält, aber es waren 24 FPS oder so, oder?
Außerdem ... Sie können auch den Ausgabecodec erzwingen, nicht nur das Format. MP4 funktioniert ziemlich gut mit dem .h264-Codec, der sehr viel Qualität und eine unglaubliche Größe bietet. Wenn ich mich gut erinnere, unterstützt ffmpeg es auch. (Vielleicht möchten Sie dies zuerst versuchen ...)
Bearbeiten: Remember -codecs zeigt die Liste der Codecs in der Befehlszeile an. Natürlich können Sie zum Beispiel in der Win-Konsole ffmpeg -codecs> codecs.txt zum einfacheren Lesen, Suchen usw. verwenden. Gesund auch mit -formaten usw.
Verwandte Probleme
-
6
Wie kann ich Rauschen aus einer Audioaufnahme entfernen?
-
3
Windows Media Center (Vista): Add-On oder Software zum Schneiden von TV-Aufnahmen?
-
1
Wie kann man in Winamp eine Ansicht erstellen, in der jeder Künstler, der nur einen Song hat, ausges...
-
3
Videobearbeitung mit ATI-Karten
-
1
VirtualDub für Linux
-
2
Wie viel Datenträgerverbrauch verwenden RAW-Videos?
-
1
Java Apps im Browser blinken / reißen beim Scrollen - warum?
-
3
Wiedergabe von Video-Rips mit Windows Media Center
-
6
Windows beim Herunterfahren automatisch stummschalten
-
2
Lohnt sich die Verwendung von S / PDIF?