Il suffit de combiner les filtres avec un ,
:
ffmpeg -hide_banner -i nosub.mp4 -vf subtitles=sub.srt,fps=4 extracted/%05d.bmp
L'avantage est qu'il n'y aura pas de ré-encodage de la vidéo, donc vous ne perdrez pas en qualité.
El -hide_banner
devrait venir en premier, puisqu'il s'agit d'une option globale.
Si vous voulez produire les deux en même temps, vous devez utiliser une fonction filter_complex
y split
le flux vidéo hard-subbed en deux, d'appliquer les fps
à la sortie pour les bitmaps, et laisser l'autre flux vidéo inchangé. Via -map
vous pouvez dire à ffmpeg ce qu'il doit sortir.
ffmpeg -i nosub.mp4 -filter_complex "
[0:v]subtitles=sub.srt[sub];
[sub]split=2[sub1][sub2];
[sub1]fps=4[out1]
" \
-map "[out1]" extracted/%05d.bmp \
-map "[sub2]" -c:v libx264 -crf 23 withsub.mp4
J'ai défini quelques options vidéo que vous pouvez modifier si vous souhaitez ajuster la qualité/taille de la vidéo de sortie.