Open Source Streaming Solution

  • Hmm warum Bild aber kein Ton kommt kann eigentlich auch nur an Codecs liegen oder man hat den player gemuted ^^.


    Versuch mal den transcode Befehl von Hand in der console zu starten und teste voralle. Mal den transcodierten stream über einen weiteren vlc Prozess (also abspielen). Zudem kann dir wahrscheinlich mehr geholfen werden wenn du ein paar infos gibst. Welches Betriebssystem, welche vlc version usw.


    So einfach in die Glaskugel Schaum bringt nix.

  • Naja,


    HP Microserver, Linux Mint 16, aktuelle VLC Version, alles up to date!


    Wenn ich über den VLC den Stream schaue, dann zeigt er mir kein Audio an. Also wird erst garnichts mitgesendet.



    Könnte man da eine Audio Spur "hinzufügen".


    Code
    define("ADDITIONAL_TRANSCODE_OPTIONS","venc=x264{me=dia,subme=3,analyse=none,bframes=0,b-adapt=none,chroma-me=none,merange=12},");


    Hab damit heute Mittag experimentiert, hat aber nicht zum Erfolg geführt.
    Versuch es morgen nochmal.



    Danke dir.


    MfG



    edit:


    Habe noch ein bisschen gestöbert:


    In deinen Dateien, options.php und livestream.php steht was von Audio Codecs. Ich denke da muss ich was ändern, aber was genau weiß ich noch nicht. Ich habe KEINE Apfel-Geräte.


    Nur PC und Android.


    edit2:


    Ich vermute mal in meinem Fall Zeile 105-107

    Code
    default:
                //$output_options="std{access=http,mux=ts,dst=:8081/livestream.flv}"; // zum testen
                $output_options = "http{mux=ffmpeg{mux=flv},dst=:" . VLC_STREAMINGPORT ."/livestream.flv}";
  • Nein ich denke es ist ein anderes Problem.
    Zuerst mal würde ich kein file andern wenn ich nicht weiss was genau geändert werden muss. Sondern lieber den kompletten vlc transcode Ausruf aus dem Debüt log von Hand in der console starten, dann sieht man schon mal mehr.


    Ich glaube da Problem liegt daran, vlc nimmt sich beim transcode normalerweise den audio track welcher der aktuellen language settings deines systems oder vlc (ka ob mans dort irgendwo einstellen kann) und diesen nutzt er dann ( es wird ja zB nur ein audio track übernommen).



    Man kann es aber auch angeben
    https://forum.videolan.org/viewtopic.php?f=14&t=96757


    Alle möglichen und unmöglichen setting Möglichkeiten findet man zB hier
    http://www.videolan.org/doc/streaming-howto/en/ch03.html


    Versuche den transcode Aufruf anzupassen ich würde es mal mit
    --audio-language=de versuchen

  • Den debug log hab ich, sofern du den von im ordner /streaming meinst.


    nur leider versteh ich nicht was ich da jetzt in der console starten muss.

  • Na nen vlc transcode Aufruf :)
    Sowas wie das hier nur für Linux

    Code
    "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy http://192.168.5.32:8001/1:0:1:14:2:85:C00000:0:0:0: --audio-language=en --sout="#transcode{soverlay,ab=96,samplerate=44100,channels=2,acodec=mp3,vcodec=mp4v,width=640,height=360,vfilter="canvas{width=640,height=360,aspect=16:9}",fps=25,vb=768,venc=x264{vbv-bufsize=500,partitions=all,level=22,no-cabac,subme=7,threads=4,ref=2,mixed-refs=1,bframes=0,min-keyint=1,keyint=25,trellis=2,direct=auto,qcomp=0.0,qpmax=51}}:std{access=http,dst=0.0.0.0:8081/stream.flv}"


    Die audio language dann halt noch bei dir hinzufügen und mit de probieren. Dann halt in nen vlc versuchen den stream zu öffnen und Schaum was kommt.


    Du kannst bei deinem vlc Aufruf auch vlc -vvv (restliche settings dahinter) um in den verbose (Debüt) mode von vlc zu kommen. Ich glaub mit nur einem v gibt er auch genügend infos aus was dein Problem sein könnte warum du kein audio transcodiert bekommst.
    Ich Tipps auf fehlende mp3 Codecs oder language Problem siehe oben.

  • Hat von euch jemand die Streaminglösung schon mal mit dem IE11 (egal ob Metro oder Classic UI) unter Windows 8.1 zum Laufen gebracht?


    Bei mir dreht sich nur das Ladeteil und nichts passiert. Unterm aktuellen Firefox gehts.

  • Ja klappt alles wunderbar die Lösung hier.


    Habe sogar auf https umgestellt.


    Das streaming klappt wunderbar auch von ausserhalb.
    Der Streaming server läuft bei mir auf einem Headless debian7 system.


    nur mal ne Frage an Horizon


    Wo kann ich den flv port mit username und passwort absichern??



    Wenn ich das hier eintrage kommt bei showvideo "Video not found:http://user:password@........:8081/livestream.flv"


    // additional security for the flv stream on the VLC Streaming port to request a username + password
    // this settings should be filled if directly streamed without vpn connection.
    // sadly IE (Internet Explorer) doesn't use the settings from the request url, so you have to manually enter it.
    define("LOCAL_USERNAME","user");
    define("LOCAL_PASSWORD","password");



    Kann ich auch irgendwo einstellen das der flv stream nur über https geht?


    Zitat von Horizon:


    ACHTUNG:
    Seit zudem gewarnt, der FLV Port hat noch keinerlei Username + Passwort abfrage drin. Sprich wenn ein derartiger Stream läuft kann er von außerhalb von jedem auch abgefangen werden wenn er z.b. mit dem vlc player direkt den streaming port öffnet.
    Es folgt im laufe der nächsten Tage denke ich noch eine verbesserte Version die noch eine Abfrage oder sonstigen Schutz einbaut.

    Es ist gelogen dass Videogames Kids
    beeinflussen. Hätte PacMan das getan, würden wir heute durch dunkle Räume irren, Pillen fressen und elektronische Musik hören

    3 Mal editiert, zuletzt von dArk4psyco ()

  • Moin,


    seit iOS 8 kann ich kein HTACCESS mehr nutzen, scheint wohl irgendeine Safari-Sache zu sein. Jemand schon eine Lösung dafür?


    Server: Apache2 unter MacOS.


    .htaccess:


    Er hängt dann beim Play-Button vom Videoplayer (m3u8-Datei)

  • jo, das gleiche Problem habe ich auch

    Es ist gelogen dass Videogames Kids
    beeinflussen. Hätte PacMan das getan, würden wir heute durch dunkle Räume irren, Pillen fressen und elektronische Musik hören

  • Habe leider kein IOS 8 Gerät um zu testen, wurde ja denke ich nichts bzgl m3u8 /codecs / was auch immer geändert oder doch?
    Eventuell ein VLC Problem vllt hift ein Update.


    Ich kann mir nicht vorstellen, dass das m3u8 nicht mehr geladen werden kann welches von vlc generiert wird.


    dArk4psyco das mit dem vlc absichern hast du falsch verstanden siehe pm.
    "Absichern über https" geht nicht so einfach weil der FLV Streaming port ja von vlc geöffnet wird.
    Über die username + passwort settings ist es quasi "gesichert" aber über paket mitloggen bekommt man die requests mit und kann diese Daten mitlesen.


    in der derzeitigen variante wird nur http genutzt aber das lässt sich denke ich ändern.


    Mehr dazu hier Stichwort "access" und "dst"


    https: streams over HTTP, using a secured SSL connection.
    http://www.videolan.org/doc/streaming-howto/en/ch03.html


    Man muß halt denke ich ein wenig code anpassen und die links zu den Zertifikaten anpassen dann müsstes denke ich auch über ssl gehen.


    einfach die transcodebefehle mal aus dem log kopieren erweitern und von hand ausführen dann sieht man am besten wann es geht.

  • die Dateien .htaccess und .htpasswd löschen und schon geht´s weiter auf iOS.


    ABER: ohne Passwortschutz!

  • Danke für deine tolle Arbeit, hab dein OSS php script die Tage erst entdeckt.
    Es ist bei mir die einzige Möglichkeit, mittels VLC 2.1.5 auf nem debian server ohne X zu streamen.


    Alle anderen Sachen, schlugen wegen zu neuem VLC, zu neuem python usw. fehl.

  • hab die tage mal nen https stream mittels VLC gemacht.
    Nachteil ist dass man den stream nicht mehr im eingebauten jwplayer abspielen kann, hab das auch nicht weiter verfolgt, da ich den vlcplayer nutze.
    VLC-Player an, mittels Handy umschalten, fertig.


    mein server läuft auf debian, als erstes muss man die zertifikate mittels gnutls erstellen.


    Testen kann man, wie folgt:
    Die entsprechend dreambox auf "Das Erste" stellen
    in der serverconsole, vlc mit einem User ohne root, wie folgt starten

    Code
    vlc -I dummy http://root:dreampass@192.168.0.23:8001/1:0:1:6DCA:44D:1:C00000:0:0:0: --http-cert=/etc/ssl/certs/servercert.pem --http-key=/etc/ssl/certs/serverkey.pem --sout=#transcode{vcodec=h264,acodec=mp3,samplerate=44100,venc=x264{me=dia,subme=3,analyse=none,bframes=0,b-adapt=none,chroma-me=none,merange=12},scale=1,aspect=16:9,width=720,fps=25,vb=1300,ab=64,channels=2}:http{access=https,mux=ffmpeg{mux=flv},dst=:8080} --sout-http-user=streamuser--sout-http-pwd=streampass


    dreampass & IP`s muss natürlich angepasst werden.


    VLC Player starten, Netzwerkstream öffnen. Adresse wäre hier https://192.168.0.249:8080
    stream sollte starten.
    Bei mir funktionierte https-stream mit dem release vom 2.2.1 VLC-Player.


    Um hinter einer FW mit offenem 443 port auf den stream zu kommen einfach den stream mit port 443 öfnnen und den port auf deinem router auf port 8080 umleiten.
    https://deine_url.org:443


    um das ganze mit der Open Source Streaming Solution zu nutzen, muss noch die config.php auf https umgestellt werden.


    Ausserdem noch die livestream.php angepasst werden, damit das php script den vlc server wie oben startet.


    Wenn da Interesse besteht, uppe ich hier die 2 dateien.

    Einmal editiert, zuletzt von Erim ()

  • horizons


    machst du noch weiter an dem php script?
    Nutze das Teil hier immer noch, vlc ist was das transcoding angeht dem nativen transcoding bei weitem überlegen.


    Zum Thema https stream bin ich zu ner Proxy-Lösung via nginx und letsencrypt Zertifikaten übergegangen.
    Hat den Vorteil dass der stream auch via jwplayer abgespielt werden kann. Außerdem können mehrere Leute auf den ein und selben stream zugreifen.


    Wirklich Schade dass das Thema hier eingeschlafen ist.

  • Ja da hast du recht erim, ich finde den streaming server auf perfekt.


    Wäre schön wenn es hier weiter gehen würde.

    Es ist gelogen dass Videogames Kids
    beeinflussen. Hätte PacMan das getan, würden wir heute durch dunkle Räume irren, Pillen fressen und elektronische Musik hören

  • Hmm hier tut sich ja leider nicht mehr viel.


    Erim:


    Hast du zufällig mal die nginx config zur Hand um den Stream per reverse proxy abzusichern?


    Würde das auch gerne so machen.


    Danke

    Es ist gelogen dass Videogames Kids
    beeinflussen. Hätte PacMan das getan, würden wir heute durch dunkle Räume irren, Pillen fressen und elektronische Musik hören

  • Sorry, für die sau späte Antwort


    der stream hat port 8844, ich habe dass dann mit einer portweiterleitung auf der fritz gemacht.


    443 --> 8844