Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
avconv [Le 05/11/2012, 11:14] ratm54 [Connaître les codecs installés] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>audio vidéo encodage montage_vidéo capture_vidéo multimédia}} | ||
- | ---- | ||
- | ====== Avconv ====== | ||
- | **Avconv**, qui s'utilise en ligne de [[:commande_shell|commande]], est un [[wpfr>Fork_(développement_logiciel)|fork]] de [[:FFmpeg]] dont il est encore très proche. | ||
- | Sachez qu'il existe [[:winFF]] qui permet d'utiliser une interface graphique qui fait appel à cet outil.\\ | ||
- | Vous pouvez également vous reportez à la page **[[:lecture et encodage de fichiers vidéos]]** pour découvrir d'autres logiciels du même type ou encore la page **[[FFmpeg]]** qui propose également une liste d'outils qui pourrait être compatible avec avconv. | ||
- | |||
- | <note>Il semble qu'une scission existe entre les développeurs avec l'apparition du fork [[https://libav.org | avconv]]. Actuellement la situation est confuse et demande des éclaircissements: Debian et Ubuntu souhaitant passer de FFmpeg à Avconv [[http://linuxfr.org/news/ffmpeg-1-0#comment-1395196|à priori]]</note> | ||
- | |||
- | ===== Installation ===== | ||
- | FIXME | ||
- | |||
- | ===== Connaître avconv ===== | ||
- | |||
- | Ces instructions n'ont rien à voir avec l'encodage, elles servent à savoir ce que contient avconv ! | ||
- | |||
- | ==== Connaître les conteneurs installés ==== | ||
- | |||
- | Il est important de savoir ce que avconv est capable de lire et d'écrire: si vous ne le savez pas, c'est simple, vous ne pouvez rien faire !\\ | ||
- | Depuis un [[:terminal]], saisissez la [[:commande_shell|commande]] suivante: | ||
- | <code>avconv -formats</code> | ||
- | 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 | ||
- | <code>DE matroska Matroska file format</code> | ||
- | 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 [[#Connaître les conteneurs installés|conteneurs]], vous pouvez avoir la liste des codecs disponibles par la commande: | ||
- | <code>avconv -codecs</code> | ||
- | |||
- | 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. | ||
- | |||
- | <note>Vous pouvez voir les codecs étranges comme **lib**<format>.\\ | ||
- | 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**<format> aux <format> eux-mêmes. | ||
- | |||
- | Par exemple préférez libvorbis à vorbis, libfaac à aac, car la qualité s'en ressentira...</note> | ||
- | |||
- | ==== Obtenir les caractéristiques d'un vidéo ==== | ||
- | |||
- | Pour il obtenir les caratéristiques d'une vidé il suffit d'éxecuter cette commande : | ||
- | <code> | ||
- | |||
- | </code> | ||
- | |||
- | ===== Utilisation ==== | ||
- | Avconv étant basé sur [[:FFmpeg]] ses options en sont très proches voire identiques. Pour plus d'informations, reportez-vous à la page **[[:FFmpeg]]** | ||
- | |||
- | ==== Conversion vidéo en mpeg4 ==== | ||
- | Le but premier de cet exemple est d'effectuer une rotation de la vidéo (cas d'une vidéo prise à l'envers sur un smartphone) tout en gardant une qualité d'encodage équivalente. | ||
- | 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#encodage_2-pass|ici]]** | ||
- | * 1ère passe:<code> | ||
- | avconv -i vidéoEnEntrée.mp4 -threads 8 -s 1920x1080 -vcodec mpeg4 -acodec libvo_aacenc -b 20000k -pass 1 -r 30 -y -vf "vflip" vidéoEnSortie.mp4 | ||
- | </code> | ||
- | * 2ème passe:<code> | ||
- | avconv -i vidéoEnEntrée.mp4 -threads 8 -s 1920x1080 -vcodec mpeg4 -acodec libvo_aacenc -b 20000k -pass 2 -r 30 -y -vf "vflip" vidéoEnSortie.mp4 | ||
- | </code> | ||
- | Avec comme paramètres : | ||
- | |||
- | * //-i vidéoEnEntrée.mp4// : la vidéo d'entrée à convertir | ||
- | * tous les paramètres après "-i vidéoEnEntrée.mp4" concerne la vidéo de sortie, à savoir: | ||
- | * //-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). | ||
- | * //-s 1920x1080// : la taille de la vidéo (<largeur>x<hauteur>) | ||
- | * //-vcodec mpeg4// : le codec vidéo. Vous pouvez utiliser le codec libre //libx264// | ||
- | * //-acodec libvo_aacenc// : le codec audio. Pour du [[wpfr>MPEG-1/2_Audio_Layer_3|mp3]]: "//-acodec mp3//" et pour recopier la bande son: "//-c:a copy//". Pour ne pas recopier la bande son : "//-an// (à coté du "//-y//") | ||
- | * //-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) | ||
- | * //-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'encodage. | ||
- | * //-r 30// : le frame rate ( fps ou nombre d'image par secondes souvent entre 24 et 30). Sans ce paramètre apparait un problème de "timebase dénominator" avec les vidéos du galaxy s2 mais pas avec les vidéos converties. | ||
- | * //-y// : écrase les fichiers de sortie sans confirmation | ||
- | |||
- | __Remarques__ \\ | ||
- | Par défaut le format du container est défini par l'extension du nom de fichier (pour vidéoEnSortie.mp4 le container est mp4).\\ | ||
- | Pour encoder une vidéo mp4 en haute qualité mettre les paramètres suivants: | ||
- | <code> | ||
- | -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 | ||
- | </code> | ||
- | a coté de "-pass 1" \\ | ||
- | |||
- | D'autre paramètres à essayer : \\ | ||
- | <code> | ||
- | -bf 2’, ’-flags qprd’, ’-flags mv0’, ’-flags skiprd | ||
- | </code> | ||
- | |||
- | FIXME définir les différents paramètres | ||
- | |||
- | |||
- | ==== Rotation d'une vidéo ==== | ||
- | |||
- | * rotation à 180°(flip) : -vf "vflip" | ||
- | * rotation -90° : -vf "transpose=1" | ||
- | * rotation 90° : -vf "transpose=2" | ||
- | |||
- | ==== Voir aussi ==== | ||
- | * [[:ffmpeg]]: logiciel dont il est tiré | ||
- | * [[https://libav.org | Site du projet avconv]]. | ||
- | |||
- | ---- | ||
- | //Contributeurs: ratm54 |