[ANNOUNCE] iStreamdev-1.0.1 - stream vdr & media files to your Iphone

  • Sorry my fault :(


    You have to set the permissions of "istreamdev" for the user www-data.


    Do this in /var/www :


    chown -R www-data:www-data istreamdev


    I tested it with permissions set to root, then I get:


    vdr-ng-3:/var/www/istreamdev# ./istream.sh http://localhost:3000/TS/11 512k 64k 1 480x320 ./ 3 /usr/bin/ffmpeg
    vdr-ng-3:/var/www/istreamdev# [mpegts @ 0x9d56150]max_analyze_duration reached
    [mpegts @ 0x9d56150]Estimating duration from bitrate, this may be inaccurate
    Output #0, mpegts, to 'stream':
    Stream #0.0: Video: libx264, yuv420p, 480x320, q=2-31, 90k tbn, 25 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, 1 channels, 64 kb/s
    [mpegts @ 0x9d63420]stream 0, bit rate is not set, this will cause problems
    [mpegts @ 0x9d63420]dts < pcr, TS is invalid
    Last message repeated 6 times
    [mpegts @ 0x9d63420]st:1 error, non monotone timestamps 63000 >= 63000
    Warning: Could not write frame of stream
    [mpegts @ 0x9d63420]dts < pcr, TS is invalid


    Same result as you. So the whole path must be set to www-data.
    And if you want to test istream.sh from the comandline you must switch to user www-data.


    Hope it will work now.


    Roupi

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

    3 Mal editiert, zuletzt von roupi ()

  • I did it before and again. Same result:

    The user www-data does exist and I deleted from "/etc/at.deny", any other ideas. Do you need a log?

    Hardware: AMD Sempron 140 2,7 GHz, Asus M3N78-VM, 4GB DDR2, ADATA S596 32 GB SSD, WD3200LPVT 320GB, Mystique Sattix-S2, TT S2-1600, Atric-IR Einschalter Rev. 4, Multimedia Gehäuse 1HE, Logitech Harmony 525
    Software: yaVDR 0.5 (softhddevice, S5, Plugins: sleeptimer, live, **)

    2 Mal editiert, zuletzt von el_colto ()

  • Maybe you can post your syslog showing what happend when you start istream.sh.
    I saw that you start istream.sh as root. You have to switch to user www-data.


    Which version of istreamdev is this?
    It worked for me starting with version 0.3.5 (any other versions prior this didn't work on my VDR).


    Roupi


    PS: try again on the iPhone, maybe it already works. On the iphone you have to activate plug-ins (in Settings -> Safari). Otherwise it won't work.

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

    Einmal editiert, zuletzt von roupi ()

  • It's version 0.3.6. Even as an user of group www-data it doesn't work:

    I can start a stream on the iPhone but theres just the Quicktime symbol and a "loading" but no TV


    but there are Streams in the ram folder:

    Code
    root@ubuntu:/var/www/istreamdev# ls /var/www/istreamdev/ram
    dummy.txt  stream-65.ts  stream-66.ts  stream-67.ts  stream-68.ts  streaminfo  stream.m3u8


    syslog and messages doesn't show anything about istreamdev or istream.sh. just this:

    Code
    Feb 21 17:16:32 ubuntu vdr: [3936] Streamdev: Accepted new client (HTTP) 127.0.0.1:40277
    Feb 21 17:16:32 ubuntu vdr: [4126] streamdev-writer thread started (pid=2084, tid=4126)
    Feb 21 17:16:32 ubuntu vdr: [4127] streamdev-livestreaming thread started (pid=2084, tid=4127)

    Hardware: AMD Sempron 140 2,7 GHz, Asus M3N78-VM, 4GB DDR2, ADATA S596 32 GB SSD, WD3200LPVT 320GB, Mystique Sattix-S2, TT S2-1600, Atric-IR Einschalter Rev. 4, Multimedia Gehäuse 1HE, Logitech Harmony 525
    Software: yaVDR 0.5 (softhddevice, S5, Plugins: sleeptimer, live, **)

    3 Mal editiert, zuletzt von el_colto ()

  • Hmmm, nicht so einfach was ;)


    OK, let's find it out.


    Have you try if the segmenter is working?


    Try to call segmenter from the comandline without any path, just "segmenter"
    You should get this:


    Usage: segmenter <input MPEG-TS file> <segment duration in seconds> <output MPEG-TS file prefix> <output m3u8 index file> <http prefix> [<segment window size>]


    Then start streaming from iPhone, check if there are files generated in /var/www/istreamdev/ram. The files called stream-1.ts, stream-2.ts and so on.


    Can you play this files with vlc on your PC?


    Your syslog looks good, streamdev seems to work.


    Feb 21 17:16:32 ubuntu vdr: [3936] Streamdev: Accepted new client (HTTP) 127.0.0.1:40277
    Feb 21 17:16:32 ubuntu vdr: [4126] streamdev-writer thread started (pid=2084, tid=4126)
    Feb 21 17:16:32 ubuntu vdr: [4127] streamdev-livestreaming thread started (pid=2084, tid=4127)


    Have you try the other bandwiths like Edge or 3G?


    Roupi

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

  • segmenter works! I can play these files with vlc, but there are just single pictures no video and time of the files is 00:00!?


    just use edge.


    Jetzt aber wirklich auf deutsch: Es wird kompliziert. Das iPhone kann keinen Stream "alleine" starten. Erst nachdem ich auf der shell

    Code
    ./istream.sh http://localhost:3000/TS/11 512k 64k 1 480x320 ./ 3 /usr/bin/ffmpeg

    eingegeben habe, kann das iPhone einen Stream vermeintlich starten, es kommt halt nur der schwarze Hintergrund mit Quicktime-Symbol.
    Und die jeweiligen TS dateien in "ram" sind von dem über die shell gestarteten Kanal.
    Eyeyey. Ich häng mal meine config.php ran.

    Dateien

    Hardware: AMD Sempron 140 2,7 GHz, Asus M3N78-VM, 4GB DDR2, ADATA S596 32 GB SSD, WD3200LPVT 320GB, Mystique Sattix-S2, TT S2-1600, Atric-IR Einschalter Rev. 4, Multimedia Gehäuse 1HE, Logitech Harmony 525
    Software: yaVDR 0.5 (softhddevice, S5, Plugins: sleeptimer, live, **)

  • .. hmm
    in your config.php, the path to ffmpeg is /ffmpeg.
    Is this correct ? If not, maybe it's worth a try to point this to your correct binary in /usr/bin/ffmpeg ...


    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • Nur mal ein paar Vermutungen:


    - Welche iPhone FW? Ich bin auf 3.1.3, 3.1 geht aber auch.
    - Sauber gestartet? D.h. alle alten ffmpeg Tasks am VDR gekillt?
    - am iPhone alles aktiviert (JavaScript, Plug-Ins)?
    - iPhone mal rebootet?
    - Wie funktioniert das bei Dir? Wenn Du einen Kanal wählst und dann auf Edge gehst kommt oben das Senderlogo mit nem Stoppschild überlagert. Das verwandelt sich nach ner Weile in ein Play-Symbol welches Du dann drücken kannst?


    Roupi

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

    2 Mal editiert, zuletzt von roupi ()

  • Zitat

    Original von somebody101
    in your config.php, the path to ffmpeg is /ffmpeg.
    Is this correct ? If not, maybe it's worth a try to point this to your correct binary in /usr/bin/ffmpeg ...


    Ufffargh... It works! Sometimes it's so easy. It was from an "older" version I compiled, i didn't updated. ARRRGH.


    Thank You Rob and roupi

    Hardware: AMD Sempron 140 2,7 GHz, Asus M3N78-VM, 4GB DDR2, ADATA S596 32 GB SSD, WD3200LPVT 320GB, Mystique Sattix-S2, TT S2-1600, Atric-IR Einschalter Rev. 4, Multimedia Gehäuse 1HE, Logitech Harmony 525
    Software: yaVDR 0.5 (softhddevice, S5, Plugins: sleeptimer, live, **)

  • Somebody101 you are the king!!!


    Thanks for help!


    Roupi

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

  • hi *


    anybody try to look over 3g or edge?


    if i look over these options the iphone download the next segment and play it, after reaching the end of this segment the iphone make a pause and dowload the next segment if download completed it play til end than it download the next .. and so on ..


    you can't enjoy looking tv over 3g or edge ..


    is it possible to say the iphone that it download the next segment in background ..



    hmmm over wifi the download is so fast that there is no problem ..



    greetings mentox ..

  • for me it works really flawlessly on 3G or Edge. I've even tryed while driving to my office. The 3G stream never stopped a second. But we have a really good 3g+ network in Paris here.


    Try to lower bitrates values as it looks you don't have enough bandwith if it stop and load for each segments.


    Average bitrate for standard 3g network should be around 300 kbps max for audio+video. Starts from there and increase it to test your max value.

  • i have also try with only 64k on 3d .. same effect :(


    hmm .. any idea to debug? :)


    mentox

  • I checked it to, and I have the same behavior. It plays a bit of a segment, stops and continues with the next segment.
    I also set the bitrate to 48/12 K
    I think my upstream is still to low for this. I will try even lower bitrattes, but than It's no fun to watch anymore.

    Hardware : Core2 2 Ghz / 1GB RAM / 750 GB HD / Nexus-s 2.3 / TT Budget
    OS : ct' distri (debian lenny)
    VDR : vdrdevel 1.7.12 multipatch
    Patches :
    Plugins : steamdev_server, , femon
    Client : Samsung UE40B8090 ; XMBMC auf Acer Revo

  • Same problem here.
    I tried it using EDGE setting over the German T-Mobile 3G network (HSDPA enabled), the streaming stops on every single stream-* file.
    When I press "pause" and then "play" the stream starts again.
    Sometimes it stops completely an I have to start over again from the beginning.
    Also same behavior using 3G setting.


    Today I will try it over the Vodafone network.

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

    Einmal editiert, zuletzt von roupi ()

  • When I increase the value of SEGDUR from 10 to 20 in istream.sh, then the stream plays for exactly 20s before it stops.
    So I think it has'nt to do with the 3G network speed but with the file segmentation.
    Every time a new stream file is requested, the 3G network needs to much time to deliver it to the iPhone.


    Can anybody explain this behavior?

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

  • Hi all,


    I can not confirm that behaviour in my setup.
    I just made a test, sitting here in my office in Frankfurt City and streamed SAT.1 from my server at home over 3G Network using the Edge-Profile in istreamdev. I was also connected (parallel) over my netbook (with another 3G connection) to my vdr-server to watch the behaviour on the server, especially the /ram-directory, over a terminal.


    Everything works flawlessly ... the stream came without any interruption!
    In the /ram-directory I saw, that over 200 Segments were generated...


    After watching a while, I went out of my office, more inward the building, where the 3G-connection isn't as good as in my office room ... and the stream stops immediately ... after loading a while, it plays again but stops after about 30 seconds again ...


    So I think, it maybe has something to do with the "connection-quality" (and maybe also the upstream, you have at home (1 Mbit for me)).


    I use istreamdev 0.3.6.1.


    so long
    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • Maybe the following can be the the problem when streaming over mobile networks:


    Using WiFI:
    When the iPhone plays a stream, for example stream-3.ts, in /ram there are the following stream files: stream-2.ts, stream-3.ts and stream-4.ts.


    Using EDGE/3G:
    When the iPhone plays a stream, for example stream-3.ts, in /ram there are the following stream files: stream-6.ts, stream-7.ts and stream-8.ts. The stream files 2, 3, 4 and 5 are already deleted. Now the streaming on iPhone stopps because the next file number 4 is missing.


    I've tested this several times with the same result. There are always only 3 stream files left in /ram. I'd remember that in istreamdev version 0.3.3 all the stream files still exists in /ram until the stream were stopped.


    Just for information: my VDR is connected to the internet via T-Home VDSL-50 with an upload of round about 10 Mbit/s.

    Server:
    ASUS M3N78-EM | AMD Athlon 64 X2 4850e 2x2.50GHz | 2 GB RAM | 2x Hauppauge WinTV-Nova-HD-S2 | Debian Lenny mit Kernel 2.6.31.4 | VDR 1.7.12 + extension-patch | Ausgabe über xineliboutput-cvs | T-Home Entertain über IPTV-Plugin | iStreamdev 1.0.1


    Streaming Client:
    ZOTAC ZBOX HD-ID40 | Intel Atom D525 | Next Generation NVIDIA ION Grafik | 2GB RAM | yaVDR 0.3a

    6 Mal editiert, zuletzt von roupi ()

  • i only have 3 stream.ts at one moment ..


    Code
    insgesamt 752K
    drwxrwxrwx 2 apache apache  112 23. Feb 13:38 .
    drwxrwxrwx 8 apache apache 4,0K 20. Feb 12:27 ..
    -rw-rw-rw- 1 apache apache    0 19. Feb 14:42 dummy.txt
    -rw-r--r-- 1 apache apache 134K 23. Feb 13:38 stream-10.ts
    -rw-r--r-- 1 apache apache 271K 23. Feb 13:38 stream-8.ts
    -rw-r--r-- 1 apache apache 274K 23. Feb 13:38 stream-9.ts
    -rw-r--r-- 1 apache apache  355 23. Feb 13:36 streaminfo
    -rw-r--r-- 1 apache apache  137 23. Feb 13:38 stream.m3u8


    tested over wifi, 3g and edge



    and i think if the iphone is ready to play the next segment is already deleted on the server ..
    is is possible to hold more than 3 segments?

    Einmal editiert, zuletzt von mentox ()

  • hi mentox,


    as far as I know, the amount of segments can be controlled by the "segment window size" - option of segmenter.


    In istream.sh, segmenter is called this way:


    Code
    segmenter - $SEGDUR $PREFIX $PREFIX.m3u8 $HTTP_PATH $SEGWIN &


    default of $SEGWIN is (as far as I know) 2
    (two files ready to stream, while the third one will be written - so you should see three files)




    You can change this in istream.sh to e.g. this:


    Code
    segmenter - $SEGDUR $PREFIX $PREFIX.m3u8 $HTTP_PATH 5 &


    Then you will always have 5 files in /ram to stream (while the sixth one will be written)


    give it a try...


    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

    2 Mal editiert, zuletzt von somebody101 ()

Jetzt mitmachen!

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