web-dev-qa-db-ja.com

ヘブライ語とロシア語の字幕を同時にサポートするにはどうすればよいですか?

ロシアの潜水艦で映画を見ようとすると、(ヘブライ文字で)意味不明になります。システムの英語以外のサポート言語(そのようなもの)を変更すると、ロシア語がサポートされることがわかりました。しかし、ヘブライ語の潜水艦でも同じ問題が発生します。

両方の言語で同時にサポートできる方法はありますか?

p.s私はWIN7を使用しています

2
11alex11

あなたが取らなければならないいくつかのステップがあります:

  1. Unicodeをサポートする字幕レンダリングにはDirectShowフィルターを使用する必要があります( DirectVobSub など)。もちろん、映画再生ソフトウェアはそのフィルターを使用する必要があります。使用している映画プレーヤーを言わなかったため、正確に言うことはできません。

  2. 必要なすべての文字を含むフォントを使用する必要があります(たとえば、デフォルトのArialは正常に機能します。フォントでのヘブライ語のサポートはせいぜいパッチが多いため、派手なものに変更しないでください)。

  3. 最も重要:字幕は TF-8 でエンコードする必要があります。

    a。字幕が外部の場合は、 iconvWindowsバージョン )などのソフトウェアを使用して字幕をUTF-8に変換し、正しいソースエンコーディング(Windows-1255)を使用していることを確認してください。ヘブライ語の場合はWindows-1251、ロシア語の場合はWindows-1251)であり、ターゲットは常にUTF-8である必要があります。

    b。字幕がビデオファイルの内部にある場合は、最初に字幕を抽出する必要があります。 MKVファイルの場合、 mkvtoolnix を使用して字幕を抽出し、上記の「a」と同じようにトランスコードして、MKVにパックし直します。他のビデオファイルコンテナの場合は、適切なツールを使用して字幕を抽出します。

1
haimg

まず、Arialのように、使用するすべての言語(実際にはスクリプト)の文字を含むフォントを使用します。それ以外の場合、フォントにない文字は正方形として表示されます。

ここで、エンコードを正しく行う必要があります。そうしないと、前述のように正しくない/ガベージ文字が表示されます。 3つのオプションがあります。

1。字幕がビデオ自体にエンコードされているビデオ

あなたがそれを得ることができれば、それは最も簡単です...

2。Windows-1255(ヘブライ語)やWindows-1251(ロシア語)などの言語固有の文字セットの字幕

  • 言語固有の文字セットでエンコードされた字幕を使用します-ほとんどが最近です。
  • 字幕がエンコードされている文字セットをプレーヤー/ DirectShowフィルターに通知します。[VLC]で、[ツール]-> [設定...]-> [字幕とOSD]-> [デフォルトのエンコード]で設定します。毎回設定する必要があります-面白くない
  • プレーヤー/ DirectShowフィルターにそのオプションがない場合は、システムの英語以外のサポート言語で通知し、再起動する必要があります。 さらに面白くない

。[UTF-8]の字幕-未来への道

  • VLCや[DirectVobSub]の例のように、UTF-8字幕を表示できるプレーヤー/ DirectShowフィルターを使用します。
  • UTF-8でエンコードされた字幕を使用します。

残念ながら、最近利用可能なほとんどの字幕はUTF-8でエンコードされていません。あなたはそれらを変換することができます:

a。字幕が外部の場合は、[iconv]([Windowsバージョン])や[SubtitleEdit]などのソフトウェアを使用してください。正しいソースエンコーディング(ヘブライ語の場合はWindows-1255、ロシア語の場合はWindows-1251)とターゲットエンコーディング(UTF-8)を使用していることを確認してください。

b。字幕がビデオファイルの内部にある場合は、最初に字幕を抽出する必要があります。 MKVファイルの場合、[mkvtoolnix]を使用して字幕を抽出し、上記の「a」のように変換して、MKVにパックし直します。その他のビデオファイルコンテナについては、適切なツールを使用してください。

1
Jonathan