2013-10-09 9 views
6

Ich erstelle ein kurzes Video aus einer Sequenz von 100 Bildern mit ffmpeg. Es gibt mehrere Artikel, die mir geholfen haben, einen Befehl zusammenzustellen, aber der, den ich verwende, stammt direkt von ffmpeg images-to-video script anyone?.Wiedergabe Probleme in VLC mit niedrigen fps-Video von Bildern mit ffmpeg

Der folgende Befehl erzeugt eine Videodatei, die in allen Video Playern, die ich habe (OS X), gut wiedergegeben wird.

cat input/*.jpg | ffmpeg -f image2pipe -r 10 -vcodec mjpeg -i - out.mp4 

Aber wenn ich es ändern

cat input/*.jpg | ffmpeg -f image2pipe -r 1 -vcodec mjpeg -i - out.mp4 

Es spielt auch in allen aber VLC media player. VLC zeigt die ersten 1 bis 3 Bilder an und friert dann einfach auf dem Rahmen ein. Ich habe ein paar verschiedene Bildraten getestet, und es scheint, dass der Cutoff, der die Videowiedergabe in VLC unterbricht, irgendwo zwischen 1.125 und 1.175 liegt.

Irgendwelche Ratschläge, mit denen ich hier beschäftige, würden sehr geschätzt werden.

+0

Komplette Konsolenausgaben fehlen. Sie könnten eine Ausgabe '-r' mit einem Wert hinzufügen, der von Ihren Spielern unterstützt wird. ffmpeg wird dann die Bilder so duplizieren, dass sie der angeforderten Ausgabebildrate entsprechen. – LordNeckbeard

+0

Ich denke, es ist ein Fehler in vlc ....Ich kann das Problem reproduzieren – dsign

+0

Ich habe das gleiche Problem, wenn Sie ein Video eines Diagramms mit der Zeit ändern. Getestet 0,5 fps und 1 fps mit x264, mpeg4 und gif mit avconf und moviepy (mit Backend ffmpeg). –

Antwort

1

Es ist ein langer bekannter Fehler in VLC: https://trac.videolan.org/vlc/ticket/3625

Es wurde von vielen Benutzern mit verschiedenen Schwellenwerten berichtet, aber von dem, was ich selbst gefunden und erlebt, ist die Schwelle irgendwo um ein paar FPS.

Momentan schaue ich leider gefrorenen ersten Rahmen eines 2 FPS Video, das nicht in der aktuellen Version von VLC (2.2.4) spielen wird Ich erinnere mich an die Arbeit an einigen 1.1.x Version (obwohl der Fehler wurde viel früher gemeldet), aber nach dem Update auf 2.x hörte es für mich auf zu arbeiten.

Ich und mein Kollege haben das Verhalten tatsächlich vor einiger Zeit mit den gleichen Videodateien (2 FPS) verglichen und während ich sie alle ohne Probleme mit 1.1.x spielen konnte (ich denke es war 1.1.1 aber ich Ich bin mir nicht mehr 100% sicher), er konnte keine von ihnen mit 2.x spielen. Nachdem er VLC auf 1.1.x heruntergestuft hatte, konnte er sie auch spielen.

Also vielleicht Downgrade ist der Weg zu gehen, wenn Sie verzweifelt VLC verwenden und nichts von 2.x verpassen werden. Ansonsten würde ich sagen, ersparen Sie sich die schmerzhaften Stunden des Fiedelns mit VLC-Einstellungen und verwenden Sie einfach einen anderen Player.

1

Verwenden beide -framerate und -r

Eg, ein endgültiges Video zu haben, die wie 1FPS aussieht:

ffmpeg -framerate 1 -pattern_type glob -i '*.png' \ 
    -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

Dieses im Wiki auf die Rede ist: http://trac.ffmpeg.org/wiki/Slideshow#Framerates

Es setzt die Ausgabe-Framerate auf 30, die VLC verarbeiten kann, und kopiert jedes Bild 30-mal, so dass das ausgegebene Video scheint bei 1 FPS zu sein.

VLC kann dann das Video normal wiedergeben.

Getestet auf Ubuntu 16.10, VLC 2.2.4, ffmpeg 3.0.5, in einem Verzeichnis mit 10 PNGs.