web-dev-qa-db-fra.com

Encoder avec ffmpeg en utilisant avi en mp4

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

30
dale

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 acodec et vcodec lorsque 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.

38
rbanffy

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 -2 est rendu 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.

7
Robis54

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 recode les flux élémentaires dans input.avi (les conteneurs cahnge et le recodage est 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 de codec " c: v 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)

3
Shevach Riabtsev

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
0
Vishal