1 votes

Encoder la partie de la vidéo avec des sous-titres en utilisant FFmpeg

Encoder une partie d'un fichier et en même temps ajouter les sous-titres pour cette partie. J'utilise:

ffmpeg -ss 00:02:00 -t 00:00:30 -i "chemin/vers/entrée" -c:v libvpx -crf 5 -b:v 3M -c:a libvorbis -vf "ass=chemin/ass" "sortie.webm"

il montre qu'il charge les sous-titres mais dans la sortie ils n'existent pas (sous-titre: 0 ko). Autant que je puisse dire, la partie des sous-titres ne fonctionne pas avec -ss ? (Ou elle ignore -ss et essaie d'ajouter tous les sous-titres commençant à 00:00:00 du .ass sur 00:02:00 du flux vidéo).

Le seul moyen que j'ai pu le faire était de réencoder tout le fichier et ensuite utiliser:

ffmpeg -ss 00:02:00 -i "sortie.webm" -t 00:00:30 -c:v copy -c:a copy "nouvelle_sortie.webm"

pour obtenir ce que je voulais. Est-ce que je manque quelque chose ou est-il juste impossible de faire ce que je veux en une seule fois?

J'espère que ce que j'ai écrit a un sens et merci.


Sortie #0, webm, vers 'cible/test.webm':
  Metadata:
    encoder         : Lavf55.37.101
    Flux #0:0: Vidéo: vp8 (libvpx), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 1k tbn, 23.81 tbc (par défaut) (forcé)
    Flux #0:1: Audio: vorbis (libvorbis), 44100 Hz, stéréo, fltp (par défaut) (forcé)
Mapping des flux:
  Flux #0:0 -> #0:0 (h264 -> libvpx)
  Flux #0:1 -> #0:1 (aac -> libvorbis)
Appuyez sur [q] pour arrêter, [?] pour de l'aide
frame=  953 fps= 22 q=0.0 taille=    6990ko temps=00:00:40.02 débit=1430.6kbits/s dup=0 largage=5
vidéo:6499ko audio:464ko sous-titres:0ko autres flux:0ko en-têtes globales:4ko surcharge de muxage: 0.376779%

1voto

slhck Points 209720

Si vous mettez -ss après -i, ffmpeg va d'abord encoder l'intégralité du fichier jusqu'au point que vous avez spécifié, puis écrire dans la sortie.

Cela signifie que les sous-titres commenceront au bon moment.

De plus, vous devriez envisager de mettre -t après -i car il est utilisé comme option de sortie ici, ce qui signifie, sortie de seulement 30 secondes.

ffmpeg -i "chemin/vers/entrée" -ss 00:02:00 -t 30 -c:v libvpx -crf 5 -b:v 3M -c:a libvorbis -vf "ass=chemin/ass" "sortie.webm"

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