Exporter l’audio d’une vidéo pour un DCP

Utilisez ffmpeg et sox pour extraire les deux pistes mono d’un fichier vidéo pour les importer dans OpenDCP

Publié le

Ceci n’est compatible qu’avec une configuration stéréo, pas 5.1. Le script doit être adapté pour du 5.1.

Cet article complète celui sur la création d’un DCP, principalement sur le chapitre de l’audio. Ces opérations sont assez rébarbatives, et peuvent facilement être scriptés.

Installez sox, ainsi que ffmpeg. Les deux sont dispos pour tous vos OS préférés. Ils sont, bien évidemment, libres et gratuits.

Sox est un utilitaire très puissant de traitement audio. Si vous trouvez ffmpeg complexe, alors n’ouvrez pas la documentation de sox. Sox dispose d’une panoplie de filtres de traitements et de conversions audio.

Nous allons utiliser ici les fonctions de conversion 24 bits, de normalisation et de mixage de pistes.

Ce script tourne sous Linux et OSX :

#!/bin/sh
INPUTFILE=$1;
ffmpeg -y -i "$INPUTFILE" -vn -f wav "$INPUTFILE.wav"
SOXPARAMS="--endian little --channels 1 --bits 24 --encoding signed-integer --rate 48000";
sox --show-progress --temp . -V3 "$INPUTFILE.wav" $SOXPARAMS "$INPUTFILE-24b-L.wav" norm -12 remix 1
sox --show-progress --temp . -V3 "$INPUTFILE.wav" $SOXPARAMS "$INPUTFILE-24b-R.wav" norm -12 remix 2
rm -f "$INPUTFILE.wav"

Télécharger le, et pour le lancer :

sh dcp-audio.sh FichierVideoAvecLAudioAExporter.mov

Dans un terminal bien sur.

Nous obtenons deux fichiers wav mono, prêts à être envoyés dans OpenDCP pour un wrapping en mxf.

Le script extrait avec ffmpeg l’audio de la vidéo dans un fichier wav stéréo, dans le même format que la source.

Puis nous lançons deux fois sox : une fois pour le canal gauche, et une fois pour le canal droite.

A chaque fois nous demandons à sox de produire un fichier wav 24 bits mono 48 kHz, avec chaque mots binaire codé comme un entier signé petit boutien, ce qui correspond au format wav original.

Sox filtre le signal avec deux options : la normalisation à -12 dBFS et la sélection du canal choisi (1 = gauche, 2 = droite).

La normalisation se fait sur le signal stéréo original, il n’y aura pas de déséquilibre gauche / droite (j’ai vérifié).

Désormais, vous n’avez plus besoin de logiciel de traitement audio pour faire vos DCP.