IPTV Multicast Workshop@WUNCA20

Post on 24-Dec-2014

756 views 1 download

description

 

Transcript of IPTV Multicast Workshop@WUNCA20

IPTV MulticastWorkshop@WUNCA20

touch@coe.psu.ac.th

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

• Higher resolution program (MPEG2-TS, H.264, MPEG4)

• HDTV program available

• 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 (FF3X::4000:0)

• Reserved for IANA allocation (FF3X::4000:1 - FF3X::7FFF:FFFF)

• Reserved for local host allocation (FF3X::8000:0 - FF3X::FFFF: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 scriptCACHE=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 scriptvlc -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 --dvb-voltage=$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 --dvb-hierarchy=0 --dvb-http-host="" --dvb-http-user="" --dvb-http-password="" --dvb-http-acl="" --dvb-http-intf-cert="" --dvb-http-intf-key="" --dvb-http-intf-ca="" --dvb-http-intf-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