0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mkvファイルから字幕を抽出する

Last updated at Posted at 2024-01-10

前提

ffmpegがインストール済み

$  ffmpeg -version
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers

$  ffprobe -version
ffprobe version 6.1.1 Copyright (c) 2007-2023 the FFmpeg developers

データの確認

$ ffprobe input.mkv

Stream #0:1(eng): Subtitle: ass
Metadata:
  title           : English Subs (Coalgirls/R1)

Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle
Metadata:
  title           : English SDH (Retail US-BD)

複数ある字幕のうち必要なものの以下二つを確認。

  1. Streamに続く0:n
    (変換コマンドのオプション"-map 0:n"でこの値を指定する)
  2. Subtitleに続くファイル形式

ファイル形式が「ass」

字幕のデータがテキスト形式のためそのまま抽出可能。

$  ffmpeg -i input.mkv -map 0:n output.srt

ファイル形式が「HDMV PGS」

字幕データがビットマップ方式のためOCR(光学文字認識)を使用してテキストに変換しなければならない。
ffmpegにOCR機能はないため、supファイル(ビットマップ画像)として保存し別の方法で変換が必要。

$  ffmpeg -i input.mkv -map 0:n -c copy -f sup output.sup

Sup to Srt Download
ffmpegで作成したsupファイルを選択してstrファイルに変換

プレーンテキストに変換

Nikse - Subtitle Edit online
"Subtitle -> Open"で展開し"Subtitle -> Export plain text"で保存

Convert Sup to Srt: online format converter

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?