Outils pour utilisateurs

Outils du site


prog:ffmpeg

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:ffmpeg [2022/01/09 08:09] – [Ajout d'un sous-titre à une vidéo] : précision pour ajouter un sous-titre au format mkv rootprog:ffmpeg [2023/05/14 20:41] (Version actuelle) – [Rotation] : bien utiliser la même extension root
Ligne 6: Ligne 6:
   ffmpeg -analyzeduration 100000k -probesize 100000k -i input.ts   ffmpeg -analyzeduration 100000k -probesize 100000k -i input.ts
 [[http://www.ffmpeg.org/faq.html#Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f|Why does FFmpeg not see the subtitles in my VOB file?]] {{ :prog:ffmpeg:ffmpeg_faq_2019-11-11_16_38_06_.html |Archive du 10/11/2019 le 11/11/2019}} [[http://www.ffmpeg.org/faq.html#Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f|Why does FFmpeg not see the subtitles in my VOB file?]] {{ :prog:ffmpeg:ffmpeg_faq_2019-11-11_16_38_06_.html |Archive du 10/11/2019 le 11/11/2019}}
-====Ajout d'un sous-titre à une vidéo====+====Sous-titre à une vidéo==== 
 + 
 +===Incorporation d'un sous-titre externe=== 
 Format de sortie ''mkv''. [[https://stackoverflow.com/questions/8672809/use-ffmpeg-to-add-text-subtitles|mp4 - Use ffmpeg to add text subtitles - Stack Overflow]] {{ :prog:ffmpeg:mp4_-_use_ffmpeg_to_add_text_subtitles_-_stack_overflow_2019-11-11_16_38_15_.html |Archive du 29/12/2011 le 11/11/2019}} Format de sortie ''mkv''. [[https://stackoverflow.com/questions/8672809/use-ffmpeg-to-add-text-subtitles|mp4 - Use ffmpeg to add text subtitles - Stack Overflow]] {{ :prog:ffmpeg:mp4_-_use_ffmpeg_to_add_text_subtitles_-_stack_overflow_2019-11-11_16_38_15_.html |Archive du 29/12/2011 le 11/11/2019}}
  
Ligne 15: Ligne 18:
 ''-metadata:s:s:0'' : ''s'' pour ''stream'' et ''s'' pour ''subtitle'' et ''0'' pour le premier sous-titre. Si la vidéo d'origine possède déjà un sous-titre et qu'on souhaite définir la langue uniquement pour le deuxième sous-titre, il faut juste mettre ''-metadata:s:s:1 …''. [[https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options|FFMPEG An Intermediate Guide_subtitle options - Wikibooks, open books for an open world]] {{ :prog:ffmpeg:ffmpeg_an_intermediate_guide_subtitle_options_-_wikibooks_open_books_for_an_open_world_2019-11-11_16_38_21_.html |Archive du 26/09/2019 le 11/11/2019}} ''-metadata:s:s:0'' : ''s'' pour ''stream'' et ''s'' pour ''subtitle'' et ''0'' pour le premier sous-titre. Si la vidéo d'origine possède déjà un sous-titre et qu'on souhaite définir la langue uniquement pour le deuxième sous-titre, il faut juste mettre ''-metadata:s:s:1 …''. [[https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options|FFMPEG An Intermediate Guide_subtitle options - Wikibooks, open books for an open world]] {{ :prog:ffmpeg:ffmpeg_an_intermediate_guide_subtitle_options_-_wikibooks_open_books_for_an_open_world_2019-11-11_16_38_21_.html |Archive du 26/09/2019 le 11/11/2019}}
  
-Si on souhaite utiliser le container ''mkv'' et que le format de sous-titre n'est pas compatible (''Subtitle codec 94213 is not supported.''), il faut ajouter ''-c:s srt'' après ''-c copy''.+Si on souhaite utiliser le container ''mkv'' et que le format de sous-titre n'est pas compatible (''Subtitle codec 94213 is not supported.''), il faut ajouter ''-c:s srt'' après ''-c copy''[[https://newspaint.wordpress.com/2018/06/24/subtitle-codec-94213-is-not-supported/|Subtitle Codec 94213 is Not Supported in FFmpeg]] {{ :prog:ffmpeg:subtitle_codec_94213_is_not_supported_in_ffmpeg_newspaint_2022-01-09_08_27_13_.html |Archive du 26/04/2018 le 09/01/2022}}
  
 Vérification que ''ffmpeg'' a bien compris la langue (entre parenthèse) : Vérification que ''ffmpeg'' a bien compris la langue (entre parenthèse) :
Ligne 31: Ligne 34:
 Liste des langues reconnues : [[https://raw.githubusercontent.com/datasets/language-codes/master/data/language-codes-full.csv|language-codes-full.csv]], {{ prog:ffmpeg:language-codes-full.csv |Archive}}. Base du constat : [[https://github.com/libav/libav/blob/master/libavformat/avlanguage.c|avlanguage.c]], {{ prog:ffmpeg:avlanguage.c |Archive}} Liste des langues reconnues : [[https://raw.githubusercontent.com/datasets/language-codes/master/data/language-codes-full.csv|language-codes-full.csv]], {{ prog:ffmpeg:language-codes-full.csv |Archive}}. Base du constat : [[https://github.com/libav/libav/blob/master/libavformat/avlanguage.c|avlanguage.c]], {{ prog:ffmpeg:avlanguage.c |Archive}}
  
 +===Activation d'un sous-titre par défaut===
 +
 +Utiliser l'option ''-disposition:s:s:0'' avec la même syntaxe que ''-metadata''.
 ====Fichier source mkv==== ====Fichier source mkv====
 Après des tests avec VLC, il n'arrive pas à lire les sous-titres du ''mkv'' d'origine. Il faut donc les extraire avant de faire la fusion. Après des tests avec VLC, il n'arrive pas à lire les sous-titres du ''mkv'' d'origine. Il faut donc les extraire avant de faire la fusion.
Ligne 38: Ligne 44:
 =====Encodage===== =====Encodage=====
 ====Paramètres généraux==== ====Paramètres généraux====
 +
 +x265 :
 +
 <code bash> <code bash>
 ffmpeg -i input.mp4 \ ffmpeg -i input.mp4 \
Ligne 44: Ligne 53:
   -c:a libfdk_aac -ar 44100 -b:a 128k -ac 2 \   -c:a libfdk_aac -ar 44100 -b:a 128k -ac 2 \
   -c:v libx265 -r 30 -aspect 1920:1080 -vf scale=1920:1080 \   -c:v libx265 -r 30 -aspect 1920:1080 -vf scale=1920:1080 \
-  -preset veryslow -crf 22 -aq-mode 3 \+  -preset veryslow -crf 22 -x265-params aq-mode=3 \
   -pix_fmt yuv420p10le output.mkv   -pix_fmt yuv420p10le output.mkv
 </code> </code>
  
 +x264 :
 +
 +<code bash>
 +ffmpeg -i input.mp4 \
 +  -threads 8 \
 +  -map 0 \
 +  -c:a libfdk_aac -ar 44100 -b:a 128k -ac 2 \
 +  -c:v libx264 -r 30 -aspect 1920:1080 -vf scale=1920:1080 \
 +  -preset veryslow -crf 22 -aq-mode 3 \
 +  -pix_fmt yuv420p10le output.mkv
 +</code>
 ===Ordre des streams=== ===Ordre des streams===
  
Ligne 128: Ligne 148:
  
   ffmpeg.exe -i http://example.com/link.m3u8 -c copy output.mp4   ffmpeg.exe -i http://example.com/link.m3u8 -c copy output.mp4
 +
 +
 +=====Effets=====
 +
 +====Rotation====
 +
 +Sans ré-encoder, il est possible de mettre un tag pour indiquer la rotation.
 +
 +<code bash>
 +ffmpeg -i input.mkv -map_metadata 0 -metadata:s:v rotate="90" -codec copy output.mkv
 +</code>
 +
 +Pour que cela fonctionne l'extension du fichier de sortie doit être le même que celui d'entrée.
prog/ffmpeg.1641712146.txt.gz · Dernière modification : 2022/01/09 08:09 de root