web-dev-qa-db-ja.com

VLCにmkvビデオに埋め込まれた両方の字幕を表示させる方法は?

英語とドイツ語の字幕を埋め込んだmkvビデオがあります。 VLCプレーヤーでmkvビデオを見ています。一度に選択できる字幕は1つだけです。ドイツ語を学びたいです。英語とドイツ語の両方の字幕が同時に表示されているビデオを見ると役に立ちます。

両方の字幕が表示されているVLCでビデオを視聴するにはどうすればよいですか?

VLCがこの機能をサポートできない場合は、他のビデオプレーヤーを歓迎します。

2
curious

VLC

ベータ4.0.0以降、VLCはデュアル/セカンダリ字幕をサポートします。それを機能させることは、現在少し厄介なようです。

まず、全体的にそれらをオンにする必要があります。 [ツール]> [設定]> [字幕/ OSD]> [デュアル字幕](一番下)に移動します>整列して未設定以外に変更します。オフセット(隣接する設定)を調整する必要がある場合もあります。

ビデオを再生するときは、デフォルトのショートカットで「セカンダリ字幕コントロールを切り替える」必要があります Ctrl+Shift+V。 (これは、次のような通常の字幕コントロールショートカットを意味します v または Alt+v、字幕を前後に循環させるために、メイン字幕ではなくセカンダリ字幕に適用されるようになりました。押す Ctrl+Shift+V もう一度、これらをメイン字幕に適用するように切り替えます。)次に、を押します。 v 必要な(セカンダリ)字幕に切り替える適切な回数。

代替案— mpv

mpv には、(IMO)2セットの字幕を表示するためのより便利なアプローチがあります。

すべての字幕が(質問で指定されているように)埋め込まれているか、別の適切な名前の外部ファイルに埋め込まれていると仮定します(たとえば、映画の名前がfile1.mkvの場合、字幕ファイルはfile1.srt)。そうでない場合は、オプション--sub-file=subtitle_file_lang_xx.src--sub-file=subtitle_file_lang_yy.srcなどを追加するか、--sub-auto(例:--sub-auto=fuzzy)をいじって、字幕ファイルを明示的に指定できます。

それらがどのように選択されたか(組み込みまたは外部ファイルから)に関係なく、ビデオファイルを再生すると、字幕の各セットは独自の「ストリーム」になります。ストリームには、連続する整数インデックス(1、2、3 ...)が割り当てられます。一般に、組み込みの字幕は(論理的に)以前のインデックスを持ちます。 mpvでファイルを再生すると、ストリームインデックス、その言語(字幕に指定された言語がある場合)、および字幕が外部ファイルからのものかどうかがターミナルに表示されます。たとえば、mpv file1.mkvを実行した後:

(+) Subs  --sid=1 --slang=eng (*) (subrip)
    Subs  --sid=2 --slang=deu (subrip)
    Subs  --sid=3 'file1.srt' (subrip) (external)

ここでは、最初の2つの字幕が組み込まれており、それぞれ英語(eng)とドイツ語(deu)の言語で、3番目の字幕は外部ファイルからのものです。インデックス(sid)は1、2、3です。デフォルトの字幕ストリームは最初のもの((*)でマーク)であり、選択されたものでもあります((+)でマークされています)。 )。

これらのインデックスがわかっているので、オプション--sidおよび--secondary-sidを使用して「メイン」およびセカンダリ字幕を指定できます。たとえば、前の例の英語字幕をメイン字幕として表示し、ドイツ語字幕をセカンダリ字幕として表示するには、(ターミナルで)次のコマンドを実行できます。

mpv --sid=1 --secondary-sid=2 file1.mkv

キーボードショートカットを使用したセカンダリ字幕のサイクリング

デフォルトでは、セカンダリ字幕を循環させるためのキーボードショートカットはありません(「メイン」字幕をjJで循環させる方法(Shift+j))。ただし、非常に簡単に追加できます。

たとえば、~/.config/mpv/input.conf(またはより一般的には${XDG_CONFIG_HOME}/mpv/input.conf)に以下を追加すると、次のようになります。

Ctrl+j cycle secondary-sid
Ctrl+J cycle secondary-sid down

その後 Ctrl+jjがメイン字幕を循環させるのと同じ方向にセカンダリ字幕を循環させ(字幕ストリームインデックスを増やします)、 Ctrl+Shift+j それらを反対方向に循環させますJ(字幕ストリームインデックスを減らします)。

Askubuntuに関する私自身の回答 に基づく。)

1
aplaice

VLCについてはわかりませんが、SMPlayerでできます。字幕を1つずつドラッグし、字幕メニューからプライマリ字幕とセカンダリ字幕を選択するだけです。

2
Morteza Ziyae