LiveTV on iPhone, iPad and iPod Touch

  • If you want to read this in German go here Note that my edits to the english text below are not included in the german translation !


    If you own a iPhone, iPad or iPod Touch and also use a Dreambox, Dbox2 or any other receiver running Enigma or Neutrino then "Air Video" is a must have.


    If you don't own a Dreambox or Dbox look here if you want to stream IPTV, DVDs and a lot more. It describes the VLC extensions to my Air Video Mod.


    What is it?


    Air Video can stream videos to your iPhone, iPad or iPod Touch. Besides the app you must run the free of charge server for Windows or Mac. That is very nice for playing your recorded videos. But I'm sure you will like my Air Video server mod even more. I've modified latest Air Video server so that it enables you to select and play live video streams from your set top boxes (e.g. Dreambox or Dbox). A TV channel can be selected from a channel list (a list with channel logo thumbnails). Air Video server then sends a zap (channel change) command to the set top box and the stream can be played on the iPhone using live conversion. This works perfect and you can view your favorite TV channels live and in good quality wherever I am via wifi and 3G. Years ago I developed the PMP VLC player for the Sony PSP which is quite similar to Air Video and when I found Air Video I knew it is the killer app for the iPhone and iPod Touch :)


    Installation


    First install Air Video on your iPhone or iPod Touch, then install the latest server on your Windows PC or on your Mac. Details can be found on the official Air Video site http://www.inmethod.com
    Links to older versions can be found in the support forum here:
    http://www.inmethod.com/forum/posts/list/454.page


    To install my mod perform following steps:
    - download and unpack my Air Video modpack from the attachment (10MB)
    - replace the ffmpeg program by the one in my modpack. On your PC replace ffmpeg.exe in the directory where you installed the Air Video server (e.g. C:\Program Files\AirVideoServer). On a Mac replace ffmpeg in directory "/Applications/Air Video Server Beta9.app/Contents/Resources/" and make sure ffmpeg has execute permissions
    - copy channels.ini to your PC in the directory where you installed the Air Video server (e.g. C:\Program Files\AirVideoServer) and if you use a Mac copy it to the root directory (in "/";)
    - copy the LiveTV directory to your PC and add it to the shared folders in Air Video server. This directory contains the channel logo thumbnails (these are in fact 1 second duration mpeg4 files). Included are about 50 German Astra 19.2 channels
    - edit channels.ini and replace the IP address 192.168.1.96 by the IP of your Dreambox or Dbox2
    - (for client versions before v2.1.3): add a preset "LiveTV" in the Air Video client on the iPhone: width 480, height 272, quality e.g 70% (the quality heavily determines the average bitrate and for Internet access (3G or wifi) it should not be more than your upload speed! Via 3G I have good results when quality is set to 50%. Experiment with it and look up in the server log what actual bitrates you achieve
    - (for client v2.1.3 and later): click conversion settings and then click Global Conversion Settings. The live TV stream quality depends only on the Max. Resolution settings and Quality for Offline Conversion slider. I recommend to keep the Max. Resolution settings on Automatic and only use the Quality for Offline Conversion slider to set stream quality.
    - if you installed everything correctly and the server is running you can start Air Video on your iPhone, add the server and open the LiveTV - German TV folder. Select a channel from the thumnail list and press "Play with Live Conversion" and then press play from "The Beginning". If after 6-7 seconds you see a warning message press "Continue". In total after pressing "Play with Live Conversion" it takes about 25 sec before you see the picture.
    - streaming sd channels works perfect for most of the sd (standard definition) channels. Some channels do not correctly multiplex the elementary streams into a ts stream and won't play, CNBC Europe is an example. Unfortunately the Ffmpeg encoder can not correctly demux hd channels and therefore hd channels only play a few seconds.
    - if you stream from a Dbox2 you must first switch off "Playback" and "Sectionsd". You can do that in the Control menu via the dbox yWeb interface.
    - you can get a near perfect picture quality if you select the highest quality preset in Conversion Settings.
    - IMPORTANT: to ensure uninterrupted streaming make sure your set top box and the PC running Air Video Server are connected to your wlan router by ethernet cable. If you connect them by wifi or powerlink there is a high probability the stream stops playing after a few seconds.


    Customisation


    On the server the file called channels.ini must be added with 3 lines for each channel: thumbnail movie filename, zap url, stream url. The zap url is sent to the set top box once the user starts live playback and the stream url is the stream which is being transcoded by Air Video server.


    Here is a snippet:

    Code
    049-BBC-World.mp4
    http://192.168.1.96/web/zap?sRef=1:0:1:2742:402:1:c00000:0:0:0:
    http://192.168.1.96:8001/1:0:1:2742:402:1:c00000:0:0:0:
    
    
    050-CNN-Int.mp4
    http://192.168.1.96/web/zap?sRef=1:0:1:6f6a:42c:1:c00000:0:0:0:
    http://192.168.1.96:8001/1:0:1:6f6a:42c:1:c00000:0:0:0:


    On a Dreambox you can easily find the number part (e.g. 1:0:1:6f6a:42c:1:c00000:0:0:0: ) in the User Bouquet files, e.g. userbouquet.dbe02.tv


    For use with a Dbox2 with yWeb web interface the lines look like:

    Code
    db2-RTL.mp4
    http://192.168.1.92/control/zapto?44100012ee3
    http://192.168.1.92:31339/0,0x002c,0x00a3,0x0068


    The zap link can directly be found on the yWeb web interface. The stream link of the channel currently playing can be found by opening http://192.168.1.92/control/exec?Y_Live&url in your browser, the result is [url=http://192.168.1.92:31339/0,0x002c,0x00a3,0x0068]http://192.168.1.92:31339/0,0x002c,0x00a3,0x0068[/url] if RTL is currently played.


    You also need the thumbnail mpeg4 which must be created with an aspect ratio corresponding to the stream. The channel logos can be found here:
    http://www.lyngsat-logo.com/


    Windows users can use two batch files logo.bat and logowide.bat which can create the thumbnail videos in 4:3 and 16:9 respectively.
    Download a channel logo from lyngsat and resize the canvas to 176 x 99 (from 133 x 99) if you want to produce a 16:9 thumbnail.
    Rename it to z1.jpg and then run logo or logowide with the channelname as parameter (e.g. logowide 048-CNBC-Europe.mp4). Note: Make sure there are no blanks or tabs in the filename !!!


    What to do if it doesn't work


    EDIT: if your device is on iOS5 the stream will stop after a few seconds! This problem will hopefully be solved by Inmethod soon. On iOS4 everything works just fine.


    You can perform following debugging steps:
    - first try to get the original Airvideo to work. Once that works shutdown the Airvideo server and apply the mode (replace ffmpeg and add channels.ini)
    - to check if zap link is okay open the link in a browser and see if your receiver or settop box zapped correctly
    - to check if stream url is okay, zap to the channel and open stream url in VLC. If you the channel playing in VLC you're okay
    - to check if air video server and ffmpeg are okay, check the log window in the air video server application. Thing to look for are the first line which should say how many channels were read from channels.ini and the ffmpeg section (below long list of configuration settings)
    - make sure your server has at least a Core Duo cpu and sufficient ram. The so called "3-seconds problem" is usually caused by a too slow cpu


    Various addons


    UPDATE: lokutus2000 released "Bouquet Editor Suite" which can automatically create thumbnails and the channels.ini file. You can find his tool here. The versions 1.07 and later support bith enigma1 and enigma2 channellists !!


    UPDATE: If the URLs are password protected you can include them by formatting the URLs like this http://youruser:password@example.com/path/


    If you need any odd letters in your user name or password, you should enter them URL encoded, as %XX where XX is a two-digit hexadecimal number.


    You can also easily add live streams from capture boards, webcams, surveillance cams and many other set top boxes. Just add the URLs to channels.ini If you only have a stream URL, you should add a dummy zap URL. Your mileage may vary. Please post your results and feedback in this thread.


    Major props to InMethod, makers of Air Video. It is the best app for iPhone and iPad.


    Enjoy,
    JockyW (jockyw2001)
    10.01.2010


    PS:


    I have a couple of ideas for a new version of my Air Video modpack,
    - add selection of audio track (easy)
    - support streaming of HD channels (hard, requires use of VLC instead of ffmpeg)
    - support streaming of DVDs (hard, requires use of VLC instead of ffmpeg)
    - support dvb subtitles (hard)


    EDIT (08.02.2010):
    - Attached are ffmpeg versions which you should use with Air Video Server 2.2.5-beta2 and later. The ffmpeg in the original modpack is for server versions until 2.2.5-beta1
    - Personally I use client version 2.1.0 on iPhone and 2.2.5-beta2 on server (I use bot Mac and Windows in parallel)


    EDIT (14.03.2010):
    - Support for linux added, the attached ffmpeg runs fine on my ubuntu 9.10 box (32-bit)
    - For configuration details see here
    - Put ffmpeg and channels.ini in same directory as "AirVideoServerLinux.jar"
    - Tip: for making sure correct version of Java is installed do a "sudo apt-get install eclipse"
    - mfgeg wrote a nice tutorial for linux users here


    EDIT (13.06.2010):
    Look here if you want to stream IPTV, DVDs and a lot more. It describes the VLC extensions to my Air Video Mod. If you don't own a satellite receiver like a Dreambox this can save your day :)


    EDIT (09.12.2010):
    New ffmpeg mods attached for latest Air Video 2.4.5-beta6 (windows, mac and linux)

  • Kann vielleich jemand für Leute, die nicht so gut englisch können, versuchen, eine deutsche Anleitung daraus zu machen. Danke.
    Klappt das auch mit der Trial-Version von AirVideo?

  • Zitat

    Originally posted by filmer11
    Kann vielleich jemand für Leute, die nicht so gut englisch können, versuchen, eine deutsche Anleitung daraus zu machen. Danke.


    Would be nice if someone could volunteer. I can read German, but my writing skills are below zero


    Zitat


    Klappt das auch mit der Trial-Version von AirVideo?


    Yes, should work, but only a maximum of 4 files are shown per folder.

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

  • Hallo jockyw2001,
    ich habe AirVideo auf meinem Ipod Touch und den AirVideo Server auf meinem Widows PC installiert. Dann habe ich auch die Dateien aus dem ModPack geändert und kopiert. Wenn ich nun das App im Ipod aufrufe bekomme ich immer nur Kontakt zu meinem PC. Wie kann ich nun meine Dreambox mit einbeziehen? Muß ich was auf die Box kopieren oder Einstellungen in der Box vornehmen?

  • DId you edit channels.ini with the IP of your dreambox? Did you copy it to the correct folder? Did you copy the LiveTV folder to your PC and add a share in Air Video server? You can check the log tab to see if there are any error messages.

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

    • Offizieller Beitrag

    I just tried it on my macbook, before going to bed. Works quite good.
    FFmpeg is sometimes a bit hungry :grinning_squinting_face:


    thx and n8

  • Zitat

    Originally posted by mukhalabia
    kann mir jemand den Mod zur Verfügung stellen ? Auf dem server kann man auf ihn nicht meht zugreifen


    Keep trying, I know it sucks but it's only temporary.


    Perhaps a moderator can put it in the forum database?

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

  • Hier die Übersetzung von mir:


    ___________________________


    500HD (C) | SKY komplett | netcologne | unitymedia allstars
    twitter.com/marco79

  • Zitat

    Originally posted by BillyBlue77
    Hier die Übersetzung von mir:


    ___________________________


    [quote]Falls du ein iPhone oder einen iPod touch besitzt sowie eine Dreambox, Dbox2 oder irgend einen anderen Enigma/Neutrino Receiver, dann ist "Air Video" ein must-have Programm!
    ...


    Vielen Dank BillyBlue77 :danke:

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

  • Vielen Dank für die Übersetzung. Habe nun alles soweit nachvollzogen. Der Stream läuft auch an, bricht jedoch immer nach ca. 3 Sekunden ab.
    Habe verschiedene Qualitätsstufen, bis ganz niedrig, gwählt. Klappt trotzdem nicht. Weiß im Augenblick nicht, was ich tun kann.

  • Is your dreambox connected to your PC by ethernet? If connected by powerlink or wifi you may not have enough throughput.


    How is your iPhone or iPod connected? Do you have a good wifi signal?


    Also your PC might cause the problem if it is not powerful enough to do the live conversion. A centrino dual core and at least 1GB of memory is required.


    You can open the log window in Air Video Server to see more info. The log window shows what ffmpeg is doing and also periodically shows the bandwidth used for the stream to the iPhone.


    ____________


    Übersetzung/EDIT (by BillyBlue77):


    Wie ist deine Dreambox mit dem PC verbunden? Per Ethernet (LAN-Kabel)? Falls sie per WiFi oder PowerLink verbunden ist, könnte die Bandbreite zu knapp sein.


    Wie ist dein iPhone/iPod verbunden? Hast du ein gutes WLan-Signal?


    Das Problem könnte auch am PC liegen, falls dieser nicht mächtig genug ist um die Konvertierung durchzuführen. Du brauchst mindestens einen Centrino Dual Core mit 1GB RAM.


    Du kannst das Log-Fenster öffnen im Air Video Server und schauen, ob du da schlauer wirst. Das Log-Fenster zeigt an, was FFMPEG gerade macht sowie die Bandbreite, die für den Stream zum iPhone genutzt wird.

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

  • Die techn. Rahmenbedingungen sind meiner Meinung nach alle i.O.
    Die Dreambox ist per Lan-Kabel und der PC (Notebook Duo Core P8400) per Wlan mit gutem Signal mit dem Router (FritzBox 7170) verbunden. Der Ipod Touch hat ebenfalls ein gutes Signal.
    Beiliegend ein Log, kann es sein das es am Audio Encoding liegt, da das Log mit dem Fehler endet? Den oberen Teil des Logs habe ich weggelassen.


    LiveConversion: channel_count = 68
    LiveConversion: Local time and date: Tue Jan 12 10:57:24 2010
    LiveConversion:
    LiveConversion: 0 C:\Program Files\AirVideoServer\ffmpeg.exe
    LiveConversion: 1 --conversion-id
    LiveConversion: 2 7e3bded6-87f1-44e1-9d54-9602932052d6
    LiveConversion: 3 --port-number
    LiveConversion: 4 46631
    LiveConversion: 5 -threads
    LiveConversion: 6 4
    LiveConversion: 7 -flags2
    LiveConversion: 8 +fast
    LiveConversion: 9 -flags
    LiveConversion: 10 -loop
    LiveConversion: 11 -g
    LiveConversion: 12 250
    LiveConversion: 13 -keyint_min
    LiveConversion: 14 25
    LiveConversion: 15 -bf
    LiveConversion: 16 0
    LiveConversion: 17 -b_strategy
    LiveConversion: 18 0
    LiveConversion: 19 -cmp
    LiveConversion: 20 +chroma
    LiveConversion: 21 -deblockalpha
    LiveConversion: 22 0
    LiveConversion: 23 -deblockbeta
    LiveConversion: 24 0
    LiveConversion: 25 -refs
    LiveConversion: 26 1
    LiveConversion: 27 -coder
    LiveConversion: 28 0
    LiveConversion: 29 -me_range
    LiveConversion: 30 16
    LiveConversion: 31 -subq
    LiveConversion: 32 5
    LiveConversion: 33 -partitions
    LiveConversion: 34 +parti4x4+parti8x8+partp8x8
    LiveConversion: 35 -trellis
    LiveConversion: 36 0
    LiveConversion: 37 -sc_threshold
    LiveConversion: 38 40
    LiveConversion: 39 -i_qfactor
    LiveConversion: 40 0.71
    LiveConversion: 41 -qcomp
    LiveConversion: 42 0.6
    LiveConversion: 43 -map
    LiveConversion: 44 0.0:0.0
    LiveConversion: 45 -an
    LiveConversion: 46 -ss
    LiveConversion: 47 0.0
    LiveConversion: 48 -i
    LiveConversion: 49 C:\\Program Files\\AirVideoServer\\LiveTV\\German TV\\001-ARD.mp4
    LiveConversion: 50 -padleft
    LiveConversion: 51 0
    LiveConversion: 52 -padright
    LiveConversion: 53 0
    LiveConversion: 54 -padtop
    LiveConversion: 55 0
    LiveConversion: 56 -padbottom
    LiveConversion: 57 0
    LiveConversion: 58 -cropleft
    LiveConversion: 59 0
    LiveConversion: 60 -cropright
    LiveConversion: 61 0
    LiveConversion: 62 -croptop
    LiveConversion: 63 0
    LiveConversion: 64 -cropbottom
    LiveConversion: 65 0
    LiveConversion: 66 -s
    LiveConversion: 67 480x272
    LiveConversion: 68 -aspect
    LiveConversion: 69 1.7647059
    LiveConversion: 70 -y
    LiveConversion: 71 -f
    LiveConversion: 72 mpegts
    LiveConversion: 73 -vcodec
    LiveConversion: 74 libx264
    LiveConversion: 75 -crf
    LiveConversion: 76 32
    LiveConversion: 77 -qmax
    LiveConversion: 78 32
    LiveConversion: 79 -r
    LiveConversion: 80 25.0
    LiveConversion: 81 -acodec
    LiveConversion: 82 libmp3lame
    LiveConversion: 83 -ab
    LiveConversion: 84 128k
    LiveConversion: 85 -ac
    LiveConversion: 86 2
    LiveConversion: 87 -
    LiveConversion: FFmpeg version UNKNOWN, Copyright (c) 2000-2009 Fabrice Bellard, et al.
    LiveConversion: built on Dec 31 2009 15:02:55 with gcc 4.4.1
    LiveConversion: configuration: --enable-memalign-hack --prefix=/mingw --target-os=mingw32 --arch=i686 --cpu=i686 --enable-gpl --enable-libx264 --enable-static --disable-shared --enable-pthreads --enable-libmp3lame --enable-libfaad --disable-decoder=aac
    LiveConversion: libavutil 50. 7. 0 / 50. 7. 0
    LiveConversion: libavcodec 52.43. 0 / 52.43. 0
    LiveConversion: libavformat 52.43. 0 / 52.43. 0
    LiveConversion: libavdevice 52. 2. 0 / 52. 2. 0
    LiveConversion: libswscale 0. 7. 2 / 0. 7. 2
    LiveConversion: [mpeg2video @ 0x3231010]mpeg_decode_postinit() failure
    LiveConversion: [mpegts @ 0x17c9ea0]max_analyze_duration reached
    LiveConversion: [mpegts @ 0x17c9ea0]Estimating duration from bitrate, this may be inaccurate
    LiveConversion:
    LiveConversion: Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
    LiveConversion: Input #0, mpegts, from 'http://192.168.178.20:8001/1:0:1:6DCA:44D:1:C00000:0:0:0:':
    LiveConversion: Duration: N/A, start: 89336.861067, bitrate: 15896 kb/s
    LiveConversion: Program 28106
    LiveConversion: 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
    LiveConversion: Stream #0.1[0x66](deu): Audio: mp2, 48000 Hz, 2 channels, s16, 256 kb/s
    LiveConversion: Stream #0.2[0x67](2ch): Audio: mp2, 48000 Hz, 2 channels, s16, 192 kb/s
    LiveConversion: Stream #0.3[0x819]: Data: 0x0005
    LiveConversion: Stream #0.4[0x54]: Data: 0x0006
    LiveConversion: Stream #0.5[0x68](deu): Subtitle: 0x0006
    LiveConversion: Stream #0.6[0x6a](dd): Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s
    LiveConversion: Stream #0.7[0x818]: Data: 0x000b
    LiveConversion: Stream #0.8[0x81c]: Data: 0x000b
    LiveConversion: Stream #0.9[0x81d]: Data: 0x000b
    LiveConversion: Stream #0.10[0x87b]: Data: 0x000b
    LiveConversion: Stream #0.11[0x42a]: Data: 0x000c
    LiveConversion: Program 28107
    LiveConversion: Program 28108
    LiveConversion: Program 28110
    LiveConversion: Program 28111
    LiveConversion: Program 28112
    LiveConversion: Program 28113
    LiveConversion: [libx264 @ 0x32617b0]using SAR=1/1
    LiveConversion: [libx264 @ 0x32617b0]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
    LiveConversion: [libx264 @ 0x32617b0]profile Baseline, level 2.1
    LiveConversion: Output #0, mpegts, to 'pipe:':
    LiveConversion: Stream #0.0: Video: libx264, yuv420p, 480x272 [PAR 1:1 DAR 30:17], q=2-32, 200 kb/s, 90k tbn, 25 tbc
    LiveConversion: Stream #0.1(deu): Audio: libmp3lame, 48000 Hz, stereo, s16, 64 kb/s
    LiveConversion: Stream mapping:
    LiveConversion: Stream #0.0 -> #0.0
    LiveConversion: Stream #0.1 -> #0.1
    LiveConversion: Press [q] to stop encoding
    LiveConversion: [mpeg2video @ 0x3231010]mpeg_decode_postinit() failure
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: Error while decoding stream #0.0
    LiveConversion: frame= 28 fps= 0 q=32.0 size= 16kB time=0.70 bitrate= 188.0kbits/s dup=14 drop=0
    LiveConversion: [mpeg2video @ 0x3231010]skipped MB in I frame at 39 22
    LiveConversion: [mpeg2video @ 0x3231010]Warning MVs not available
    LiveConversion: [mpeg2video @ 0x3231010]concealing 630 DC, 630 AC, 630 MV errors
    LiveConversion: [mp2 @ 0x3231710]incomplete frame
    LiveConversion: Error while decoding stream #0.1
    LiveConversion: [libmp3lame @ 0x3261b50]lame: output buffer too small (buffer index: 9600, free bytes: 192)
    LiveConversion: Audio encoding failed

  • Hi, the problem is that your laptop is connected by wifi to your fritz.


    Connect your dreambox and laptop by ethernet cable to your fritz and you will be happy.


    PS: right now I'm watching a cooking programme on Das Erste with quality level 480x272 quality 40% via 3G. Picture quali is good and average bitrate is ~300kbs

    Kathrein UFS910 (AAF E2)
    Dbox2 (latest Petze)

    Einmal editiert, zuletzt von jockyw2001 ()

  • Zitat

    Original von Tonskidutch
    Tag auch...
    Wollte das die Niederländisch Sprechenden nicht vorenthalten, deswegen die übersetzung.


    Es gibt Niederländer, die kein englisch können? :winking_face:
    Mir ist noch nie einer begegnet...

    500HD (C) | SKY komplett | netcologne | unitymedia allstars
    twitter.com/marco79

  • Zitat

    Originally posted by BillyBlue77


    Es gibt Niederländer, die kein englisch können? :winking_face:
    Mir ist noch nie einer begegnet...


    na du wurdest staunen BillyBleu77,
    ciao

  • die niederlaender haben den vorteil keine übersetzen us filme zu schauen sondern meist mit untertiteln...


    :winking_face:

  • Zitat

    Original von jockyw2001
    Hi, the problem is that your laptop is connected by wifi to your fritz.


    Connect your dreambox and laptop by ethernet cable to your fritz and you will be happy.


    PS: right now I'm watching a cooking programme on Das Erste with quality level 480x272 quality 40% via 3G. Picture quali is good and average bitrate is ~300kbs


    Habe das ausprobiert, d.h. alle Rechner per Lan-Kabel angeschlossen. Leider ohne Erfolg. Streams brechen weiter nach ein paar Sekunden ab. Habe beobachtet, daß das Buffering nach dem Continue, also vor dem Streambeginn, relativ kurz ist, 3-4 Sekunden. Ich weiß nicht, wielang das dauern soll. Was kann ich noch beitragen, um evtl. Fehler zu finden?