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