Encoder avec ffmpeg en utilisant avi en mp4

27

Quelles lignes de commande utiliser pour convertir d'avi en mp4, mais sans détruire la taille du cadre et rendre le fichier aussi petit que la taille d'origine ou un peu plus gros, et la même chose avec mp4 en avi? Chaque fois que j'essayais de convertir, c'était comme 2 Go

vallée
la source

Réponses:

33

Selon la façon dont votre fichier d'origine a été codé, il peut ne pas être possible de conserver la taille du fichier.

ffmpeg -i infile.avi youroutput.mp4

devrait garder les tailles et les taux de trame intacts lors de la création d'un fichier mp4.

ffmpeg -i infile.avi

vous donnera des informations sur votre fichier d'entrée - la taille de la trame, les codecs utilisés, le débit binaire, etc.

Vous pouvez également jouer avec les options acodecet vcodeclorsque vous générez votre sortie. N'oubliez pas que les fichiers mp4 et avi peuvent utiliser différents codecs et que votre kilométrage peut varier en fonction du codec que vous choisissez.

rbanffy
la source
6
Je pense qu'il est préférable d'utiliser ffprobe -i infile.aviau lieu de ffmpeg -i infile.avipour obtenir des informations, car ce dernier entraîne l'erreur "Au moins un fichier de sortie doit être spécifié".
Francesco Turco
Merci, Francesco. Votre approche est plus élégante que la mienne ;-)
rbanffy
6

J'étais très intéressé par la conversion de fichiers avi en mp4. En lisant votre message, je me suis souvenu de cette commande ffmpeg:

ffmpeg -i input.avi -strict -2 output.mp4

La commande -strict -2est rendue nécessaire par le codec AAC qui est expérimental, mais fonctionne (libaac), si vous ajoutez ces deux paramètres. Le fichier de sortie est de haute qualité par défaut.

Robis54
la source
2

Autant que je sache, il est nécessaire de remplacer avi-container par mp4 one (officiellement - format de fichier multimédia de base ISO ISO / IEC 14496-12).

si vous exécutez la commande suivante:

ffmpeg -i input.avi -y output.mp4

Dans ce cas, ffmpeg réencode les flux élémentaires dans input.avi (les conteneurs cahnge et re-encode sont le mode par défaut de ffmpeg ). Il convient de noter que le réencodage peut détériorer la qualité visuelle et / ou auditive.

Par conséquent, il est recommandé de désactiver le ré-encodage par les options du codec " c: v copy c: a copy ":

ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4

Dans le cas ci-dessus, ffmpeg change simplement les coquilles (conteneurs)

Shevach Riabtsev
la source
0

J'ai trouvé celui-ci :: Libav sous Linux.

Installation: exécuter la commande

sudo apt-get install libav-tools

Commande de conversion vidéo:

Accédez au dossier contenant la vidéo et exécutez dans le terminal

avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
Vishal
la source