Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:media:ffmpeg [07/05/2017 23:04] smolski [Encoder la vidéo] |
doc:media:ffmpeg [04/07/2017 08:27] smolski [Encoder la vidéo] |
||
---|---|---|---|
Ligne 309: | Ligne 309: | ||
**Explication :** \\ | **Explication :** \\ | ||
- | <code>for i in {0001..0005};</code> | + | ''for i in {0001..0005};'' |
Se traduit : la variable ''i'' prendra respectivement les chiffres ''0001'' ''0002'' ''0003'' ''0004'' ''0005'' comme valeur. \\ | Se traduit : la variable ''i'' prendra respectivement les chiffres ''0001'' ''0002'' ''0003'' ''0004'' ''0005'' comme valeur. \\ | ||
Ligne 315: | Ligne 315: | ||
Ensuite vient : | Ensuite vient : | ||
- | <code>do $i -c:v:0 libx264 -preset slow -crf 15 -s 1024x768 -threads 0 -c:a $i.mp4;done</code> | + | ''do $i -c:v:0 libx264 -preset slow -crf 15 -s 1024x768 -threads 0 -c:a $i.mp4;done'' |
+ | |||
+ | **Explication :** | ||
- | **Explication :** \\ | ||
Au début : ''do $i'' indique qu'il faut considérer chacun des numéros attribués à la variable ''i'' précédemment définie. \\ | Au début : ''do $i'' indique qu'il faut considérer chacun des numéros attribués à la variable ''i'' précédemment définie. \\ | ||
Le : '';done'' indique la fin de la commande qui est à répéter pour chaque variable ''$i'' trouvée. | Le : '';done'' indique la fin de la commande qui est à répéter pour chaque variable ''$i'' trouvée. | ||
Ligne 325: | Ligne 326: | ||
On exécute la commande de conversion en TS : | On exécute la commande de conversion en TS : | ||
- | <code user>ffmpeg -y -i "$i.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts "$i.ts"; done</code> | + | <code user>for i in {0001..0005}; do ffmpeg -y -i "$i.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts "$i.ts"; done</code> |
Et pour assembler le tout directement en MP4 : | Et pour assembler le tout directement en MP4 : | ||
- | <code user>ffmpeg -y -i concat:"0001.mp4|0002.mp4|0003.mp4|0004.mp4|0005.mp4" -c copy -f mov "1.mp4"</code> | + | <code user>ffmpeg -y -i concat:"0001.ts|0002.ts|0003.ts|0004.ts|0005.ts" -c copy -f mov "1.mp4"</code> |
Où la vidéo 1.mp4 est la vidéo finale assemblée. | Où la vidéo 1.mp4 est la vidéo finale assemblée. | ||
+ | |||
+ | **Alternative :** | ||
+ | |||
+ | En utilisant la boucle de nouveau : | ||
+ | <code user>toto=""; for i in {0001..0005}; do toto="$toto$i.ts|"; done; ffmpeg -y -i concat:"$toto" -c copy -f mov "1.mp4"</code> | ||
+ | Merci **kyodev** pour cette astuce ! :-D | ||
Source de la boucle : | Source de la boucle : |