J'ai une longue vidéo avec différentes scènes. Je souhaite extraire et concaténer 2 scènes de la vidéo (qui ne démarrent pas sur une image I) à l'aide de ffmpeg 2.1.4.
Pour l'argument, disons que je veux 5 secondes de 01h00 et 02h00.
Je peux le faire:
ffmpeg -ss 01:00 -i in.mkv -ss 02:00 -i in.mkv -filter_complex "
[0:v]select='lt(t,5)'[v0];
[0:a]aselect='lt(t,5)'[a0];
[v0][a0][1:v][1:a]concat=n=2:v=1:a=1
" -c:a libvorbis -t 10 out.mkv
Cela me donne le film que je veux, mais select force en fait ffmpeg à décoder tout le reste du film. Alors, comment puis-je lui dire de tronquer le premier film au lieu de le décoder?
Je préférerais le faire avec un filtre complexe ffmpeg, si possible. Je sais que je peux simplement utiliser -t
pour recoder des films séparés en premier, mais l'étape d'encodage supplémentaire est très lente dans mon cas et perd également une bonne quantité de qualité pour cette vidéo.
Je n'arrive pas à trouver un filtre qui tronque la longueur d'une vapeur. Y a-t-il des nœuds de filtre qui correspondent aux paramètres -t
ou -ss
?