• [Linux] Extraire les sous-titres d'un fichier MKV

       _____   ____  __.____   ____ __                .__         .__        
      /     \ |    |/ _|\   \ /   //  |_  ____   ____ |  |   ____ |__|__  ___
     /  \ /  \|      <   \   Y   /\   __\/  _ \ /  _ \|  |  /    \|  \  \/  /
    /    Y    \    |  \   \     /  |  | (  <_> |  <_> )  |_|   |  \  |>    < 
    \____|__  /____|__ \   \___/   |__|  \____/ \____/|____/___|  /__/__/\_ \
            \/        \/                                        \/         \/

    === Introduction ===

    Pour extraire les sous-titres d'un fichier MKV, nous avons besoin d'un seul outil, le couteau suisse pour MKV, le MKVtoolNix. ;)

    === Installation ===

    apt-get update
    apt-get install mkvtoolnix
    apt-get upgrade && apt-get update
    [code=php]apt-get update
    apt-get install mkvtoolnix
    apt-get upgrade && apt-get update[/code]

    Avant d'extraire les sous-titres, nous devons connaître le numéro de la piste. Dans cet exemple mon film est tigre.vostfr.mkv.

    Je lance la procédure d'identification avec mkvmerge.

    === Code magique ===

    mkvmerge -i tigre.vostfr.mkv
    [code=php]mkvmerge -i tigre.vostfr.mkv[/code]

    On voit le résultat s'afficher :

    File 'tigre.vostfr.mkv': container: Matroska
    Track ID 1: subtitles (S_TEXT/ASS)
    Track ID 2 : subtitles (S_TEXT/UTF8)
    Track ID 3: video (V_MPEG4/ISO/AVC)
    Track ID 4: audio (A_AC3)
    [code=php]File 'tigre.vostfr.mkv': container: Matroska
    Track ID 1: subtitles (S_TEXT/ASS)
    Track ID 2: subtitles (S_TEXT/UTF8)
    Track ID 3: video (V_MPEG4/ISO/AVC)
    Track ID 4: audio (A_AC3)[/code]

    Track ID 2: subtitles (S_TEXT/UTF8) = les sous-titres avec ID 2 au format utf8 (cela peut varier).

    À présent, nous avons les informations nécessaire pour extraire les sous-titres au format .srt, grâce à mkvextract.
    Pour faire simple, j'opte pour le nom de : sous-titres.srt pour la sortie finale.

    === Code magique ===

    mkvextract tracks tigre.vostfr.mkv 2:sous-titres.srt
    [code=php]mkvextract tracks tigre.vostfr.mkv 2:sous-titres.srt[/code]

    Nous obtenons ainsi un fichier extrait au format .srt ^^

    Extracting track 2 with the CodecID 'S_TEXT/UTF8' to the file 'sous-titres.srt'.
    Container format: SRT text subtitles
    Progress: 100%
    [code=php]Extracting track 2 with the CodecID 'S_TEXT/UTF8' to the file 'sous-titres.srt'.
    Container format: SRT text subtitles
    Progress: 100%[/code]

    Enjoy ;)