VLC - RTP Streaming / Screen Streaming

Digital Recording
Therket
Interessierter
Interessierter
Beiträge: 32
Registriert: Dienstag 7. August 2007, 20:23

VLC - RTP Streaming / Screen Streaming

Beitrag von Therket »

Hallo,

ich hoffe, dass ich hier im Grab-Forum richtig bin, denn eigentlich geht es mir eher um das Streaming PC -> Dbox, als andersrum.

Ich habe mal ein wenig mit den verschiedenen Streaming-Möglichkeiten in Neutrino herumgespielt, allerdings für mich bislang noch nicht die optimale Lösung gefunden.

Folgende Ausgangssituation:
- DBox2 mit Neutrino
- Pentium 3, immer an, mit reichlich Festplattenplatz
---Aufnahmeserver mit "dboxwinserver (ggrab-engine, als mpg-aufnehmen)", Aufnahme auf NTFS-Platte
---VLC-Streaming-Server (mangels CPU-Last ausschließlich ohne Transcoding nutzbar)
---Eisfair in VMWare, mit CIFS und NFS-Share
- Athlon, Arbeitsrechner
---alternativer VLC-Streaming-Server, da Transcoding möglich

Mit dem Aufnahmesystem bin ich sehr zufrieden, hier habe ich nur selten Streamabbrüche.
Ich habe hier jedoch ein aufgenommenes mpg, welches sich ohne Transcoding nicht über VLC abspielen lässt, da die Datenrate zu hoch wird.
Testweise habe ich diese Datei mit VLC in ein ts-file transcodiert und auf dem Eisfair-NFS-Share abgelegt. Von hier kann Neutrino problemlos abspielen.
Natürlich kann ich auch über den Arbeitsplatzrechner mit Transcoding abspielen.

Offensichtlich ist das VLC-Streaming also weniger effizient, als über die 10MBit-Schnittstelle möglich wäre.

Daher meine erste Frage:
Hat man sich schonmal mit dem RTP-Unicast Streaming beschäftigt? Dieses dürfte rein theoretisch weniger Overhead erzeugen als das HDDP-Streaming. Vielleicht gibt es ja schon bekannte Gründe, warum das nicht geht (in der Suche nichts gefunden). Sonst würde ich mich bei Gelegenheit mal damit beschäftigen (wobei ich mir in C / C++ momentan noch sehr schwer tue, bin verwöhnter C#-Mensch).

Als näherliegende Lösung könnte ich mir ein Skript vorstellen, dass zwischen den Streaming-Servern (mit entsprechenden Optionen) umschaltet. Ich habe bereits versucht, die neutrino.conf entsprechend zu bearbeiten, die wird aber (eigentlich logischerweise) nicht beim Start des Movieplayers neu ausgewertet.
Gibt es hier eine Alternative, außer Neutrino jedesmal komplett neu zu starten?


Da bei mir das VNC-Plugin extrem langsam abläuft, habe ich mal ein wenig mit dem "Screen Streaming" über VLC gespielt. Das ganze funktioniert in der Theorie auch recht gut.
Server:

Code: Alles auswählen

vlc.exe screen:|| --screen-fps=5 --sout="#transcode{vcodec=mp2v,vb=3000,width=
800}:std{access=hddp,mux=ts,dst=localhost:8080}"
Hier die Pipes (||) durch Backslashes (\\) ersetzen, sowie hddp korrigieren, ich darf noch keine Links posten ;-)

Client (testweise auf dem gleichen Rechner geöffnet):

Code: Alles auswählen

vlc.exe hddp:||localhost:8080
Dazu dann gleich die Frage: Gibt es eine Möglichkeit, verschiedene Anfragen an VLC über irgendwelche Parameter o.ä. zu testen oder ist das Zusammensetzen des HDDP-Request hardcoded (im Movieplayer) und muss entsprechend neu übersetzt werden? Ich habe schonmal gesucht, aber dummerweise nichts gefunden :-(

Und noch eine Frage hinterher :-)
Gibt es bei MPEG2 eigentlich auch Constant Bitrate oder nur Variable Bitrate? Falls auch CBR möglich ist, wie kann ich mir denn da mal mit vlc oder ffmpeg oder ... ein paar Testfiles mit definierter Größe bauen?

Vielleicht habt ihr ja ein paar Ideen.

Gruß
Jens
wolgade
Semiprofi
Semiprofi
Beiträge: 1313
Registriert: Donnerstag 2. Dezember 2004, 00:18

Re: VLC - RTP Streaming / Screen Streaming

Beitrag von wolgade »

Therket hat geschrieben:Gibt es bei MPEG2 eigentlich auch Constant Bitrate oder nur Variable Bitrate? Falls auch CBR möglich ist, wie kann ich mir denn da mal mit vlc oder ffmpeg oder ... ein paar Testfiles mit definierter Größe bauen?
Ja, CBR ist möglich, mit ffmpeg habe ich allerdings auch noch nichts gebacken gekriegt. Mit mpeg2enc geht das aber. Mit -b <Bitrate/kbps> kannst du das einstellen.