71 votes

FFMPEG Splitting MP4 avec la même qualité

J'ai un gros fichier MP4. J'essaie de le diviser 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 permettrait de conserver 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 même compression avec les fichiers fractionnés. Cependant, ce paramètre rend les fichiers fractionnés beaucoup plus volumineux.

Quel(s) indicateur(s) 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 d'origine est d'environ 12 Go, qu'il est de 1920x1080, qu'il a un débit de 10617 kbps, une fréquence d'images de 23 images/seconde et un son 6 canaux de 317 kbps, je voudrais que les fichiers divisés soient identiques, mais d'un tiers de cette taille (si je le divise en trois parties).

118voto

fideli Points 14346

Si vous souhaitez simplement diviser la vidéo sans la ré-encoder, utilisez la fonction copy codec pour l'audio et la vidéo. Essayez ceci :

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 faite 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 qui se termine à 50 minutes de la vidéo de largefile.mp4 y smallfile2.mp4 qui commence à 50 minutes et se termine à la fin du film. largefile.mp4 .

13voto

Niket Pathak Points 259

Un site Alternate la manière de le faire :

Créez un clip de 2 minutes, en commençant après 10 minutes :

ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4
  • -i fichier en entrée
  • -ss heure de début en secondes ou en hh:mm:ss
  • -to heure de fin en secondes ou en hh:mm:ss
  • -c codec à utiliser

La qualité du fichier reste la même parce que nous utilisons -c copy pour copier les flux audio + vidéo d'origine sur la sortie.

Référence, liste des commandes FFmpeg couramment utilisées : DigitalFortress

1voto

Hatibovics Points 41

Ce n'est pas mauvais, mais pas 100% correct, il crée un clip de 2 minutes, qui commence après 10 minutes, mais il ne copiera que les meilleurs flux, donc il ne copiera que le meilleur flux vidéo, audio et sous-titres :

ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4

Si vous voulez copier tous les flux, alors ajoutez "-map 0", cela sélectionne l'intégralité du premier fichier d'entrée :

ffmpeg -ss 00:10:00 -to 00:12:00 -i input.mp4 -map 0 -c copy output.mp4

Vous devriez également mettre -ss et -to avant le fichier d'entrée.

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