it-swarm.com.de

Wiedergabe von MKV-Videos im Webbrowser

Ich versuche, ein MKV-Video mit einem MPEG4-Videocodec und einem AC3-Audiocodec für die Online-Wiedergabe mit Mozilla oder Chrome verfügbar zu machen. Ich habe mehrere Methoden ausprobiert, einschließlich nativem HTML5, das das Video, aber kein Audio wiedergibt, und von dem, was ich gelesen habe, ist AC3 ein proprietärer Codec, so dass er nicht in den unterstützten Codecs enthalten ist. Der Code dafür war wie folgt:

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

Ich habe dann versucht, das VLC-Web-Plugin zu verwenden (da ich weiß, dass VLC die Dateien korrekt wiedergeben kann), habe es aber noch nicht geschafft, eine Datei abzuspielen. Die Beispiele für diese Methode scheinen nicht sehr konsistent zu sein. Folgendes habe ich bisher mit dem VLC-Plugin versucht:

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

Die VLC-Seite hier sagt, dies hinzuzufügen:

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

Die Codebasis scheint jedoch nicht mehr zu existieren, und das Hinzufügen dieser Klassen-ID zum obigen Code hat keine Auswirkungen auf die Wiedergabe der Datei. Beide Methoden führen dazu, dass die VLC-Player-Box erstellt wird, aber nie etwas abgespielt wird und die Entwicklerkonsole keine Fehler anzeigt.

Meine Frage ist also, ob jemand eine Problemumgehung für die Wiedergabe von AC3-Audio im nativen HTML5-Player kennt oder welche Syntax für das VLC-Web-Plugin richtig ist. Oder hat jemand einen anderen Spieler, den er empfehlen würde? Jede Hilfe dankbar!

15
Alex Meyer

Sie können diesen folgenden Code verwenden. Arbeiten Sie nur mit 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 unterstützt keine .mkv/Matroska-Dateien, aber Sie können diesen Code verwenden ...

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

Aber es hängt vom Browser ab, ob es abgespielt wird oder nicht. Es ist bekannt, dass diese Methode mit Chrome funktioniert.

8

HTML5 und das VLC-Web-Plugin waren für mich kein Problem, aber ich konnte diese Arbeit mit folgendem Setup erledigen:

DivX Web Player

AC3 Audio Decoder

Und hier ist das 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>

Der DivX-Player bietet offenbar eine viel größere Auswahl an Video- und Audiooptionen als das native HTML5. Bisher bin ich davon sehr beeindruckt.

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

Dadurch wird das Video (.mkv) nur mit dem Browser Google Chrome) angezeigt.

2
JohnC