Webサイトでホストされている.mp4ビデオがあります。 Webサイトの製品版からビデオを再生できますが、サイトのテスト版からは再生できません。
本番Webサイトの.mp4MIMEタイプはvideo/mpeg
、これは明らかに正しくありません ここ を参照してください。テストサーバーではMIMEタイプが正しく設定されていますが--video/mp4
-しかし、メディアプレーヤーはファイルを再生できないと言っています。 (また、本番Webサイトに一致するようにMIMEタイプを変更しても、問題は修正されません。)
これは、MIMEタイプが問題ではないことを示しているように思われます。
このマイクロソフトサポート技術情報の記事 によると、コーデックをインストールしない限り、Media Player12でも.mp4ファイル形式はサポートされていません。ただし、前述のように、再生は制作サイトから機能します...そして、ビデオを右クリックしてデスクトップにダウンロードすると、デスクトップからも再生できます。
コーデック(またはコーデックの欠如)が問題ではないことを示しているように思われます。
...しかし、コーデックパックをインストールすると、(テストWebサイトから)ビデオを再生できます。
言うまでもなく、私は混乱しています。誰かが光を当てることができますか?
Windows 7(エンタープライズ)x64
メディアプレーヤー12
Windows Server 2008 R2/IIS 7.5
誰かが同様の問題を抱えている場合...
結局のところ、問題はサーバー上のデジタル証明書に関連していた。
本番ボックスでは、証明書名はDNS名と一致します。テストボックスでは、そうではありませんでした。 (テストサーバーはそれぞれ多数のテストWebサイトをホストします。)したがって、証明書(「名前の不一致」)の警告が表示されます。しかし、警告を却下した後でも、他のタイプの静的コンテンツをダウンロードできます-PDFと画像(さまざまな形式)はすべて正常に機能しました-何らかの理由で機能しなかったのはメディアプレーヤーだけでした。
サーバー管理者は、証明書の警告を却下すると、証明書名の不一致は問題にならないことを保証してくれました。そして、それは私にとって合理的であり、私が知っていたことと一致しているように見えました。そうでなければ、元の投稿でそれについて言及していました。
しかし、Fiddlerを実行している状態でMP4ファイルにアクセスしようとすると、(Fiddlerから)2番目の証明書の不一致エラーポップアップが表示されました...そして「このエラーを無視して続行」と言った後、ビデオは実際に再生されました。
だから私の最も良い推測は:
ここでいくつかの問題が発生したように思われます。
しかし、証明書は更新の予定でした...更新されたときに、サイト名が証明書に「エイリアス」(サブジェクト代替名別名「SAN」)として追加されました。そのため、テストサイトで証明書名の不一致の警告が表示されなくなり、ビデオは正常に再生されます。