Blogeek|Sioc

Geekeries de tout poil

Recaler le son d’un fichier vidéo

Quoi de plus énervant qu’un fichier vidéo dont le son n’est pas bien calé ? Ou bien calé au début, mais qui se décale en cours de route ?
Voici quelques commandes basées sur libav pour extraire la bande son, et la ré-intégrer dans la vidéo.

Pour les manips intermédiaires je recommande audacity qui permet de bidouiller la piste audio dans tous les sens. On est sur un blog de geek : je laisse tout un chacun le soin d’imaginer les techniques possibles, mais avec audacity on peut sans problème ajouter ou enlever un morceau au début de la piste (décalage simple), mais aussi rectifier un décalage qui apparait progressivement (effect > change tempo), voire de le faire sur une sélection pour les plus courageux qui veulent noter de nombreux points de contrôle dans leur vidéo 🙂

Allons-y ! Allons-y !

Demux :

D’abord vérifier le format de votre piste audio et son bitrate avec un petit :

avconv -i mon_film_telecharge_sur_bittorrent_en_toute_legalite.mp4
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mon_film_telecharge_sur_bittorrent_en_toute_legalite.mp4':
 Metadata:
 major_brand     : mp42
 minor_version   : 0
 compatible_brands: mp42isomavc1
 creation_time   : 2013-10-02 21:17:00
 Duration: 01:33:09.21, start: 0.000000, bitrate: 3154 kb/s
 Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 256 kb/s
 Stream #0.1(und): Video: h264 (High), yuv420p, 1280x720, 3603 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47.95 tbc

En fonction du format de l’audio, extraire avec une extension appropriée :

avconv -i mon_film_telecharge_sur_bittorrent_en_toute_legalite.mp4 -vn -acodec copy piste_audio.aac

Explication : -vn pour pas de vidéo, -acodec copy pour copier la piste audio sans modif

Audacity :

ouvrir le fichier de bande son, et faire les modifs appropriées… have fun… à la fin faire file > export et choisir un format sans perte (ex : wav)

Remux :

avconv -i mon_film_telecharge_sur_bittorrent_en_toute_legalite.mp4 -i piste_audio.wav -codec:v:0 copy -codec:a:1 aac -ab 256k -strict experimental -map 0:1 -map 1:0 mon_beau_film_bien_synchronise.mp4

Explication : ajout des deux fichiers à multiplexer (fichier d’origine et .wav qu’on vient de créer), -codec:v:0 copy pour copier le flux video du fichier n°0 directement, -codec:a:1 aac pour encoder en aac le fichier n°1, -ab 256k pour retomber sur le bitrate d’origine, -strict experimental pour permettre dans CE cas l’utilisation de aac, et enfin les -map 0:1 et -map 1:0 qui specifient que le fichier de sortie est composé de la piste n°1 du fichier n°0 (video, cf log de avconv -i plus haut) et de la piste n°0 du fichier n°1 (notre wav)

Et voila 🙂

 


Categorised as: Linux


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *