ffmpegを使用してビデオから字幕を抽出する方法は?


34

ビデオから字幕を.srtファイルとして抽出しようとしています。次のコマンドを使用しました。

FFMPEG -i mytestmovie.mkv -vn -an -codec:s:0.1 srt sub.srt

しかし、認識されないオプションとしてエラーが発生しcodec:s:0:1 ました。正確なコマンドと字幕を.srtビデオのファイルとして抽出する方法を教えてもらえますか?


umair:コマンドプロンプトで教えてください
vijay

私は同じ問題を抱えています。これは最終的に機能するようになりましたか?
マキシムラベル

回答:


51

シンプル:

ffmpeg -i Movie.mkv -map 0:s:0 subs.srt
  • -i:入力ファイルのURL /パス。
  • -map:1つ以上の入力ストリームを出力ファイルのソースとして指定します。
  • s:0:字幕ストリームを選択します。

2
これは、字幕が埋め込まれたMP4ファイルで機能しました。
ルーベンスマリウッゾ

11
これにより、最初の字幕トラックがダウンロードされます。複数ある場合は0:s:1、2つ0:s:2目のダウンロード、3つ目のダウンロードなどに使用します。
ファビアンスナウワート16年

5
@ jm3ファイルからすべての字幕ストリームを自動的に抽出し、言語識別子(eng、fre、dutなど)に基づいて名前を付ける方法を知っていますか?
神父

大きなMKVコンテナ(最大4 GB)から抽出するとき、なぜそんなに遅いのですか
user25

より多くの字幕を一度に抽出するには-map、各ファイルのパラメーターを複製する必要があります。また、-c copy処理しようとせずにファイルを抽出するように含めますffmpeg -i Movie.mkv -c copy -map 0:s:0 subs.01.srt -c copy -map 0:s:1 subs.02.srt。とにかく、ffmpegは字幕ストリームのすべての部分を見つけるためにビデオファイル全体を読み取る必要があるため、時間がかかります。
ラデックペック

8

-codec:s:0:1間違っています。あなたが使用している場合は-codec:s:0、その後ffmpegのは、あなたが使用している場合、出力に渡される最初の字幕ストリームのために述べたコーデックを使用します-codec:s:1、それは第二の字幕ストリームなどのためにそれを使用します

また、すべての出力字幕ストリームを選択したり、3番目の出力ストリームを選択したりすることもでき-codec:sます。-codec:2

-mapオプションが異なる方法で動作するため、おそらく混乱している-そこで、選択したストリームの入力元を選択する必要があります。(したがって、-map 0:s:0最初の入力から最初の字幕ストリームを取得し、出力にフィードします)。ただし、-map入力から取得するストリームを選択するためのものです。一方、ストリームマッピングを使用する他のほとんどのオプションは、選択された後のストリームで使用されます(したがって、出力に渡される入力ストリームを指定する必要はありません)。


evilsoup:iは次のコマンドを使用しますE:\ FFMpeg_Latest> ffmpeg -i E:\ Routine \ routine.mkv -vn -an -map 0:s:0 srt E:\ Routine \ sub.srt、エラーのようですi 'srt'に適した出力形式が見つかりませんでした。ビデオの字幕を抽出するコマンドを教えてください
...-vijay

2
試してください:ffmpeg -i E:\Routine\routine.mkv -map 0:s:0 E:\Routine\sub.srt(ffmpegは、出力ファイル名からsrt字幕が必要であることを検出する必要があります)
-evilsoup

私は使用しました: ffmpeg -i film.mp4 -vn -an -codec:s srt film.srtそれはすべての字幕をsrtファイルにコピーするはずです。
スチュアート

@スチュアートそれはすべての字幕を抽出しません
user25

1
@evilsoup -codec:sは等しい-codec:s:0ため、すべての字幕を選択しません...最初のテキストトラックを抽出します
user25
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.