Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| avconv [Le 02/03/2014, 23:37] – [Conversion vidéo en mpeg4] 82.250.78.83 | avconv [Le 13/06/2019, 21:43] (Version actuelle) – Suppression via FFM 193.250.138.66 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | ||
| - | ---- | ||
| - | ====== Avconv ====== | ||
| - | **Avconv**, qui s' | ||
| - | Sachez qu'il existe [[:winFF]] qui permet d' | ||
| - | Vous pouvez également vous reportez à la page **[[: | ||
| - | |||
| - | < | ||
| - | |||
| - | ===== Installation ===== | ||
| - | Pour installer avconv taper cette ligne de commande dans une console shell : | ||
| - | < | ||
| - | sudo apt-get install libav-tools | ||
| - | </ | ||
| - | |||
| - | ===== Connaître avconv ===== | ||
| - | |||
| - | Ces instructions n'ont rien à voir avec l' | ||
| - | |||
| - | ==== Connaître les conteneurs installés ==== | ||
| - | |||
| - | Il est important de savoir ce que avconv est capable de lire et d' | ||
| - | Depuis un [[: | ||
| - | < | ||
| - | Vous devriez avoir une longue liste de formats (conteneurs) que reconnait avconv.\\ | ||
| - | Cette liste est organisée de manière simple la première colonne indique si vous pourrez lire (D) ou écrire (E) le format en question indiqué en deuxième colonne.\\ | ||
| - | Par exemple | ||
| - | < | ||
| - | Veut simplement dire que vous pourrez à la fois lire et écrire les fichiers .mkv avec avconv | ||
| - | |||
| - | ==== Connaître les codecs installés ==== | ||
| - | |||
| - | Comme pour les [[# | ||
| - | < | ||
| - | |||
| - | Vous aurez une liste avec là aussi les fameux **D** et **E**. Mais aussi des **V**, **A** ou **S** qui vous permettent de savoir si un codec concerne la vidéo, le son ou les sous-titres. | ||
| - | |||
| - | < | ||
| - | Ce sont des codecs externes pour avconv. | ||
| - | |||
| - | Vous trouverez par exemple vorbis et libvorbis. Le codec est le même, il s'agit juste de deux encodeurs différents.\\ | ||
| - | Si la qualité est importante pour vous, préférez les **lib**< | ||
| - | |||
| - | Par exemple préférez libvorbis à vorbis, libfaac à aac, car la qualité s'en ressentira...</ | ||
| - | |||
| - | ==== Obtenir les caractéristiques d'une vidéo ==== | ||
| - | |||
| - | Pour obtenir les caractéristiques d'une vidéo il suffit d’exécuter cette commande : | ||
| - | < | ||
| - | avconv -i maVidéo.mp4 | ||
| - | </ | ||
| - | |||
| - | ===== Utilisation ==== | ||
| - | Avconv étant basé sur [[:FFmpeg]] ses options en sont très proches voire identiques. Pour plus d' | ||
| - | |||
| - | ==== Conversion vidéo en mpeg4 ==== | ||
| - | Le but premier de cet exemple est d' | ||
| - | Il s'agit ici de convertir un fichier MPEG-4 (issu d'un Samsung Galaxy S2) dont la vidéo est au format mp4 et le son en aac. | ||
| - | Mais cet exemple convient au ré-encodage d'une vidéo dans un autre format audio, vidéo, conteneur.\\ | ||
| - | Dans cet exemple, il sera fait deux passes dont le principe est expliqué **[[ffmpeg# | ||
| - | * 1ère passe:< | ||
| - | avconv -i vidéoEnEntrée.mp4 -threads 8 -s 1920x1080 -vcodec mpeg4 -acodec libvo_aacenc -b 20000k -pass 1 -r 30 -y -vf " | ||
| - | </ | ||
| - | * 2ème passe:< | ||
| - | avconv -i vidéoEnEntrée.mp4 -threads 8 -s 1920x1080 -vcodec mpeg4 -acodec libvo_aacenc -b 20000k -pass 2 -r 30 -y -vf " | ||
| - | </ | ||
| - | Avec comme paramètres : | ||
| - | |||
| - | * //-i vidéoEnEntrée.mp4// | ||
| - | * tous les paramètres après "-i vidéoEnEntrée.mp4" | ||
| - | * //-threads 8// : accélère le traitement en multipliant les threads. 8 est un bon paramètre pour un quadri-coeur multithread (4 coeurs * 2 threads = 8). | ||
| - | <note help> | ||
| - | * //-s 1920x1080// : la taille de la vidéo (< | ||
| - | <note help>Si c'est pour convertir une vidéo pour qu' | ||
| - | * //-vcodec mpeg4// : le codec vidéo. Pour recopier la vidéo : -c:v copy Vous pouvez utiliser le codec libre //libx264// mais il faut l' | ||
| - | <note help>Si le fichier de sortie est en extention .mp4 il n'est pas nécessaire de spécifier ce paramètre.</ | ||
| - | * //-acodec libvo_aacenc// | ||
| - | < | ||
| - | * //-b 20000k// le bit rate => maintien à peu près la taille initiale de la vidéo de sortie pour de la HD (sinon entre 1500 kb et 20000kb) | ||
| - | <note help>On pourrait parler pendant des heures du bitrate, mais ce paramètre peut être omis si on s' | ||
| - | * //-pass 1// la première passe qui va créer un fichier de log (il faudra donc un -pass 2). La réalisation en deux pass améliore la qualité de l' | ||
| - | <note tip>La première passe permet de stocker dans la log (locale au répertoire) les infos du bitrate effectif selon les scènes de la vidéo source. Lors de la deuxième passe, les scènes lentes seront traitées avec un faible bitrate (qualité inférieure) et les scènes d' | ||
| - | * //-r 30// : le frame rate ( fps ou nombre d' | ||
| - | * //-y// : écrase les fichiers de sortie sans confirmation | ||
| - | |||
| - | __Remarques__ \\ | ||
| - | Par défaut le format du container est défini par l' | ||
| - | La modification de la résolution peux entrainer un décalage entre l' | ||
| - | Pour encoder une vidéo mp4 en haute qualité mettre les paramètres suivants: | ||
| - | < | ||
| - | < | ||
| - | D' | ||
| - | < | ||
| - | -bf 2’, ’-flags qprd’, ’-flags mv0’, ’-flags skiprd | ||
| - | </ | ||
| - | |||
| - | FIXME définir les différents paramètres | ||
| - | |||
| - | |||
| - | === Rotation d'une vidéo === | ||
| - | |||
| - | * rotation à 180°(flip) | ||
| - | * rotation -90° : | ||
| - | * rotation 90° : -vf " | ||
| - | |||
| - | === Mon script et mes paramètres complets === | ||
| - | Pour une conversion de vidéos .WMV (Windows Live Movie Maker), voire .AVI (depuis Fraps), j'ai testé plusieurs paramètres en respectant les suggestions de [[http:// | ||
| - | Objectif : avoir des vidéos MP4 au format de ma tablette Xoom sous Android an 1080x720, de la meilleure qualité possible malgré la conversion et sans augmenter la taille par rapport au .wmv. | ||
| - | |||
| - | * en 2 passes (pour les raisons expliquées plus haut) | ||
| - | * sans tenir compte de la bande son dans la première passe : **-an** | ||
| - | * en imposant la meilleure qualité, donc en laissant avconv trouver le meilleur bitrate : **-qscale 1** | ||
| - | * la première passe envoie le fichier de sortie dans les limbes, et se concentre sur la création des infos dans la log : **-f rawvideo /dev/null** | ||
| - | * en respectant les recommandations pour mp4 : **-mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300** | ||
| - | * pour la résolution compatible Xoom, et parce que j' | ||
| - | * le script tourne localement à un répertoire, | ||
| - | * au final, qualité quasiment respectée, taille du mp4 légèrement // | ||
| - | < | ||
| - | do | ||
| - | | ||
| - | | ||
| - | | ||
| - | Vous noterez que la deuxième passe a lieu dans la foulée de la première dans le script, ce qui garantit que la log n'est pas perturbée par une succession de premières passes de fichiers différents. | ||
| - | Par ailleurs, la deuxième passe reprend quasiment les mêmes paramètres que la première, mais en omettant celui qui coupait la bande son. Je n'ai pas spécifié de codec son en sortie, mais ça marche bien. | ||
| - | |||
| - | ==== Conversion audio (de flac vers mp3) ==== | ||
| - | |||
| - | < | ||
| - | avconv -i maChanson.flac -threads 8 -c:a libmp3lame | ||
| - | </ | ||
| - | |||
| - | Avec comme paramètres :\\ | ||
| - | * //-threads 8// : accélère le traitement en multipliant les threads. 8 est un bon paramètre pour un quadri-coeur multithread (4 coeurs * 2 threads = 8).\\ | ||
| - | * //-ab 320k// | ||
| - | * //-y// : écrase les fichiers de sortie sans confirmation\\ | ||
| - | |||
| - | Le format mp3 est protégé. Pour pouvoir l' | ||
| - | |||
| - | ==== Voir aussi ==== | ||
| - | * [[: | ||
| - | * [[https:// | ||
| - | |||
| - | ---- | ||
| - | // | ||
