Open Source Streaming Solution

  • jep es gab wirklich noch ein kleines Problemchen in der livestream.php (iphone streamen hats von außerhalb nicht belastet) nur das interne funktionierte nicht.


    Ich war leider die ganze Zeit beschäftigt und kam jetzt erst dazu...

    Code
    if ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || $_SERVER['SERVER_ADDR'] == '::1')
     $vlc_streamurl = 'http://' . localhostip . ':' . VLC_STREAMINGPORT . '/livestream.flv&autostart=true';
     else
    $vlc_streamurl = 'http://'.preg_replace($pattern='(:[0-9]{1,5})' , $replacement='' ,$_SERVER["HTTP_HOST"]) . ':' . VLC_STREAMINGPORT . '/livestream.flv&autostart=true';


    das hier sollte die überall funktionierende Lösung sein.
    mit SERVER_NAME bekomme ich die Ip aber ich habe lieber den dyndns namen drin in der url. Aber mit deiner lösung svoerie funktioniert es auch.


    Gemerkt hab ich dooferweise das ganze Problem nicht, da ich es von außerhalb mit 3g nur mit dem iphone testete (nicht von dem Problem betroffen) und PC von jemanden mit VPN Verbindung zu mir testen lies.. was mit der internen ip natürlich dann auch immer ging :zensiert:.
    naja aber nun ist die lösung ja gefunden. :hurra:



    im übrigen kann jemand mit OSX und oder Linux noch folgendes bestätigen?
    ich hab noch einen Fehler in der Datei helper_functions.php in der Funktion start_VLC gefunden.
    Bei meinem Kollegen mit OSX lief es zwar auch vorher schon richtig, aber gestern hatte jemand Probleme mit einem Linux System.
    Beim Starten des Streamings kam es dazu dass der Browser danach nur lädt und lädt und lädt und nichts passiert. Was sogar dazu geführt hat, dass der Zugriff aufs Webinterface komplett von dem genutzten Rechner gesperrt war.
    Problem war folgende Zeile im start_VLC aufruf

    Code
    exec ($commandline.' &> /dev/null &',$output);

    welche denke ich richtig heißen müsste

    Code
    exec ($commandline.' > /dev/null &',$output);


    Kann das jemand mit linux / osx mal ausprobieren ob es nach dieser Änderung noch normal läuft?

  • hallo, ich kann mich nur wiederholen horizons... klasse arbeit.
    nur noch eine kleine frage. (ich bin kompletter laie).
    gibts die moeglichkeit dem ganzen https beizubringen?


  • zum 1ten: funzt jetzt ....dyndns wird jetzt ordentlich eingefügt


    zum 2ten: ja funkt noch alles nach der Änderung

  • Zitat

    Original von herrmann-s
    hallo, ich kann mich nur wiederholen horizons... klasse arbeit.
    nur noch eine kleine frage. (ich bin kompletter laie).
    gibts die moeglichkeit dem ganzen https beizubringen?


    klar geht das man muß nur open ssl installieren, im apache ssl anschalten und eben deine ssl zertifikate erstellen.


    ich denke man braucht erstmal das apache addon für ssl
    http://www.wampserver.com/en/#addons-apache


    und dann müsste es denke ich so ablaufen wie hier in der anleitung
    http://www.phpjoel.com/2011/04…nssl-on-a-wamp-localhost/
    oder vielleicht besser noch nach dieser Anleitung (da es vom dem wamp kommt den ihr ja installiert habt)
    http://forum.wampserver.com/read.php?2,32986


    Aber das ganze ist schon etwas "aufwändiger", ich selbst erstelle lieber ne Vpn Verbindung zu meinem Router. Die brauche ich sowieso um auf alle meine internen geräte zuzugreifen.

  • ok ich werd mich mal an ssl versuchen. openvpn hab ich auch laufen, nur hab ich da manchmal probleme mit der geschwindigkeit. (zumindest gefuehlt, ob das "wissenschaftlich" nachweisbar ist weiss ich nicht :) )

  • Zitat

    Original von herrmann-s
    ok ich werd mich mal an ssl versuchen. openvpn hab ich auch laufen, nur hab ich da manchmal probleme mit der geschwindigkeit. (zumindest gefuehlt, ob das "wissenschaftlich" nachweisbar ist weiss ich nicht :) )


    ok die geschichte scheitert schon im ansatz.


    die fehlermeldung:


    the ordinal 320 could not be located in the dynamic link library ssleay32.dll


    ich hab zwar im netz gesucht bin aber nich fuendig gworden was dieser fehler genau zu bedeuten hat.
    also back to the realworld ... openvpn

  • Kann man die Qualität noch weiter runterschrauben?
    Ich bin schon auf min. qualität und es werden immer noch ca. 500kb/s benötigt. Da ist leider mein upstream zu gering und der stream bricht nach ein paar Sekunden ab.

  • You can not configure a guaranteed maximum bitrate because the video is encoded in variable bitrate (H.264). However, if in the options you configure 12,5 fps, a width of 240 pixel, 200kbs video bitrate and a mono audiostream with a bitrate of 16kbs then the real bitrate is between 150-300kbs. Sometimes there will be peaks higher than 300kbs.


    EDIT: you can edit the min. videobitrate in pages/options.php and put 100 instead of 200. If you then set 100kbs in the options gui and a width of 180 pixel then you can stream with a total bitrate of 100-150kbs. Still good enough on a mobile phone (maybe even still working with an EDGE mobile data connection).

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

    3 Mal editiert, zuletzt von jockyw2001 ()

  • horizons


    Nachdem es nun läuft, erstmal ein herzliches Dankeschön für Deine Arbeit und diese tolle Lösung!
    :danke:


    Hier nun noch die gewünschten Daten:


    OS: Windows Vista
    CPU: AMD Turion 2 GHz
    CPU-Last SD: ~45 %
    CPU-Last HD: ~90 %
    jeweils mit Default Streaming Optionen
    Box: Enigma2
    Linksource: Enigma2


    Übrigens: Mir ist noch die Idee gekommen, dass ein Zugriff auf die HDD, insbesondere das Filmarchiv, auch noch eine Option wäre. Evtl. könnte man die auch noch streamen. Habe aber natürlich keine Ahnung, wie schwer das zu realisieren wäre.

  • Hi,


    kann jemand von Euch alle veränderten bzw. notwendigen Konfigfiles hochladen, die für den externen Zugriff von einem anderen PC fürs streamen notwenig sind.


    Irgendwie hab ich gerade ein wenig den Überblick verloren :face_with_rolling_eyes:.


    Danke
    Roli

  • Eigentlich fehlen zu den Standardfiles nur folgende Einstellungen:


  • Hi,


    das habe ich eigentlich alles gemacht, aber irgendwo dürfte ich noch nen Fehler drinnen haben.


    Ich vermute mal im livestream.php.


    Bei mir siehts nun so aus (Zeile 232 - 244:



    bzw. kannst du mir das livestream.php raufladen?


    LG
    Roli

  • Ok, hab ich gemacht, jetzt kommen wir der Sache schon näher, denn nun steht die dyndns.org Adresse drinnen.


    Aber er kann immer noch nicht aufs Video zugreifen... Im Router habe ich sowohl Port 80, 8081 und 8120 freigegeben...


    Was sollte in der hosts-Datei vom Windows stehen?


    192.168.1.12 localhost


    oder


    127.0.0.1 localhost


    Roli


    PS: So, ich hab nun noch weiter herumexperimentiert und komme auf keinen grünen Zweig. Deshalb vielleicht nochmals die bitte nach sämtlichen Konfigfiles (apache, streaming,...). Das würde die Sache vereinfachen.

  • Dann versuche im else-Teil mal diesen Ausdruck (Zeile 10 in deinem Post):

    Code
    $vlc_streamurl = 'http://'. gethostbyname($_SERVER["SERVER_NAME"]) . ':' . VLC_STREAMINGPORT . '/livestream.flv&autostart=true';


    localhost muss die IP von dem PC sein, auf welchem wamp läuft. Ohne Deine IP's genau zu kennen, sieht 192.168.1.12 besser als 127.0.0.1 aus.

  • Ok, dann war die hosts-Datei mal richtig.


    Jetzt wird die tatsächliche IP-Adresse angegeben, funkt trotzdem noch nicht:


    Video not found...
    http://meine-ip-adresse:8081/livestream.flv


    :frowning_face:


    Rechte in httpd.conf sollten auch passen:


    Code
    <Directory "C:/Program Files/wamp/www/">
    AllowOverride all
    Order Allow,Deny
    Allow from all
    </Directory>
  • Ja, die passen.


    Hmm, jetzt bin ich mit meinem Latein auch langsam am Ende.


    - Lokal funktionert der Stream?
    - Hast Du die Firewall auch mal deaktiviert?


    Files raufladen kann ich nicht. Habe sie nicht im Zugriff. Bin im Büro. Ausserdem soll das horizons im ersten Post machen. Sonst wird es noch viel unübersichtlicher. Habe aber gerade 4 Stunden lang Tour de France über diese Lösung laufen gehabt. Ich weiss, das ist nicht das, was Du jetzt hören willst... :winking_face:


  • Na hauptsache es funktioniert schon mal bei dir ;).


    Der Stream funktioniert intern mit den alten Einstellungen im livestream.php sowohl über http://192.168.1.12/streaming als auch über http://meine-dyndns.org/streaming.


    Mit den neuen Einstellungen klappts intern nur über http://192.168.1.12/streaming.


    Die Firewall habe ich auch schon deaktiviert.


    Vielleicht kann ja horizons die Dateien mal austauschen :winking_face:

  • Hi


    Very good php script


    Good job


    I use on linux and i have a little bug


    this is my config file


    case 'linux':
    define("VLC_PATH","/usr/bin/");
    define("VLC_EXECUTEABLE","vlc");
    define("VLC_STREAMINGPORT","8081");
    break;


    But when i start the script launch vlc but not the script don't launch in daemon mode so the script stand by and i can't do nothing


    if i put define("VLC_EXECUTEABLE","vlc --daemon");


    the script can continu but the ps -ax don't see vlc running and status is not running but vlc running but i can't kill vlc with your script


    ps -e | grep vlc --daemon is not correct


    grep : l'option "--daemon" n'est pas reconnue
    Usage: grep [OPTION]... MOTIF [FICHIER]...
    Pour en savoir davantage, faites: « grep --help ».


    ps -e | grep vlc | grep -v grep
    684 ? 00:00:37 vlc



    Can you adjust the script for vlc start in daemon mode or if i put
    define("VLC_EXECUTEABLE","vlc --daemon");


    adjust define("LINUX_PS_CALL","ps -e"); for grep search just vlc and not "vlc --daemon" because grep return just vlc not "vlc --daemon"


    or when you start vlc with option add " & " at the end


    Thanks a lot