web-dev-qa-db-ja.com

SMIファイルを使用して、WMPで複数の言語の字幕を表示する

9言語の字幕翻訳を含むSMIファイルがあります。元のファイルはUTF-8エンコーディングを使用しているため、メモ帳でテキストファイルを表示すると問題なく表示されます。

SMIファイルと同じ名前のWMVビデオがあるので、ビデオは字幕にSMIファイルを使用し、すべての字幕ドロップダウンリストを表示しますSMIファイル内の言語(必要に応じて): enter image description here

ただし、このエンコーディングを使用すると、英語のみが正しく表示されます。特殊文字を含む言語テキストは、Wingdingsフォントのように表示されます。

enter image description here

SMIファイルを複数のエンコード形式に再保存してみました。

ANSIとして保存すると、フランス語、スペイン語、イタリア語、ドイツ語などの特別なアクセントのある言語がファイルに正しく保存され、Windows MediaPlayerに表示されます。すべてのアジア文字は「?」に変換されます。

enter image description here

UCS-2(Unicode)として保存すると、すべての言語がメモ帳で正常に表示されますが、WMPはSMIファイルを認識しなくなったため、字幕は使用できません。

enter image description here

SMIテキストファイルをエンコードして、すべての言語がそこに保存され、Windows Media Playerで正しく表示されるようにするにはどうすればよいですか?WMPは、サブタイトルを表示するときにすべてをANSIに変換しているようです。

SMIファイルとWindowsMediaPlayerを使用する必要があります-それは私の制御不能です。

1
ikathegreat

どうやら、この質問への答えはノーです-それはできません。

http://us.generation-nt.com/cant-get-wmp-recognise-utf-8-sami-file-help-41182582.html

ビデオソフトウェアのテクニカルサポートにもメールを送りましたが、これが彼らの返答でした。

ほとんどのサイト(Microsoftを含む)は、クローズドキャプション付きのファイルの再生にWindows MediaPlayerを推奨していないことに注意してください。クローズドキャプションをビデオに埋め込むか(WMVファイルではサポートされていません)、VLC Media Playerなどのより強力なメディアプレーヤーを使用するか、最後に、ビデオをSilverlight Webページとして作成することをお勧めします(作業により、キャプションを含めることができます)。 )。 Windows MediaPlayerでキャプションをオンにする簡単な方法は本当にありません。

0
ikathegreat

可能です。 Unicode文字のhtmlコードを使用する必要があります。 sami自体はUnicodeをサポートしていないutf-8ファイルであると考える必要があります(Unicode値を入力すると、Windows Media Palyerを使用して正しく解析および表示されないため)。ただし、すべてのアルファベットのhtmlコードを使用して、すべての言語をサポートするすべての種類のUnicode文字を表示できます。これは退屈な仕事になる可能性があります。これをスクリプト化するか、プログラミング言語でコードを書くことができれば、これは簡単です。

0
Atiq Rahman