J'essaie d'extraire des sous-titres de films MP4 et MKV. J'utilise mp4box (sous OS X) mais je ne peux pas comprendre comment cela fonctionne.
Des indices?
La MP4Box gratuite et multiplateforme ne fonctionne qu'avec des 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-titres.
MP4Box -info input.mp4
Regardez l'ID à côté de la piste de sous-titres. Ensuite, en fonction de l'ID de piste que <trackId>
vous souhaitez 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 avez besoin des mkvtoolnix
packages gratuits et open source . Ils viennent pour Windows et Linux, et sur un Mac, vous pouvez les installer via Homebrew avec brew install mkvtoolnix
.
Ensuite, inspectez le fichier:
mkvmerge -i input.mkv
Cela 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 celle que vous avez identifiée ci-dessus. <output>
est juste un nom fictif, vous pouvez utiliser celui que vous voulez.
mkvextract tracks input.mkv <trackID>:<output>.srt
Donc, dans notre cas, cela aurait été:
mkvextract tracks input.mkv 3:subs.srt
MP4Box
dans legpac
package disponible via apt-getMP4Box
à Arch Linux, vous devez installer àgpac
partir du référentiel communautaire.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
est présent dans les nouvelles versions d'Ubuntu par défaut, pour Mac OS X et Windows, vous devrez l'installer (en le téléchargeant à partir du site Web officiel ou via homebrew).Voici
video.mp4
le nom du fichier vidéo local ou distant source etsubtitle.srt
le nom du fichier de sous-titres en sortie. Il est important de spécifier l'extension du fichier pour la sortie, car ilffmpeg
détecte exactement ce que vous voulez extraire. Autrement dit, vous pouvez spécifier l'.mp3
extension de fichier afin d'extraire l'audio mp3 du fichier vidéo, ou simplement définir un autre conteneur vidéo afin de convertir entre les formats.la source