web-dev-qa-db-fra.com

Comment extraire des sous-titres de films MP4 et MKV

J'essaie d'extraire des sous-titres de films MP4 et MKV. J'utilise mp4box (sous OS X), mais je n'arrive pas à comprendre comment cela fonctionne.

Des allusions?

25
Open the way

Fichiers MP4 et 3GP

Le logiciel gratuit et multiplate-forme MP4Box ne fonctionne qu'avec les conteneurs MP4 ou 3GP. Vous pouvez l'installer depuis la page d'accueil. Tout d'abord, vous voulez regarder les différentes pistes et voir quel ID appartient à la piste de sous-titre.

MP4Box -info input.mp4

Regardez l'ID à côté de la piste de sous-titre. Ensuite, en fonction de l'ID de piste <trackId> à extraire, appelez la commande suivante:

MP4Box -raw <trackID> input.mp4

Ou, pour exporter au format SRT couramment utilisé:

MP4Box -srt <trackID> input.mp4

Fichiers MKV

Pour extraire les sous-titres des fichiers Matroska (MKV), vous devez disposer du code source libre et gratuit mkvtoolnix packages. Ils viennent pour Windows et Linux, et sur un Mac, vous pouvez les installer via Homebrew with brew install mkvtoolnix.

Ensuite, inspectez le fichier:

mkvmerge -i input.mkv

Ceci listera les pistes, par exemple comme ceci:

File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)

En fonction de l'ID de la piste, appelez la commande suivante, où <trackID> est celui que vous avez identifié ci-dessus. <output> est juste un nom factice, vous pouvez utiliser ce que vous voulez.

mkvextract tracks input.mkv <trackID>:<output>.srt

Donc, dans notre cas, cela aurait été:

mkvextract tracks input.mkv 3:subs.srt
45
slhck

Voici une solution pour pratiquement tous les formats de fichiers pris en charge par ffmpeg (même les fichiers distants sont pris en charge):

ffmpeg -i video.mp4 subtitle.srt

ffmpeg est présent par défaut dans les versions les plus récentes d'Ubuntu. Pour Mac OS X et Windows, vous devrez l'installer (en le en le téléchargeant à partir du site Web officiel ou via homebrew).

Ici, video.mp4 est le nom du fichier vidéo source local ou distant, et subtitle.srt est le nom du fichier de sous-titre en sortie. Il est important de spécifier l'extension de fichier pour la sortie, car ffmpeg détecte exactement ce que vous voulez extraire. Autrement dit, vous pouvez spécifier l'extension de fichier .mp3 afin d'extraire l'audio mp3 d'un fichier vidéo ou simplement définir un autre conteneur vidéo afin de convertir les formats.

10
TiGR