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

  • Still not succesfull ...


    When I start ./istream.sh from the command line with


    ./istream.sh http://127.0.0.1:3000/TS/10 512k 64k 480x360


    I get the following:


    FFmpeg version SVN-r21853, Copyright (c) 2000-2010 Fabrice Bellard, et al.
    built on Feb 16 2010 20:50:01 with gcc 4.3.2
    configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
    libavutil 50. 9. 0 / 50. 9. 0
    libavcodec 52.54. 0 / 52.54. 0
    libavformat 52.52. 0 / 52.52. 0
    libavdevice 52. 2. 0 / 52. 2. 0
    libswscale 0.10. 0 / 0.10. 0
    libpostproc 51. 2. 0 / 51. 2. 0
    [mpeg2video @ 0x9298fb0]mpeg_decode_postinit() failure
    Last message repeated 3 times
    [mpegts @ 0x92833a0]max_analyze_duration reached
    [mpegts @ 0x92833a0]Estimating duration from bitrate, this may be inaccurate


    Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
    Input #0, mpegts, from 'http://127.0.0.1:3000/TS/10':
    Duration: N/A, start: 534.257333, bitrate: 15896 kb/s
    Program 28106
    Stream #0.0[0x65]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x66](deu): Audio: mp2, 48000 Hz, 2 channels, s16, 256 kb/s
    Stream #0.2[0x67](2ch): Audio: mp2, 48000 Hz, 2 channels, s16, 192 kb/s
    Stream #0.3[0x819]: Data: 0x0005
    Stream #0.4[0x54]: Data: 0x0006
    Stream #0.5[0x68](deu): Subtitle: 0x0006
    Stream #0.6[0x6a](deu): Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s
    Stream #0.7[0x818]: Data: 0x000b
    Stream #0.8[0x81c]: Data: 0x000b
    Stream #0.9[0x81d]: Data: 0x000b
    Stream #0.10[0x87b]: Data: 0x000b
    Stream #0.11[0x42a]: Data: 0x000c
    [libx264 @ 0x973db10]using SAR=4/3
    [libx264 @ 0x973db10]using cpu capabilities: MMX2 SSE2Slow
    [libx264 @ 0x973db10]profile Baseline, level 3.0
    Output #0, mpegts, to 'pipe:':
    Metadata:
    encoder : Lavf52.52.0
    Stream #0.0: Video: libx264, yuv420p, 480x360 [PAR 4:3 DAR 16:9], q=10-51, 512 kb/s, 90k tbn, 25 tbc
    Stream #0.1(deu): Audio: libmp3lame, 48000 Hz, 1 channels, s16, 64 kb/s
    Stream mapping:
    Stream #0.0 -> #0.0
    Stream #0.1 -> #0.1
    Press [q] to stop encoding
    [mpeg2video @ 0x9298fb0]warning: first frame is no keyframe
    [mpegts @ 0xa858150]max_analyze_duration reached4.88 bitrate= 678.6kbits/s dup=6 drop=0
    [mpegts @ 0xa858150]Estimating duration from bitrate, this may be inaccurate
    Output #0, mpegts, to 'stream':
    Stream #0.0: Video: libx264, yuv420p, 480x360, q=2-31, 90k tbn, 25 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, 1 channels, 64 kb/s
    [mpegts @ 0xa93f330]stream 0, bit rate is not set, this will cause problems
    [mpegts @ 0xa93f330]dts < pcr, TS is invalid
    Last message repeated 6 times
    [mpegts @ 0xa93f330]st:1 error, non monotone timestamps 63000 >= 63000
    Warning: Could not write frame of stream
    [mpegts @ 0xa93f330]dts < pcr, TS is invalid
    Last message repeated 4259 times 899kB time=10.96 bitrate= 672.0kbits/s dup=6 drop=0


    When I try to play the resulting .ts files in /ram, vlc reports an error.
    Playing other h264 Samples works without any problems.


    Is this a problem with ffmpeg (svn checkout from today)?


    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

  • Zitat

    [mpegts @ 0xa93f330]stream 0, bit rate is not set, this will cause problems


    Didn't you removed the -bt parameter in the ffmpeg command line ?


    There's 2 values for bitrate , one for ffmpeg ( -b 512k ) and one for libx264 ( -bt 512k )


    If for some reason it seems to not recognise values in kb, then put them in bit/s:


    -bt 512000 -b 512000


    Perhaps newest version of ffmepg don't want values in kilobits anymore.

  • Zitat

    Original von alib
    new version 0.3.4 out, to correct bug with old vdr recordings.


    works great .. thanks .. i also dont have the performance problem ..
    hmm perhaps i made a mistake while installing 0.3.3 .. 0.3.4 work very good !!!



    found a bug ... have a look on my channels.conf from yesterday ... the problem with the comma channels..


    also see screenshot



    the svdrp with an channel with comma fails ... with my fix it works ...


    Code
    RTL Television,RTL;RTL World:12187:hC34M2O0S0:S19.2E:27500:163:104=deu;106=deu:105:0:12003:1:1089:0


    kind regards .. mentox

  • That's a good news it works on your side now.


    Can you post again your fix ?


    I thought it was already corrected in 0.3.2


    Edit:
    Ah.. it seems we removed the correction while changing to svdrpphp calls.
    Will be reintegrated in next build.


    Mentox, i see in your screen capture you're using it throught Safari. Have you tryed to use it as a webbapp ? ( added to your home menu )


    This is not related to your bug, just wondering why you prefer to use it on Safari, :)

  • hi


    the stream works .. for comma channels ..


    but the info not .. i have recognized it to late :)


    i think we should cut after the comma for displaying ..



    the patch doenst works with this version .. i have seen you use now the php script ;)


    i will try to adapt the fix :)


    mentox

  • hi


    i am testing some things with the iphone simulator and in safari i can press the reload button ;)


    on my phone i use it as webapp :D



    aktually i have the problem with the speed again :(


    the server dosent response or after 1 til 2 minutes


    i have restart apache and iphone and so on .. i have checked permissions .. all can read and write and execute ..


    i dot know what it is :(


  • I have the same problem and i think it is caused by the LSTE NOW svdrp command. It uses sometimes too much memory. I have set the memory_limit to 1024m in my php.ini and now it works sometimes very well but not always.
    If i set the svdrp port in config.php to a wrong port, the channellist appears immediately but streaming dosen`t work.

  • hi all,


    thank's for the new version ...


    unfortunatly it won't work for me ...
    Same behaviour, as mentox describe ... channel-list will not display ...


    on one of my tries, i got the following error-message (as i tried it in safari on a macbook, which should also work at least till displaying the channel-list)


    Code
    Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/istreamdev-0.3.4/includes/inc_svdrp.php on line 68



    Tested old vdr-recordings and streaming of that recordings works pretty good ... thank you :)


    If we just could find the problem with the hanging svdrp-process....

    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 ()

  • Ok i figured out that the getinfostream function in inc_vdr.php is the problem.
    It works if you comment out the line 18 in inc_vdr.php but without epg infos.


    I think the command generate too much data for the function logic?

  • jep, seems to be too much data ...
    I commented out the line you mentioned above and it works perfect ... without epg-info...


    I took a closer look to the Command in inc_svdrp.php and build in some checkpoint ... just to see, what happened...



    I noticed, that the first about 900 loops of the wihle-loop reaches checkpoint 2 and 3 ... after that, there are about 2000 loops reaches just checkpoint 2 ... and after that, nothing more happens ...

    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

    3 Mal editiert, zuletzt von somebody101 ()

  • jep, 0.3.2 works perfect WITH epg-data (at least for me ;) !


    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

  • Hey coooool ...... !!!


    With the new version 0.3.4 everything now works out of the box.


    Live TV an recordings work fine. Thanks guys, great peace of software.


    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

  • Zitat

    Original von hendrikw01
    Ok in inc_svdrp.php line 68 change it to:

    PHP
    while($s .= fgets($this->handle,4096))


    It works for me now with epg and on all channels. I`ve tested it several times.


    YES ! Works now (with that change) !! yipieh .... :)


    But.. I saw, the epg-data for channels, which have a "," in it's channelname, is not displayed ...


    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

  • i can not try it from work but for the comma problem this can be help ...



    inc_vdr.hp


    change this

    Code
    $channels = explode(":", $line); 			
    $channels = explode(";", $channels[0]); 			
    $chan = $channels[0];


    to this (should work)


    Code
    $channels = explode(":", $line); 			
    $channels = explode(";", $channels[0]); 		
    $channels = explode(",", $channels[0]); 		
    $chan = $channels[0];


    or to this


    Code
    $channels = explode(":", $line); 			
    $channels = explode(";", $channels[0]); 			
    $chan = $channels[0];
    $chan = explode(",", $chan);


    i will test it as soon as possiblie .. but my vdr crashes yesterday .. i must by first an new motherboard .. so i can take some days :(

    Einmal editiert, zuletzt von mentox ()

  • We're implementing the Media streaming part. I need your help.


    FFmpeg can't handle hard subtitles encoding in video, so i'd like to replace it by mencoder.


    I can't succeed to generate the same stream with mencoder as ffmpeg.
    I've tryed with:


    Code
    mencoder $STREAM -vf harddup,softskip,dsize=480:320:0,scale=-8:-8 -of lavf -lavfopts format=mpegts -oac mp3lame -lameopts br=$ARATE:q=5:mode=3 -ovc x264 -x264encopts nocabac:level_idc=30:bframes=0:bitrate=$VRATE:vbv_maxrate=$VRATE:vbv_bufsize=$VRATE:threads=auto:subq=5:frameref=6:partitions=all:trellis=1:chroma_me:me=umh -o /tmp/output.ts & segmenter /tmp/output.ts $SEGDUR $PREFIX $PREFIX.m3u8 $HTTP_PATH $SEGWIN


    segmenter tells me then:


    [mpegts @ 0x9d3fbc0]stream 0, bit rate is not set, this will cause problems


    but it generate the ts files and the m3u8.


    Anyway Iphone tells me that it can't play the stream.


    What would be the same output as this ffmpeg command:


    Code
    ffmpeg -i $STREAM -deinterlace -f mpegts -acodec libmp3lame -ab $ARATE -ac $ACHANNELS -s $XY -vcodec libx264 -b $VRATE -flags +loop \
     -cmp \+chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16  -keyint_min 25 \
     -sc_threshold 40 -i_qfactor 0.71 -bt $VRATE -maxrate $VRATE -bufsize $VRATE -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 \
     -qmin 10 -qmax 51 -qdiff 4 -level 30  -g 30 -async 2 -threads 4 - | \
    segmenter - $SEGDUR $PREFIX $PREFIX.m3u8 $HTTP_PATH $SEGWIN


    Any experts on this issue ?


    Thanks

  • Hi, i have solved the comma bug.
    I've made it with the idea from mentox but it was only on the the wrong place.


    In inc_vdr.php between line 53 and 59:


    PHP
    // Find the right chan (take the first one) 		
    if ($chanfound == 0) 		
      {	 			
         $streamArray = explode(",",$stream); 			
         if (strstr($allepg[$i], $streamArray[0]) == $streamArray[0])  				
           $chanfound = 1; 		
      }


    It works now, for example with "RTL Television,RTL".



    alib Great job, Thanks! It's looks very nice on my iPhone :respekt

Jetzt mitmachen!

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