web-dev-qa-db-ja.com

WebブラウザーでMKVビデオを再生する方法

MPEG4ビデオコーデックとAC3オーディオコーデックを備えたMKVビデオをMozillaまたはChromeを使用してオンラインで再生できるようにしようとしています。ビデオを再生するがオーディオは再生せず、AC3が独自のコーデックであるため、サポートされているコーデックに含まれていないネイティブHTML5を含む複数の方法を試しました。そのためのコードは次のとおりです。

<video width='1024' height='768' controls autoplay> 
<source src="path_to_src" type='video/x-matroska'</video>

次に、VLC Webプラグインを使用しようとしました(VLCはファイルを正しく再生できることを知っています)が、まだファイルを再生するようになっていないため、この方法を使用する例にはあまり一貫性がないようです。 VLCプラグインを使用してこれまでに試したことがあります。

<embed type="application/x-vlc-plugin" version="VideoLAN.VLCPlugin.2" 
width="1024" height="768" id="vlc" autoplay="yes" target="path_to_file"></embed>

VLCページ here はこれを追加するように言っています:

<object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
 codebase="http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab">

ただし、コードベースはもう存在しないようで、そのclassidを上記のコードに追加しても、ファイルの再生には影響しません。どちらの方法でもVLCプレーヤーボックスが作成されますが、何も再生されず、開発者コンソールにはエラーが表示されません。

私の質問は、AC3オーディオをネイティブHTML5プレーヤーで再生するための回避策を知っている人はいますか、VLC Webプラグインの正しい構文は何ですか?または、誰かが推奨する別のプレーヤーを持っていますか?ありがたいすべての助けに感謝します!

15
Alex Meyer

この次のコードを使用できます。chrome browser。

 function failed(e) {
   // video playback failed - show a message saying why
   switch (e.target.error.code) {
     case e.target.error.MEDIA_ERR_ABORTED:
       alert('You aborted the video playback.');
       break;
     case e.target.error.MEDIA_ERR_NETWORK:
       alert('A network error caused the video download to fail part-way.');
       break;
     case e.target.error.MEDIA_ERR_DECODE:
       alert('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.');
       break;
     case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:
       alert('The video could not be loaded, either because the server or network failed or because the format is not supported.');
       break;
     default:
       alert('An unknown error occurred.');
       break;
   }
 }
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <meta name="author" content="Amin Developer!" />

 <title>Untitled 1</title>
</head>
<body>

<p><video src="http://jell.yfish.us/media/Jellyfish-3-Mbps.mkv" type='video/x-matroska; codecs="theora, vorbis"' autoplay controls onerror="failed(event)" ></video></p>
<p><a href="YOU mkv FILE LINK GOES HERE TO DOWNLOAD">Download the video file</a>.</p>

</body>
</html>
10
Amin

HTML5は.mkv/Matroskaファイルをサポートしていませんが、このコードを使用できます...

<video>
    <source src="video.mkv" type="video/mp4">
</video>

ただし、再生するかどうかはブラウザによって異なります。この方法はChromeで機能することが知られています。

8

HTML5とVLC Webプラグインは私には不向きでしたが、次のセットアップを使用してこの作業を行うことができました。

DivX Web Player

AC3オーディオデコーダー

そして、これがHTMLです:

<embed id="divxplayer" type="video/divx" width="1024" height="768" 
src ="path_to_file" autoPlay=\"true\" 
pluginspage=\"http://go.divx.com/plugin/download/\"></embed>

DivXプレーヤーは、ネイティブHTML5よりもはるかに幅広いビデオおよびオーディオオプションを使用できるように思われますが、これまでのところ非常に感銘を受けました。

4
Alex Meyer
<video controls width=800 autoplay>
    <source src="file path here">
</video>

これにより、Google Chromeブラウザのみを使用してビデオ(.mkv)が表示されます。

2
JohnC