1 votes

Est-ce que ffmpeg peut graver des sous-titres et extraire des images en même temps ?

Utilisation de ffmpeg Je voudrais enregistrer des images avec des sous-titres sans passer par l'étape intermédiaire de la gravure des sous-titres. Est-ce possible ?

Ce que je fais maintenant, c'est :

# first, burn the subtitles:
ffmpeg -i nosub.mp4 -vf subtitles=sub.srt withsub.mp4
# then extract frames
ffmpeg -i withsub.mp4 -vf fps=4 extracted/%05d.bmp -hide_banner

1voto

slhck Points 209720

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X