web-dev-qa-db-fra.com

Streaming en direct avec HTML5 - Plus comment le faire YouTube?

J'ai donc une wii u maintenant et testé youtube en direct en direct ... et cela a fonctionné parfaitement. Wow, je pensais, je dois savoir quel type de codec, format de conteneur, protocole, etc. est utilisé, mais j'ai un peu échoué à cette tâche.

J'ai essayé d'utiliser Chrome pour accéder à la version en direct YouTube, mais avant un <video> Étiquette qui me donnerait ce type d'informations dans son numéro d'information source Paramètre pourrait même figurer dans le DOM, il m'a dit que le navigateur ne supporte aucun des formats vidéo disponibles. J'ai essayé de même en utilisant différents navigateurs (Opera, FF, IE9). Désactiver Flash, forçant ainsi le joueur HTML5 à lancer. J'ai toujours eu le même message.

Wow, donc le streaming HTML5, jusqu'à présent, ne fonctionne que sur ma Wii U ... et probablement les IOS Devices, mais je n'en ai pas un de ceux-ci.

D'accord, donc essentiellement ce que j'aimerais savoir: comment réalisent-ils le <video> En direct streaming? Quel format de conteneur, codecs, etc. est utilisé? Je ne peux pas accéder vraiment cette information avec ma connaissance.

Et des conseils sur la manière de reproduire ledit format. Je n'essaie pas de diffuser quelque chose dans le monde entier - je suis plutôt d'essayer de diffuser quelque chose à ma Wii U, tout autrement n'aurait pas beaucoup de sens à ce stade. Je ne essentiellement besoin de quelque chose qui accepte une entrée DirectShow sur Windows.

6
sinni800

YouTube utilise réellement la méthode HLS "Streaming en direct HTTP" que Apple inventé et tente de normaliser.

J'ai répliqué cette méthode utilisant une ligne de commande élaborée pour VLC et un serveur Web HTTP et il a fonctionné sur la Wii U.

Voici la ligne de commande:

"c:\program files (x86)\videolan\vlc\vlc" -I rc dshow:// vdev="XSplitBroadcaster" adev="XSplitBroadcaster" size="1280x720" --sout=#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96,channels=2}:std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=C:\inetpub\wwwroot\stream\stream.m3u8,index-url=http://dennis/stream/stream-########.ts},mux=ts{use-key-frames},dst=C:\inetpub\wwwroot\stream\stream-########.ts}

Ici, pour une configuration rapide, le code HTML est-il accessible à ce flux:

<!doctype html>
<html>
<head></head>
<body>
<video width="320" height="240" controls="controls">
    <source src="/stream/stream.m3u8" type="application/x-mpegURL" />
</video>
</body>

</html>

Quiconque utilise cela, vous devrez changer toutes les variables là-bas. Il utilise des "fichiers du morceau" qu'il met sur l'onwoot du serveur Web qui peut ensuite être diffusé par un iDevice ou une Wii U.

Personnellement, je pense que cela aurait le meilleur endroit sur un Ramdisk, car les données changent rapidement et il n'y a pas beaucoup de données à la fois.

7
sinni800