Streaming von Aufnahmen über HTTP, proof of concept only!

  • Hallo zusammen,
    Das streamdev-plugin kann bekanntlich Live-TV streamen, also sollte es kein Problem sein, dasselbe auch mit den Aufnahmen zu machen. Ist es auch nicht. Die Daten werden mit meinem Perlskript per HTTP auf Port 2005 angeboten und MPlayer spielt sie ab. Dies geht auch über Internet. Meine Skripte zeigen, dass es geht, der Komfort und die Sauberkeit des Codes gehen jedoch gegen Null. Man müsste die "Playlist" ebenfalls über HTTP im Browser anbieten und dann die zu streamende Aufnahme auswählen können. Dazu fehlen mir jedoch die Fähigkeit und die Zeit, die Fähigkeit zu erwerben, Perl-Gurus bitte vortreten! Alternativ darf jemand auch das streamdev-Plugin damit aufwerten. Hier also der Code:


    schleife.sh:


    sws.pl:


    Gestartet wird der "Server" mit "bash schleife.sh". Auf der Clientside nutzt man: "mplayer http://servername:2005".


    Viel Spaß und ich freue mich auf Rückmeldungen!

  • Streaming von Aufnahmen über HTTP mache ich schon länger.
    Mit einem normalen Webserver und VDRAdmin-AM geht das wunderbar.


    Jedoch habe ich festgestellt, dass nicht jeder Webserver das spulen innerhalb
    einer Aufnahme erlaubt. Apache und Lighttpd können es, der bei LinVDR
    enthaltene und irgendein Perl-basierter die ich probiert habe leider nicht.


    Wie sieht es denn bei deiner Lösung aus, kann man spulen?



    Monroe

  • Nein, meiner kann so gut wie gar nichts, ist auch nicht trivial, das dem MEncoder beizubringen.
    Wo kann man Deine Lösung nachlesen, wird die Bandbreite auf DSL-Upload runtergerechnet?

  • Zitat

    Original von jaypee
    Nein, meiner kann so gut wie gar nichts, ist auch nicht trivial, das dem MEncoder beizubringen.
    Wo kann man Deine Lösung nachlesen, wird die Bandbreite auf DSL-Upload runtergerechnet?


    Meine "Lösung" tut wahrscheinlich weniger als deine.


    Der Webserver hat Zugriff auf das Videoverzeichnis und überträgt einfach
    die angeforderten Dateien. Player ist bei mir VLC.
    Es findet keinerlei transcoding statt und ist somit für Internet eher untauglich.


    Dafür ist es mit VDRAdmin-AM als Frontend komfortabel zu bedienen.



    Monroe

  • Das Frontend wäre mit Perl auch recht simpel, könnte AM leicht in den vdradmin integrieren.
    Spulen ginge auch, wenn man dem MEncoder nach und nach einzelne GOPs liefern würde. Bevor die nächste GOP transcodiert wird, kann der Spulbefehl empfangen werden und der Sprung im File veranlasst werden. Geht alles prinzipiell, wenn man ein guter Programmierer ist.
    Soweit ich weiß, gibt es bis jetzt keine andere Lösung für schmale Bandbreiten.

  • Zitat

    Alternativ darf jemand auch das streamdev-Plugin damit aufwerten.


    Das wär genial, aber gab's da net mal ne Diskussion, warum das nicht nötig, oder nicht sinnvoll sei :lehrer1



    Michi

    HD-VDR-EG
    Software: yaVDR-0.4
    Hardware: ASRock M3N78D, Athlon II X2 240e, ASUS EN210, TeVii s480
    HD-VDR-DG:
    Software: yaVDR-0.4
    Hardware: ASRock N68-S3 UCC, Athlon II X2 245e, ASUS EN210, TeVii s480
    ---
    Don't sleep and build!

  • Die Idee kam mir deshalb, weil man viel Code davon benutzen könnte. Plugin erweitern, Teile davon kopieren oder ein extra Programm schreiben ist mir prinzipiell egal. Es fehlt nach wie vor eine Möglichkeit, Aufnahmen über DSL-Upload zu streamen, daher mein proof-of-concept. Vielleicht erbarmt sich ein fähiger Programmierer dieses Problems.

  • Was spricht denn gegen das streamen von Aufnahmen via VLC?
    Als Frontend dient mir dabei VDRadmin. Über die "Fernbedienung" vom Vdradmin habe ich dann ebenfalls alle Funktionen zur Hand.
    Und sogar das OSD wird übertragen.


    Der folgende Aufruf vom Streaming Client:


    Code
    vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp" :v4l-norm=3 :v4l-frequency=-1 --sout '#transcode{vcodec=h264,vb=300,scale=0.5,acodec=mp3,ab=16,channels=1}:duplicate{dst=std{access=http,mux=ts,dst=0.0.0.0:1234}}'


    startet auf dem Server den VLC und dieser
    schickt dann einen http h264/mp3 Stream (incl. OSD) ins Internet. Programme umschalten oder Aufnahmen abspielen....geht alles über Vdradmin.
    Ein halbwegs potenter Rechner ist natürlich Voraussetzung

    Linux Mint Helena (Ubuntu 9.10),
    Athlon X250 2x3.0 GHZ/4GB RAM
    VDR 1.6.x, Streamdev-Server 0.5, Live 0.2 (Eigenkompilate)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!