J'ai un fichier vidéo de 30 minutes, mais je veux extraire une vidéo de 00:09:23 à 00:25:33.
Je peux définir la position de départ avec -ss
, mais je n’ai pas pu en trouver une pour la position finale. Toute aide s'il vous plaît?
Assurez-vous que téléchargez une version récente de ffmpeg
et n’utilisez pas celle fournie avec votre distribution (par exemple, Ubuntu). Les versions packagées de différentes distributions sont souvent obsolètes et ne se comportent pas comme prévu.
Utilisez ceci pour couper la vidéo de [start]
pour [duration]
:
ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4
Ici, les options ont les significations suivantes:
-ss
spécifie l'heure de début, par exemple. 00:01:23.000
ou 83
(en secondes)-t
spécifie la durée du clip (même format).ffmpeg
récent a également un drapeau pour fournir l'heure de fin avec -to
.-c copy
copie le premier train de bits vidéo, audio et de sous-titre de l'entrée vers le fichier de sortie sans les recoder. Cela n'affectera pas la qualité et rendra la commande exécutée en quelques secondes.Si vous omettez l'option -c copy
, ffmpeg
réencodera automatiquement l'encodage vidéo et audio en sortie en fonction du format que vous avez choisi. Pour une qualité audio et vidéo supérieure, lisez le Guide de codage x264 et le Guide de codage AAC , respectivement.
Par exemple:
ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4
Je pense que vous pouvez utiliser la commande suivante maintenant.
ffmpeg -i inputFile -vcodec copy -acodec copy -ss 00:09:23 -to 00:25:33 outputFile
Regardez aussi ffmpeg Doc , ou cette page wiki .
C'est étrange que personne n'ait suggéré la trim
filter .
Déposez tout sauf la deuxième minute de saisie:
ffmpeg -i INPUT -vf trim=60:120
Ne gardez que la première seconde:
ffmpeg -i INPUT -vf trim=duration=1
Tout laisser tomber sauf du deuxième 13 au deuxième 58:
ffmpeg -i INPUT -vf trim=13:58 OUTPUT
Vous pouvez utiliser ces deux méthodes qui fonctionnent pour Windows et Linux.
Il existe deux manières de diviser des fichiers vidéo par ffmpeg. Le premier est bon en soi, plus que cela - il est plus rapide, mais crée parfois des fichiers de sortie avec certaines failles. Ainsi, dans ces cas, il existe un deuxième moyen de fractionner les fichiers vidéo: il est considérablement plus lent, les fichiers de sortie sont plus volumineux, mais il semble qu’ils soient toujours du même niveau de qualité que les fichiers d’entrée utilisés.
Voie 1:
ffmpeg -ss <start> -i in1.avi -t <duration> -c copy out1.avi
Voie 2:
ffmpeg -ss <start> -i in1.avi -t <duration> out1.avi
<start>
- le début de la partie d'un ffmpeg vidéo est à couper. Format:00:00:00.0000
, signifiant heures: minutes: secondes: millisecondes.
<duration>
- la durée de la partie d'un ffmpeg vidéo est à couper. Même format que ci-dessus.Exemples:
ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 -c copy out1.avi ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 out1.avi
ffmpeg découpe une partie du fichier vidéo à partir de 1 heure 19 minutes 0 secondes. La durée de la séquence vidéo est de 5 minutes 0 secondes.