IPTV over IPv6 Multicast touch@coe.psu.ac.th
Outline Introduction System Requirement Hardware Software Server Configuration Demo
Presentation Resources http://fivedots.coe.psu.ac.th/~touch/ucc
Introduction
ค ณเคยม ความต องการแบบน บ างหร อไม? อยากด ท ว ขณะน งท างานในออฟฟ ศ ท ออฟฟ ศม ท ว ให ด ร วมก นเพ ยง1 เคร อง ระบบท ว รวม ม ช องรายการจ าก ด แต ละพ นท ในอาคาร เด ยวก น ภาพคมช ดไม เท าก น ด ผ านอ นเตอร เน ตก ช า แถมภาพเล ก ไม ช ด อยากด รายการท ว ความละเอ ยดส ง (HDTV) ต องการระบบถ ายทอดงานพ ธ ท ม ประส ทธ ภาพ
SMATV ภาพจาก www.u2thai.com
IPTV, What is? Media Broadcasting over Network (Unicast, Multicast) IPv4 or IPv6(preferred) Multi client platform supported HD Media supported
IPTV, What is? Satellite Antenna 1 Encoder 1 Client PC 1 Satellite Antenna 2 Encoder 2 Internet Satellite Antenna 3 Encoder 3 Client PC 2 Satellite Antenna n Encoder n Client PC 3
IPv4 Packet
IPv6 Packet
Multicast VS. Unicast Multicast Source Client1 Client2 Router1 Router2 Router3 Client3 Source Client1 Unicast Client2 Router1 Router2 Router3 Client3
Commercial IPTV Services TrueVisions
Commercial IPTV Services
IPTV@PSU 2005: Begins of the show Poor TV signal in PSU 2006: Moving to DVB PC (Linux) + TV tuner card + VLC AV output from DVB set-top-box PC (Linux) + TV capture card + VLC IPv4 & IPv6 Service (Unicast only) Only one TV channel service (320x240)
IPTV@PSU 2008: More TV channel service PC(Linux) + DVB-S tuner card + VLC Higher resolution program (MPEG2-TS, H.264, MPEG4) HDTV program available 100% IPv6 Multicast Service available Service Announcement Protocol (SAP) for channel list
System Requirement
Media Source Removable Media VCD, DVD, File MPG, AVI, WMV, M4V, MP4, MKV DVB Video Capture Devices
Hardware (File) PC (P4 or Dual Core) with 1++ GB RAM Bigger Storage
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 DiSEqC (Multiple Dish, Single receiver) Splitter (Single Dish, Multiple receiver) Multi-Switch (Multiple Dish, Multiple receiver)
Satellite Dish + LNB
Satellite Dishes 68.5 E 78.5 E 132.0 E 91.5 E
DVB-S PCI Adapter
DVB-S2 PCI Adapter
Software Linux DVB PCI Kernel Module (Mostly supported) VLC หร อ DVBlast
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)
DVBlast Simple and Powerful MPEG2/TS demux and streaming DVB-S, DVB-S2, DVB-C, DVB-T supported PID based or service based demux
Server Configuration
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
A. B. C. to stream
IP Multicast Address 224.0.0.0-239.255.255.255 (224.0.0.0/4) 233.0.0.0/8 => reserve for experiment 224.0.0.0/24 => local subnetwork multicast only. 232.0.0.0/8 => Source-specific multicast 239.0.0.0/8 => local administrator address for local use
IPv6 Multicast Address FF00::/8 FF00::/16 trough FF0F::/16 are reserved FFx1::/16 is interface-local FFx2::/16 is link-local FFx4::/16 is admin-local FFx5::/16 is site-local FFx8::/16 is organization-local FFxE::/16 is global scope
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 Asiasat5 (100.5 E) LuxeTV HD
Sat Transponder info
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:1102:fb00::1]'
Server startup script vlc -v -I telnet --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",'\
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",'\...
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"'\ '}'
Try it yourself
What will your script look like?
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
Demo