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 | ||
organisation:videos_howto [2012/01/28 19:14] – Infos générales d’encodage et utilisation d’encoc.sh gilles.bedel | organisation:videos_howto [2012/01/31 00:01] (Version actuelle) – [encoc.sh] Ajout d’un arbre de dépendance en ASCII art :-) gilles.bedel | ||
---|---|---|---|
Ligne 56: | Ligne 56: | ||
==== encoc.sh ==== | ==== encoc.sh ==== | ||
=== Description === | === Description === | ||
- | Encoc.sh (pour encoding chain) n’est pas un script magique qui va tout faire tout seul : il faut savoir ce qu’on fait. Le but de cet outil est de simplifier l’exécution de toutes ces commandes en se concentrant sur les paramètres qui nous intéressent. Chacune des étapes ci-dessus a été codée dans un script, et tous ces scripts forment une chaîne d’encodage. Encoc.sh permet d’exécuter chacune des étapes indépendamment et selon une configuration globale donnée. Cette configuration est propre à un « projet », et transversale à toutes les étapes. Elle centralise tous les paramètres utiles, qui pourront ainsi être utilisés dans plusieurs scripts différents (par exemple, une fois la taille de la vidéo inscrite dans la configuration, | + | Encoc.sh (pour encoding chain) n’est pas un script magique qui va tout faire tout seul : il faut savoir ce qu’on fait. Le but de cet outil est de simplifier l’exécution de toutes ces commandes en se concentrant sur les paramètres qui nous intéressent. Chacune des étapes ci-dessus a été codée dans un script, |
- | + | ||
- | Les avantages de cette solution sont : | + | |
- | * D’avoir une chaîne d’encodage réutilisable et modifiable. | + | |
- | * De pouvoir s’arrêter puis reprendre plus tard le travail sans avoir à tout retenir de ce qu’on était en train de faire. | + | |
- | * De pouvoir se passer de certaines étapes car on souhaite les faire autrement (par exemple, fournir sa propre image d’intro au lieu de la générer à partir du template). | + | |
=== S’installer encoc.sh === | === S’installer encoc.sh === | ||
Ligne 75: | Ligne 70: | ||
=== Utilisation === | === Utilisation === | ||
- | Dans les exemples, on imaginera travailler sur la conférence d’un logiciel nommé foobar. | + | Pour commencer, il faut se créer un répertoire de travail avec beaucoup d’espace disque, y copier |
- | Pour commencer, il faut se créer un répertoire de travail avec la vidéo source, et concaténer les rushs : | + | |
< | < | ||
mkdir foobar | mkdir foobar | ||
Ligne 84: | Ligne 78: | ||
</ | </ | ||
- | Sur le SVN, il y a déjà une chaîne nommée toulibre. Initialisez le répertoire de travail avec : | + | Sur le SVN, il y a déjà une chaîne nommée toulibre, conçue pour les conférences des rencontre de Toulibre. Initialisez le répertoire de travail avec : |
< | < | ||
encoc.sh init / | encoc.sh init / | ||
Ligne 91: | Ligne 85: | ||
Cela créera un fichier de configuration encoc.config, | Cela créera un fichier de configuration encoc.config, | ||
- | Maintenant, | + | Maintenant |
< | < | ||
encoc.sh -h audio.extract | encoc.sh -h audio.extract | ||
</ | </ | ||
- | Le script audio.extract est tout simple. On peut voir ce qu’il prend en entrée | + | Le script audio.extract est tout simple. On peut voir ce qu’il prend en entrée |
- | Pour lancer le script, il suffit de taper « encoc.sh audio.extract | + | Pour lancer le script, il suffit de taper '' |
- | Voyons un script un peu plus complexe : | + | Voyons un script un peu plus complexe. Tapez : |
< | < | ||
encoc.sh -h audio.mix | encoc.sh -h audio.mix | ||
Ligne 111: | Ligne 105: | ||
</ | </ | ||
- | Soit en éditant les variables dans le fichier de configuration. On peut aussi demander à encoc.sh qu’il | + | Soit en éditant les variables dans le fichier de configuration. On peut aussi demander à encoc.sh qu’il |
< | < | ||
encoc.sh -w AUDIO_START=07: | encoc.sh -w AUDIO_START=07: | ||
</ | </ | ||
- | Le format des temps est toujours [[[[heures: | + | Le format des temps est toujours [[[[heures: |
< | < | ||
encoc.sh -p audio.mix | encoc.sh -p audio.mix | ||
</ | </ | ||
+ | |||
+ | Ceci peut s’avérer très utile si on souhaite modifier la ligne de commande et la lancer soi-même, cependant rien de tout ça ne sera sauvegardé. | ||
L’option -t permet de lancer chaque commande avec time, pour voir combien de temps elle prend. | L’option -t permet de lancer chaque commande avec time, pour voir combien de temps elle prend. | ||
+ | |||
+ | === Avantages === | ||
+ | Les avantages à utiliser encoc sont : | ||
+ | * D’avoir une chaîne d’encodage facilement réutilisable et modifiable. Il suffit de copier le répertoire et d’y modifier ce qu’on veut. | ||
+ | * De retenir ce qu’on a fait auparavant pour éventuellement revenir dessus si on découvre une meilleure façon de faire. | ||
+ | * De pouvoir s’arrêter puis reprendre plus tard le travail sans avoir à tout retenir de ce qu’on était en train de faire. | ||
+ | * De ne pas être contraint de suivre à la lettre la chaîne de traitement donnée. On peut facilement exécuter une des étapes soi-même (c.f. option -p) si le script n’y arrive pas ou qu’on pense pouvoir mieux faire. | ||
+ | |||
+ | === Organisation des scripts === | ||
+ | Les scripts forment un arbre (inversé) de dépendances qui ressemble à ceci : | ||
+ | < | ||
+ | upload | ||
+ | `-mux | ||
+ | `+-audio.enco | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
=== Pour une conférence classique === | === Pour une conférence classique === | ||
- | Les paramètres par défaut de la chaîne toulibre correspondent à une conférence classique d’une rencontre Toulibre. Dans chaque étape interviennent des variables de configuration qui peuvent être vues avec -h. Dans cette page on ne détaille que les plus importantes, | + | Les paramètres par défaut de la chaîne toulibre correspondent à une conférence classique d’une rencontre Toulibre. Dans chaque étape interviennent des variables de configuration qui peuvent être vues avec -h. Dans ce qui suit on ne détaille que les variables |
Le son : | Le son : | ||
- | * '' | + | * Tout d’abord extraire le son : |
- | * Repérer le début et la fin. Pour le début | + | * L’idée, c’est de commencer par régler le début et la fin de la vidéo selon l’audio, à l’oreille, |
+ | * Repérer le début et la fin. Il faut essayer de couper | ||
+ | * Régler éventuellement le silence de départ (AUDIO_START_DELAY). On ne pourra plus le modifier plus tard car les calculs de position de découpage de la vidéo se basent en partie là-dessus. | ||
* Éventuellement améliorer le son en positionnant AUDIO_SOX_CHAIN. On peut notamment se servir des filtres noisered et compand, mais c’est assez technique, je ne détaille pas cela ici. | * Éventuellement améliorer le son en positionnant AUDIO_SOX_CHAIN. On peut notamment se servir des filtres noisered et compand, mais c’est assez technique, je ne détaille pas cela ici. | ||
* '' | * '' | ||
Ligne 135: | Ligne 154: | ||
La vidéo : | La vidéo : | ||
* La valeur prédéfinie pour ENCODING_OPTS est bonne et n’a normalement pas besoin d’être modifiée. | * La valeur prédéfinie pour ENCODING_OPTS est bonne et n’a normalement pas besoin d’être modifiée. | ||
- | * On peut éventuellement réduire la résolution, | + | * On peut éventuellement réduire la résolution, |
* Il faut surtout donner de bonnes valeurs à VIDEO_FILTERS et VIDEO_BITRATE. Pour une résolution de 1280 x 720, je dirais qu’il faut au grand minimum 200k, et 400k pour une qualité bonne/ | * Il faut surtout donner de bonnes valeurs à VIDEO_FILTERS et VIDEO_BITRATE. Pour une résolution de 1280 x 720, je dirais qu’il faut au grand minimum 200k, et 400k pour une qualité bonne/ | ||
* Pour tester ce que ça donne sur un extrait de la video : | * Pour tester ce que ça donne sur un extrait de la video : | ||
Ligne 143: | Ligne 162: | ||
L’intro : | L’intro : | ||
- | * Remplir les variables CONF_* | + | * Remplir les variables CONF_*. |
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | |
+ | | ||
Le muxage : | Le muxage : |