J'ai un gros fichier MP4. Je tente de le scinder en fichiers plus petits.
ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4
Je pensais que l'utilisation de -sameq conserverait les mêmes paramètres de qualité. Cependant, je ne dois pas comprendre ce que cela fait.
Je cherche à conserver la même qualité (audio/vidéo) et la compression avec les fichiers divisés. Toutefois, ce paramètre rend les fichiers divisés beaucoup plus volumineux.
Quel indicateur dois-je définir pour conserver la même qualité et les mêmes attributs dans les fichiers fractionnés tout en maintenant le même rapport qualité/taille?
Par exemple, si mon fichier original mesure environ 12 Go et une résolution de 1920x1080 avec un débit de 10617kbps et un débit en trame de 23 images/seconde et un son à 6 canaux avec 317kbps, j'aimerais que les fichiers scindés soient identiques à un tiers de cette taille ( si je le divise en trois morceaux).
Si vous souhaitez simplement scinder la vidéo sans la réécoder, utilisez le codec copy
pour l'audio et la vidéo. Essaye ça:
ffmpeg -ss 00:00:00 -t 00:50:00 -i largefile.mp4 -acodec copy \
-vcodec copy smallfile.mp4
Notez que cela ne crée que la première division. La suivante peut être effectuée avec une commande commençant par ffmpeg -ss 00:50:00
.
Cela peut être fait avec une seule commande:
ffmpeg -i largefile.mp4 -t 00:50:00 -c copy smallfile1.mp4 -ss 00:50:00 -c copy smallfile2.mp4
Cela créera smallfile1.mp4, se terminant au bout de 50 minutes dans la vidéo de largefile.mp4, et smallfile2.mp4, commençant à 50 minutes et se terminant à la fin du fichier largefile.mp4.
Une manière alternative de le faire est la suivante:
// create a 2-min clip
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4
/**
* -i input file
* -ss start time in seconds or in hh:mm:ss
* -to end time in seconds or in hh:mm:ss
* -c codec to use
*/
La qualité du fichier reste la même car nous utilisons -c copy
pour copier les flux audio + vidéo originaux vers la sortie.
Référence, liste des commandes FFmpeg couramment utilisées: DigitalFortress