2016-03-31 7 views
1

Ich mache http Live-Streaming (HLS) -Server mit NodeJS. Jetzt habe ich zwei Varianten: ffmpeg und VLC. Mit ffmpeg Ich weiß Befehl -re (Lesen Eingabe mit native Bildrate. Hauptsächlich verwendet, um ein Grab-Gerät oder Live-Eingangsstrom zu simulieren (z. B. beim Lesen von einer Datei)). Ich brauche das für Echtzeit-Streaming (Pseudo-Live-Kanal) aus Datei.VLC HLS lesen Eingang mit nativer Bildrate für Echtzeit-Streaming

Als Ergebnis erwartete ich „Live“ auf dem Video-Player in Browser unterschreiben, und nicht in der Lage sein, rewind über Video (Video.js Player oder hls.js Bibliothek)

zu machen, aber wie kann ich dies tun, mit VLC? Vielleicht kennen Sie einige Befehle?

Antwort

1

Aber wie kann ich das mit VLC? Vielleicht kennen Sie einige Befehle?

Schritt 1: livehttp Modul mit VLC Verwenden Sie Ihre Datei Quelle

vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=4096,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}' 

Schritt 2 ReStream: Veröffentlichen Sie Ihre HTTP-Live-Streaming Playlist (m3u8) über HTML 5

<video> 
<source src="/path/to/your/index/prog_index.m3u8" /> 
</video> 

Diese erstellt einen Videoplayer in HTML 5 ohne die Möglichkeit, in Ihrem Video zurückzuspulen, also "live" oder "pseudo live", wie immer Sie es nennen möchten.

Siehe die folgende Frage Details zu general architecture und ein longer explanation auf die Umwelt beteiligt

+0

Thank you! Es ist genau das, was ich erwartet habe, auch in guter Qualität. Aber ich weiß nicht, warum .ts-Dateien ohne Ton produziert wurden. Ich denke, ich kann es beheben. Welcher Teil Ihres Befehls ist verantwortlich für das Lesen von Eingaben bei nativer Bildrate? – Optio