Enigma2 Image Pcd7.0 Update 20120712

  • I use dreamdroid and it works.
    Enter the optional Stream URL or run the "vlc Server" (I described above) on Port 8001 or where you want (need) it.


    b.r.
    Amok

  • Zitat

    Originally posted by kuhbaert
    pdc could i take a look into your modified source for Streamproxy.


    I have not changed streamproxy (attached). It does not work with these boxes. Is there an enigma1 version of streamproxy ?


    I changed stream.m3u.xml (attached) in /webinterface/web folder.


    Cheers, pcd.

  • Zitat


    // sprintf(demuxfn, "/dev/dvb/adapter0/demux%d", demux);
    sprintf(demuxfn, "/dev/dvb/card0/demux0");


    You have allready modified the path.


    Im not a expert, but if i understand the code correct, should streamproxy choice the first able demux thats not busy.
    So i would test following:


    Zitat


    sprintf(demuxfn, "/dev/dvb/card0/demux%d", demux);


    The other possibilty is to try demux1 fix instead of demux0



    Zitat


    sprintf(demuxfn, "/dev/dvb/card0/demux1");



    I guess streamts generally would take demux1


    from Streamts source:

  • I tried all these options. The 600 only has one demuxer.


    I think the only possibility is to stream via vlc to a android vlc client app as the AMOK method suggests.

  • I dont understand the problem at all, but perhaps a APACHE with mod_rewrite is able to proxy the request from external 8001 to internal 31339 with the changed syntax of the parameter?


    Another option could be a simple Port-Forward from external 8001 to internal 31339.


    I will check both methods out ...


    pcd: Have you a idea for my problem with the video button: Dm600pvr Enigma2 Pcd 7.0


    b.r.
    Amok

  • amok


    Streamts use a other syntax for the Stream request than Streamproxy.


    Streamts wants the Video Pids and streamproxy awaits the e2Servicereference

  • Yes, I read about this. Thats why I have the Idea with mod_rewrite. It can rewrite the Requests from one syntax to the other ...


    Have you got a practical example or the Links to the Doku of the two versions so that I can have a look at this?


    b.r.
    Amok

  • amok


    with

    Zitat


    you will get the current servicereverence


    Zitat


    <e2servicelist><e2service><e2servicereference>1:0:1:CF76:2712:F001:FFFF0000:0:0:0:</e2servicereference><e2servicename>RTL NITRO</e2servicename></e2service></e2servicelist>


    with

    Zitat


    you get a stream.mu3 wich contains the actual Audio/Video Pid
    /edit: (because of the stream.xml modification from PDC)

    Zitat


    From
    http://192.168.1.102/web/about


    Zitat


    <e2apid>982</e2apid>
    <e2vpid>981</e2vpid>
    <e2pmtpid>105</e2pmtpid>


    we get also current vpid and apid in but in decimalsystem
    69 hex = 105 dec,
    3d5 hex = 981 dec,
    3d6 = 982 dec
    i actualy dont now what the first zero represent.


    At the moment i see no way to create the pids direct out of the e2servicereference without asking the webservice.

  • Okay, ... lets see if i understand it correctly.


    A enigma box sends a video.m3u containing the following code


    Code
    http://dm600pvr:31339/0,61,1ff,200


    and a enigma2 box sends a stream.m3u with this content


    Code
    http://dm600pvr:8001/1:0:1:445D:453:1:C:00000:0:0:0:


    And the problem is, that the pcd image acts like a enigma but is a enigma2, right?


    So the stream.m3u from the pcd image sends the code like the video.m3u above and the stream runs over 31339 and not on 8001, as expected.


    I hope this is correct so far, because I did the following:


    - set up a apache webserver listening on port 8001
    - insert a simple proxy configuration like this:

    Code
    ProxyPass /1:0:1:445D:453:1:C:00000:0:0:0: http://dm600pvr:31339/0,61,1ff,200
    ProxyPassReverse /1:0:1:445D:453:1:C:00000:0:0:0: http://dm600pvr:31339/0,61,1ff,200


    And then I connect manually to the machine running the apache web server from a vlc client by opening a stream on:


    Code
    http://apacheserver:8001/1:0:1:445D:453:1:C:00000:0:0:0:


    and ... I got a Pro7 Stream :)


    So all we need is a translation table from old to new for each program we want to stream.


    Hope someone can follow my thoughts ... (and understand my bad english)


    b.r.
    Amok

  • Hallo,


    ich habe das image auf meine etwas angestaubte 600er gespielt. Nun kommt aber bei der Sendersuche schon der erste "green screen". Was mache ich falsch!?


    Gibt es ein update dafür oder ist das bereits mit dem hier verfügbaren Update behoben!?


    Gruß


    Tom

  • Hallo kuhbaert,


    danke für die schnelle antwort werde ich gleich ausprobieren.


    Ja ist mit C-Tuner.


    Gruß


    Tom


    --> Danke die suche läuft :)


  • Yes, that works.


    Code
    wget http://dm600pvr/web/getpid


    gives an output like


    Code
    http://dm600pvr:31339/0,61,1ff,200


    b.r.
    Amok

  • Hi Amok,


    I have been struggeling with DreamDroid and DM600 running on E2 Pcd8.0.
    So I followed your idea of proxing/redirecting the calls to dreambox:8001 to dreambox:31339. We can use the already available twisted-web to do this job.


    Steps:
    1) Port 8001 of streamproxy needs to be changed in /etc/inetd.conf
    2) Modified /usr/lib/enigma2/python/Plugins/Extensions/WebInterface/plugin.py:
    a) Instance of twisted-web listening on port 8001.
    b) On incoming request on port 8001, the current active stream URL is created and the request gets redirected to it.


    As an effect, whatever you request on port 8001 will always be redirected to the current active stream URL.
    On DreamDroid I just need to zap first to the channel, then the streaming can be started.


    VLC and DreamDroid are working fine. On the other hand DreamboxManagerSuite is not. But it should be a start...


    BR,
    tafkas

  • Hi,


    i have modified your code, so that the dreambox switches to the right channel before reading the pids of the current stream. However it seems that the dreambox needs some time to grab the correct PID after switching the channel, so as a workaround i return a 302 Redirect to the same calling URL when an invalid PID is detected. The second call to the 8001 Port returns then the right parameters resulting in the correct Redirect to Port 31339.


    I'm neither an experienced programmer nor know python very well, but the code seems to work for me as expected.