IPTV Multicast Workshop@WUNCA20
[email protected]
1
Where to get this file? http://fivedots.coe.psu.ac.th/~touch/WUNCA20
2
Outline • • • •
Introduction System Requirement
• •
Hardware Software
Server Configuration Demo
3
Introduction
4
IPTV, What is? •
Media Broadcasting over Network (Unicast, Multicast)
• • •
IPv4 or IPv6(preferred) Multi client platform supported HD Media supported
5
IPTV@PSU • •
2005: Begins of the show
• •
PC (Linux) + TV tuner card + VLC Poor TV signal in PSU
2006: Moving to DVB
• • • •
AV output from DVB set-top-box PC (Linux) + TV capture card + VLC IPv4 & IPv6 Service (Unicast only) Only one TV channel service (320x240)
6
•
IPTV@PSU
2008: More TV channel service
• •
PC(Linux) + DVB-S tuner card + VLC
• • • •
HDTV program available
Higher resolution program (MPEG2-TS, H.264, MPEG4)
100% IPv6 Multicast Service available Service Announcement Protocol (SAP) for channel list
7
System Requirement
8
Media Source • • • •
Removable Media
•
VCD, DVD,
File
•
MPG, AVI, WMV, M4V, MP4, MKV
DVB Video Capture Devices
9
Hardware (File)
• •
PC (P4 or Dual Core) with 1+ GB RAM Bigger Storage
10
Hardware (DVB-S)
• • • • • •
PC (P4 or Dual Core) with 1+ GB RAM DVB-S, DVB-S2 PCI Card Satellite Dish (C or Ku Band) + LNB + Cables Diseq (Multiple Dish, Single receiver) Splitter (Single Dish, Multiple receiver) Multi-Switch (Multiple Dish, Multiple receiver)
11
Satellite Dish + LNB
12
DVB-S PCI Adapter
13
Software • • •
Linux DVB PCI Kernel Module (Mostly supported) VLC
14
Why VLC? • • • • •
Multi Platform Supported Huge file format supported Unicast and Multicast IPv4 and IPv6 supported Can be client and server in one program Multiple transport stream (http, rtsp, mms, udp)
15
16
Server Configuration
17
IPv6 Multicast Address •
RFC4067- FF3X:0000::/32
• • •
Invalid addresses (FF3X::0:0 - FF3X::3FFF:FFFF)
•
Reserved for local host allocation (FF3X::8000:0 FF3X::FFFF:FFFF)
Reserved (FF3X::4000:0) Reserved for IANA allocation (FF3X::4000:1 FF3X::7FFF:FFFF)
18
Satellite Dish Setup •
SD Program C-Band Thaicom (78.5 E) Free to Air Thai TV Programs Ku-Band NSS6 (95.0 E) ASTV HD Program C-Band Asiasat2 (100.5 E) LuxeTV HD
• •
•
•
• • •
• • •
19
Sat Transponder
20
Server startup script CACHE=500 PROGRAMS='711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728' FREQUENCY=12772000 SRATE=30000000 VERTICAL=13 HORIZONTAL=18 FEC=2 LNB_LOF1=11300000 LNB_LOF2=11300000 LNB_SLOF=11700000 MULTICAST_IP='[ff3e:40:2001:5c0:fb02:1002::1]'
21
Server startup script vlc -v --color --ipv6 --ttl 255 --ts-es-id-pid \ --programs=$PROGRAMS \ dvb: --dvb-adapter=0 --dvb-frequency=$FREQUENCY --dvb-srate=$SRATE --dvb-caching=$CACHE --dvb-device=0 --dvb-inversion=2 --dvb-probe --no-dvb-budget-mode --dvb-satno=0 --dvbvoltage=$HORIZONTAL --no-dvb-high-voltage --dvb-fec=$FEC --dvb-lnb-lof1=$LNB_LOF1 -dvb-lnb-lof2=$LNB_LOF2 --dvb-lnb-slof=$LNB_SLOF --dvb-modulation=0 --dvb-code-rate-hp=9 --dvb-code-rate-lp=9 --dvb-bandwidth=0 --dvb-guard=0 --dvb-transmission=0 --dvbhierarchy=0 --dvb-http-host="" --dvb-http-user="" --dvb-http-password="" --dvb-httpacl="" --dvb-http-intf-cert="" --dvb-http-intf-key="" --dvb-http-intf-ca="" --dvb-httpintf-crl="" \ --sout \ '#duplicate{'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP':12010,sap,group="Thaicom",name="Money Channel"},select="program=711",'\
22
Server startup script 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12020,sap,group="Thaicom",name="DLTV01"},select="program=712",'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12030,sap,group="Thaicom",name="DLTV02"},select="program=713",'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12040,sap,group="Thaicom",name="DLTV03"},select="program=714",'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12050,sap,group="Thaicom",name="DLTV04"},select="program=715",'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12060,sap,group="Thaicom",name="DLTV05"},select="program=716",'\ 'dst=std{access=udp,mux=ts,dst='$MULTICAST_IP': \ 12070,sap,group="Thaicom",name="DLTV06"},select="program=717",'\ ...
23
Server startup script 'dst=std{access=http,mux=ts,dst=:1201},select="program=711",'\ 'dst=std{access=http,mux=ts,dst=:1202},select="program=712",'\ 'dst=std{access=http,mux=ts,dst=:1203},select="program=713",'\ 'dst=std{access=http,mux=ts,dst=:1204},select="program=714",'\ 'dst=std{access=http,mux=ts,dst=:1205},select="program=715",'\ 'dst=std{access=http,mux=ts,dst=:1206},select="program=716",'\ 'dst=std{access=http,mux=ts,dst=:1207},select="program=717"'\ '}'
24
Try it yourself
25
What will your script look like?
• • • • • •
Satellite = Thaicom 2/5 at 78.5 E Transponder Frequency = 12.313 GHz Polarization = Horizontal Program ID = 15, 16 Service Type = Multicast IPv6 SAP Group = Use your favorite name
26
What will your script look like?
27
Demo
28