UnicastTV

 

UnicastTV is vlc(VideoLan) based IPTV player.




A lot of wireless routers don't handle multicast traffic very well, but they normally handle unicast udp streams quite good. Because of high error rates over wireless link, video isn't perfect but still watchable.
Multicast traffic is "converted" to unicast by vlc located on server with two network cards (one connected to LAN and other to IPTV vlan). You can controll vlc server from any client computer with web browser (http://server_ip:8080) and watch video with vlc, or you can use UnicastTV, which eliminates web browser for changing channels.

If you have unix based sever, you can also use UnicastTV to schedule recordings via ssh and crontab.

UnicastTV works on Windows(2000,XP) and Linux.

 

Server configuration (linux):

You need to install:
  • vlc
  • ssh server
  • crontab
  • killall (apt-get install psmisc on Debian)
  • samba server (optional)
  • If you are using older computer, i recommend Debian distribution (without GUI) and suggest that you configure vlc without modules you don't need, something like this:

    ./configure --disable-hal --enable-optimize-memory --disable-growl --disable-notify --disable-dvdnav --disable-smb --disable-gnomevfs --disable-libcdio --disable-libcddb --disable-cdda --disable-vcd --disable-screen --disable-ogg --disable-mod --disable-mpc --disable-ffmpeg --disable-libtar --disable-a52 --disable-dts --disable-libmpeg2 --disable-vorbis --disable-speex --disable-png --disable-x264 --disable-cmml --disable-x11 --disable-xvideo --disable-glx --disable-xinerama --disable-opengl --disable-sdl --disable-sdl-image --disable-freetype --disable-fb --disable-oss --disable-alsa --disable-upnp --disable-skins2 --disable-wxwidgets --disable-visual --disable-daap --disable-bonjour --disable-gnutls Don't forget to 'tell' vlc on which interface is IPTV multicasting network:
    ~/.vlc/vlcrc:
    [main] miface-addr=192.168.1.2 Change 192.168.1.2 with ip number of interface connected to IPTV vlan.

    Possible problems:

    Vlc server doesn't receive any packets:

    Some IPTV providers use only IGMP v2, but default version on linux is IGMP v3. Solution:
    In /etc/sysctl.conf add this:
    net/ipv4/conf/all/force_igmp_version = 2
    net/ipv4/conf/default/force_igmp_version = 2

    Vlc server doesn't receive any packets, but light on network card is blinking and you get this error 'main private error: cannot pre fill buffer'. Solution:

    echo 1 > /proc/sys/net/ipv4/conf/eth1/rp_filter
    Change eth1 with multicasting interface.