VLC gèle pour une vidéo basse de 1 FPS créée à partir d'images avec ffmpeg

je crée une courte vidéo à partir d'une séquence de 100 images en utilisant ffmpeg. Il y a plusieurs articles qui m'ont aidé à mettre en place une commande, mais celui que j'utilise est directement tiré de ffmpeg images-to-video script anyone? .

la commande suivante produit un fichier vidéo qui se lit bien dans tous les lecteurs vidéo que j'ai (OS X).

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

mais si je le change en,

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

It joue bien dans tous les mais VLC media player. VLC affiche les images initiales de 1 à 3, puis se fige sur le cadre. J'ai testé quelques cadences différentes, et il semble que la coupure qui casse la lecture vidéo dans VLC se situe entre 1.125 et 1.175.

N'importe quel conseil sur ce que je traite ici serait très apprécié.

8

2 réponses

utiliser à la fois -framerate et -r

par exemple, pour avoir une vidéo finale qui ressemble à 1FPS:

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

ceci est mentionné sur le wiki à: http://trac.ffmpeg.org/wiki/Slideshow#Framerates

définit le framerate de sortie à 30 , que VLC peut gérer, et copie chaque image 30 fois, de sorte que la vidéo de sortie semble être à 1 FPS.

VLC est alors capable de lire la vidéo normalement.

Voir aussi: https://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps

testé sur Ubuntu 16.10, VLC 2.2.4, ffmpeg 3.0.5, dans un répertoire de 10 PNGs.

2

c'est un bug connu de longue date dans VLC: https://trac.videolan.org/vlc/ticket/3625 ( https://trac.videolan.org/vlc/ticket/214 )

il a été rapporté par de nombreux utilisateurs avec divers seuils, mais de ce que j'ai trouvé et expérimenté moi-même, le seuil est quelque part autour d'un couple de FPS .

actuellement je regarde tristement la première image gelée d'une vidéo de 2 FPS qui ne jouer dans la version actuelle de VLC (2.2.4) Je me souviens qu'il travaillait sur un 1.1.version x (même si le bogue a été signalé beaucoup plus tôt) mais après mise à jour à 2.x il a cessé de fonctionner pour moi.

moi et mon collègue avons en fait comparé le comportement avec les mêmes fichiers vidéo (2 FPS) il y a quelque temps et alors que je pouvais les jouer tous sans problèmes avec 1.1.x (je pense que c'était 1.1.1 mais je ne suis plus sûr à 100%), il ne pouvait pas jouer l'un d'eux avec 2.x. Après il déclassé VLC à 1.1.x, il pourrait les jouer aussi.

donc peut-être que le déclassement est la voie à suivre, si vous êtes désespéré d'utiliser VLC et ne manquera rien de 2.x. Sinon, je vous dirais de vous épargner les heures douloureuses de jouer avec les paramètres VLC et d'utiliser simplement un lecteur différent.

mise à Jour: Cela semble maintenant être corrigé dans VLC 3.0.4 (voir https://trac.videolan.org/vlc/ticket/214 ) Je n'ai pas tester moi-même.

2
répondu Jiri Valenta 2018-09-11 11:41:30