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?
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
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
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.