web-dev-qa-db-ja.com

「WindowsMediaPlayerはファイルを再生できません」mp4

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

1
David

誰かが同様の問題を抱えている場合...

結局のところ、問題はサーバー上のデジタル証明書に関連していた。

本番ボックスでは、証明書名はDNS名と一致します。テストボックスでは、そうではありませんでした。 (テストサーバーはそれぞれ多数のテストWebサイトをホストします。)したがって、証明書(「名前の不一致」)の警告が表示されます。しかし、警告を却下した後でも、他のタイプの静的コンテンツをダウンロードできます-PDFと画像(さまざまな形式)はすべて正常に機能しました-何らかの理由で機能しなかったのはメディアプレーヤーだけでした。

サーバー管理者は、証明書の警告を却下すると、証明書名の不一致は問題にならないことを保証してくれました。そして、それは私にとって合理的であり、私が知っていたことと一致しているように見えました。そうでなければ、元の投稿でそれについて言及していました。

しかし、Fiddlerを実行している状態でMP4ファイルにアクセスしようとすると、(Fiddlerから)2番目の証明書の不一致エラーポップアップが表示されました...そして「このエラーを無視して続行」と言った後、ビデオは実際に再生されました。

だから私の最も良い推測は:

  • (別の警告ダイアログをポップアップする代わりに)名前の不一致が原因で、MediaPlayerのダウンロード要求がサイレントに失敗していました。
  • ...無効なコンテンツになります
  • ...コーデックの問題があったことを示すエラーメッセージが表示されます。

ここでいくつかの問題が発生したように思われます。

  • 「エラー」を無視するようにブラウザ(つまり、発生した場合)にすでに指示していたので、証明書は問題ではなかったはずです。
  • それが問題だったとしても、なぜ私が別の証明書の警告を受け取らなかったのか理解できません(Fiddlerを使用してサイトにアクセスしようとするまで)。
  • エラーがWMP内に正しくトラップされていれば、別の(誤解を招きにくい)エラーメッセージが表示されるはずです。

しかし、証明書は更新の予定でした...更新されたときに、サイト名が証明書に「エイリアス」(サブジェクト代替名別名「SAN」)として追加されました。そのため、テストサイトで証明書名の不一致の警告が表示されなくなり、ビデオは正常に再生されます。

1
David