Professional Documents
Culture Documents
Ftream <-ent
ste 7 stream5e-ent5section0
e-ent5id 7 !:
stream5e-ent5descriptor58oop 7 D
stream5e-ent5do5it5now5descriptor0
e-ent5id 7 !:
pri-ate5data 7 Ge-ent ! pri-ate dataG:
1:
E:
-ersion5n+m2er 7 !:
section5n+m2er 7 0:
8ast5section5n+m2er 7 0:
1
D$$$E
h#s eve&t has #d 1 a&d br#&.s some pr#vate date #& the pa-load: Meve&t 1 pr#vate dataM.
h#s eve&t #s a Do 't Kow 0ve&t, the o&l- k#&d o$ stream eve&t supported b- 5pe&Caster
a&d actuall- the o&l- o&e supported amo&. all M<+ decoders.
MDo 't KowM mea&s that as soo& as the decoder rece#ve the eve&t #t should be se&t to the
appl#cat#o&s wa#t#&. $or #t.
Also <bbv supports stream eve&ts w#th the same .e&erat#o& process.
/6 http://www.avalpa.com
Avalpa Broadcast Server user manual
o have the demo ru&&#&. e%ecute $or mhp1streameve&ts:
$/mhpconfi(#$p)
oc-+pdate$sh ocdir! 0*J ' #003 ! # 0 0 ,0%% 0 #
oc-+pdate$sh ocdir# 0*C ' #00, # # 0 0 ,0%% 0 #
tsc2rm+*er 24#300000 first-ideo$ts 24!&&000 firsta+dio$ts 24300& firstpat$ts 24300& firstpmt$ts
24!'00 firstsdt$ts 24!,00 firstnit$ts 24!000000 ocdir!$ts 24!000000 ocdir#$ts 24#000 firstait$ts
24#000 firstste$ts 24&9900&, n+88$ts A m)firstfifo$ts B
tsstamp m)firstfifo$ts !3#9!000 A m)secondfifo$ts B
tsrfsend m)secondfifo$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
Kow -ou ca& tu&e the decoder a&d look $or the appl#cat#o& Mest ,tream 0ve&tM:
'$ -ou e%ecute the appl#cat#o&, #t w#ll start a&d wa#t $or the ,tream 0ve&t:
/? http://www.avalpa.com
Avalpa Broadcast Server user manual
;C http://www.avalpa.com
Avalpa Broadcast Server user manual
'$ -ou d#d&Dt &ot#ce the mult#ple%#&. #s us#&. also a $#rstste.ts $#le, th#s $#le was .e&erated
b- ./mhpco&$#.2.p- a&d co&ta#&s the eve&ts themselves se&t #& a loop.
5bv#ousl- th#s #s &ot the usual behav#our because -ou do&Dt wa&t to se&d
stream eve&t $rom the ver- be.#&&#&., so -ou w#ll &eed to #&#t#all- mu% a &ull.ts
#&stead o$ $#rstste.ts a&d replace the stream whe& #tDs the r#.ht t#me to se&d the
eve&t:
cp n+88$ts tempste$ts
tsc2rm+*er 24#300000 first-ideo$ts 24!&&000 firsta+dio$ts 24300& firstpat$ts 24300& firstpmt$ts
24!'00 firstsdt$ts 24!,00 firstnit$ts 24!000000 ocdir!$ts 24!000000 ocdir#$ts 24#000 firstait$ts
24#000 firstste$ts 24&9900&, n+88$ts A m)firstfifo$ts B
tsstamp m)firstfifo$ts !3#9!000 A m)secondfifo$ts B
tsrfsend m)secondfifo$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
cp firstste$ts tempste$ts
to stop se&d#&. the eve&t 7ust put the &ull.ts back
cp n+88$ts tempste$ts
,o $ar so .ood, but here #t comes the d#$$#cult part: how the appl#cat#o& re.#ster
to wa#t $or the eve&t.
he appl#cat#o&, #& order to rece#ve the eve&ts, has to start e%ecut#&. a&d
re.#ster #tsel$ to the eve&ts.
o re.#ster to eve&t the appl#cat#o& &eeds a re$ere&ce ob7ect placed #& the ob7ect carousel
so #tDs &ecessar- to create a ,tream 0ve&t 5b7ect #&to the $#le s-stem -ou wa&t to
broadcast, thatDs poss#ble w#th: steo.p-
<ave a look at the steo.p- scr#pt, #t w#ll .e&erate three $#les: .e#d .e&ame .tap, #$ -ou put
these three #& a d#rector- #&s#de the ob7ect carousel l#ke: test.eve&t or e%ample.eve&t the
carousel .e&erator w#ll create a ,tream 0ve&t 5b7ect #&stead o$ a d#rector-. h#s #s a
spec#al #&1ba&d s#.&al#&..
D$$$E
tap 7 str5e-ent5+se5tap01
tap$set0
id 7 0:
assocTa( 7 0*>: 8 asso$iation tag %eine% into +/. or the Strea' Event
1
taps 7 Taps 0
taps5co+nt 7 !:
tap58oop 7 D tap:E:
1
e-ent5co+nt 7 3 8 n#'ber o events
e-ent5names 7 <-ent5names 0
e-entnames5co+nt 7 e-ent5co+nt:
e-ent5name58oop 7 D Ge-ent !G: Ge-ent #G: Ge-ent 3GE: 8 na'e o the events
1
e-ent5ids 7 <-ent5ids 0
e-entids5co+nt 7 e-ent5co+nt:
e-ent5id58oop 7 D !: #: 3:E: 8 i% o the events
1
D$$$E
<ere #s how #t looks l#ke #& ocd#r2 the .e&erated $#les .e#d, .e&ame a&d .tap:
8orenLoWn2-8pa88ara4X/OpenCaster/e*amp8e-confi(V 8s -8a ocdir#/
tota8 #0
drw*r-*r-* 3 8orenLo 8orenLo ,0"% #009-!#-0, !#4!9 $
drw*r-*r-* ' 8orenLo 8orenLo ,0"% #00&-0%-!0 0#40% $$
;1 http://www.avalpa.com
Avalpa Broadcast Server user manual
-rw-r--r-- ! 8orenLo 8orenLo #! #009-!#-0, !#4!9 here5is5caro+se8#
drw*r-*r-* # 8orenLo 8orenLo ,0"% #009-!#-0, !#4!9 test$e-ent
-rw-r--r-- ! 8orenLo 8orenLo 39"% #009-!#-0, !#4!9 Testste$c8ass
8orenLoWn2-8pa88ara4X/OpenCaster/e*amp8e-confi(V 8s -8a ocdir#/test$e-ent/
tota8 #0
drw*r-*r-* # 8orenLo 8orenLo ,0"% #009-!#-0, !#4!9 $
drw*r-*r-* 3 8orenLo 8orenLo ,0"% #009-!#-0, !#4!9 $$
-rw-r--r-- ! 8orenLo 8orenLo 9 #009-!#-0, !#4!9 $eid
-rw-r--r-- ! 8orenLo 8orenLo #" #009-!#-0, !#4!9 $ename
-rw-r--r-- ! 8orenLo 8orenLo & #009-!#-0, !#4!9 $tap
Ehe& the appl#cat#o&s 8uer-s the test.eve&t ob7ect #t w#ll $#&d out that ca& re.#ster to three
d#$$ere&t eve&ts: 1, 2, 3 as descr#bed b- steo.p-
hese three eve&t are se&t over the +'D spec#$#ed #&to the +M a&d #&to steo.p-, look $or
the Mcompo&e&t ta.M both #& steo.p- a&d mhpco&$#.2.p-
D$$$E
stream58oop5item0
stream5t)pe 7 !#: Ftream <-ent stream t)pe
e8ementar)5.I> 7 ste!5pid:
e8ement5info5descriptor58oop 7 D
stream5identifier5descriptor0
component5ta( 7 0*>:
1:
E
1:
D$$$E
<ow to rece#ve stream eve&ts o& a M<+ appl#cat#o& #s out o$ the scope o$ th#s
docume&t, but -ou w#ll $#&d a 7ava e%ample appl#cat#o& #& the 5pe&Caster
packa.e.
he complete work$low a$ter the appl#cat#o& #s started #s:
14 the decoder e%ecutes the appl#cat#o& est,te
24 the appl#cat#o& looks $or MtestM ,tream 0ve&t 5b7ect .e&erated b- steo.p- a&d
placed #&to the D,MCC at .e&erat#o& t#me
34 the appl#cat#o& subscr#be to eve&t 1
/4 the appl#cat#o& rece#ves eve&t 1 $rom the $#rstste.ts .e&erated b- mhpco&$#.2.p-
;2 http://www.avalpa.com
Avalpa Broadcast Server user manual
DS'CC-receive
ImhpJ
he dsmcc1rece#ve tool w#ll e%tract a dsmcc $#le s-stem $rom a tra&sport stream $#le.
mkfifo o+tp+t$sec
mkdir o+tp+tdir
ts#sec ocdir!$ts #003 A o+tp+t$sec B
dsmcc-recei-e o+tp+tdir !00 #003 0*J C o+tp+t$sec
he $#rst comma&d w#ll e%tract sect#o&s $rom a .#ve& +'D 22CC3 #& the e%ample4 #&to a
tra&sport stream $#le, the seco&d w#ll output the dsmcc $#les-stem #& the outputd#r d#rector-
however to process the dsmcc #t &eeds to k&ow the +'D 22CC34 a&d the compo&e&t ta.
2C%B4.
1CC #s a cache value, #t spec#$#es that #t ca& store up to 1CC sect#o&s eve& #$ #tDs &ot sure #$
the- belo&. to the curre&t dsmcc or &ot.
;3 http://www.avalpa.com
Avalpa Broadcast Server user manual
'ultiplexing a 'ultiple #rogram (ransport Stream from local files
ImptsJ
o broadcast two or more pro.rams at the same t#me 2the ver- co&cept o$ a mult#ple%
creat#&. a Fmult# pro.ram tra&sport streamG AWA M+,4, -ou bas#call- add more aud#o.ts
a&d more v#deo.ts $#le to tscbrmu%er a&d s#.&al the streams w#th the ps# table, $or a
complete e%ample dow&load:
hese p-tho& scr#pts e&ds w#th a s-stem comma&d #&vok#&. sec2ts so the- d#rectl-
.e&erates .ts $#les w#thout the &eed to e%ecute ma&uall- sec2ts so e%ecute them to
.e&erate the ps# .ts $#les.
Aud#o a&d v#deo are alread- mult#ple%ed #&to mptsavT.ts $#les.
<ave a look at mptsco&$#..p-, e%ecute #t w#th ./mptsco&$#..p- a&d the& start mu%#&. a&d
pla-#&.: 2remember -ou &eed a $#$o: mk$#$o m-$#rst$#$o.ts4
tsc2rm+*er 24#300000 first-ideo$ts 24!&&000 firsta+dio$ts 24#300000 second-ideo$ts 24!&&000
seconda+dio$ts 24#300000 third-ideo$ts 24!&&000 thirda+dio$ts 24300& mptspat$ts 24300& mptspmt!$ts
24300& mptspmt#$ts 24300& mptspmt3$ts 24!,00 mptsnit$ts 24!'00 mptssdt$ts 24'9"#0%" n+88$ts A
m)firstfifo$ts B
tsrfsend m)firstfifo$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
he cl#p $#les are ver- short a&d w#th a ver- small b#t rate, ma&- decoders ca& have
problems decod#&. cha&&el 2 a&d cha&&el 3, cha&&el 1 should pla- smooth o& all
decoders, th#s ca& also be a test o& -our mpe.2 decoder recover- capab#l#t#es.
A problem ar#ses because the v#deos are looped a&d so, $rom the po#&t o$ v#ew o$ the
decoder, the +C3 .oes back #& t#me a$ter the e&d o$ the $#rst loop whe& we come back
pla-#&. the same ts loop a seco&d t#me9 -ou ca& tr- to $#% +C3 us#&. tsstamp l#ke here:
tsc2rm+*er 24#300000 first-ideo$ts 24!&&000 firsta+dio$ts 24#300000 second-ideo$ts 24!&&000
second-ideo$ts 24#300000 third-ideo$ts 24!&&000 thirda+dio$ts 24300& mptspat$ts 24300& mptspmt!$ts
24300& mptspmt#$ts 24300& mptspmt3$ts 24!,00 mptsnit$ts 24!'00 mptssdt$ts 24'9"#0%" n+88$ts A
m)firstfifo$ts B
tsstamp m)firstfifo$ts !3#9!000 A m)secondfifo$ts B
tsrfsend m)secondfifo$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
+lease &ote that #&put $#les are .e&erated b- 5pe&Caster #tsel$, check re1mult#ple%#&.
sect#o& $or mult#ple% #&puts $rom other s-stems.
,ome scree&shots $rom the decoder w#ll $ollow:
;/ http://www.avalpa.com
Avalpa Broadcast Server user manual
;; http://www.avalpa.com
Avalpa Broadcast Server user manual
"#&all- letDs check the a&al-ser a.a#& $or the serv#ces a&d the#r +C3:
;A http://www.avalpa.com
Avalpa Broadcast Server user manual
;B http://www.avalpa.com
Avalpa Broadcast Server user manual
B"SS-E and CSA output support
IcsaJ
Avalpa Broadcast ,erver ca& scramble the tra&sport stream us#&. C,A a&d support B',,1
0 mode 1.
scr-pt w#ll scramble -our tra&sport stream, however #t re8u#res l#bdvbcsa prov#ded b- th#rd
part#es a&d &ot #&stalled o& the server b- de$ault.
o #&stall the so$tware proceed as $ollow:
mkdir 8i2d-2csa
cd 8i2d-2csa
s-n co s-n4//s-n$-ideo8an$or(/8i2d-2csa
cd 8i2d-2csa/tr+nk
a+toconf
$/confi(+re
make
s+ 0insert root password: defa+8t is A-a8pa1
make insta88
e*it
cd /home/OpenCaster/software/too8s/tscr)pt
make
s+ 0insert root password: defa+8t is A-a8pa1
make insta88
e*it
Kow -ou are read- to use tscr-pt, the bas#c usa.e #s:
tscr)pt inp+t$ts fi8e$cw A cr)pted$ts
the #&put tra&sport stream w#ll be cr-pt us#&. co&trol words $rom $#le.cw, those are 6 b-tes
tw#ce, odd a&d eve& ke-s, #t #s a per$ect match $or a b#ss cam.
he +,' s#.&all#&. re8u#red #s carr#ed out #& the pmt:
pmt 7 pro(ram5map5section0
pro(ram5n+m2er 7 a-a8pa!5ser-ice5id:
.CR5.I> 7 #0%,:
pro(ram5info5descriptor58oop 7 DE:
stream58oop 7 D
stream58oop5item0
stream5t)pe 7 #: mpe(# -ideo stream t)pe
e8ementar)5.I> 7 #0%,:
e8ement5info5descriptor58oop 7 D
ca5descriptor 0
CA5s)stem5I> 7 0*#%00:
CA5.I> 7 0*!===:
1:
E
1:
stream58oop5item0
stream5t)pe 7 ,: mpe(# a+dio stream t)pe
e8ementar)5.I> 7 #0%&:
e8ement5info5descriptor58oop 7 D
ca5descriptor 0
CA5s)stem5I> 7 0*#%00:
CA5.I> 7 0*!===:
1:
E
1:
E:
;6 http://www.avalpa.com
Avalpa Broadcast Server user manual
letDs tr- some output:
r+n once on8)
$/2issconfi($p)
tscr)pt ke)s$cw first-ideo$ts A first-ideocr)pted$ts
tscr)pt ke)s$cw firsta+dio$ts A firsta+diocr)pted$ts
mkfifo m)firstfifo$ts
mkfifo m)secondfifo$ts
a8wa)s r+nnin(
tsc2rm+*er 24#300000 first-ideocr)pted$ts 24!&&000 firsta+diocr)pted$ts 24300& firstpat$ts 24300&
firstpmt$ts 24!'00 firstsdt$ts 24!,00 firstnit$ts 24!099,0&, n+88$tsA m)firstfifo$ts B
tsstamp m)firstfifo$ts !3#9!000 A m)secondfifo$ts B
tsrfsend m)secondfifo$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
he co&trol word used #s C%CC C%CC C%CC C%CC C%C1 C%C2 C%C3 C%A
h#s wo&Dt be e&ou.h to support a&- ava#lable CA, s-stem but 5pe&Caster #s
also able to s#.&al 0CM, 0MM a&d CA #& the same wa- as descr#bed $or the
others +,'/,' show& #& the prev#ous e%amples so the support #s 8u#te complete.
The scramblin" processin" is ,uite computational expensive so pay
attention to your cpu usa"e+
;? http://www.avalpa.com
Avalpa Broadcast Server user manual
Avalpa Broadcast Server9Avalpa :eb /$G GUI
.eference
Alread- #&stalled o& the Avalpa Broadcast ,erver there #s a 0letro&#c +ro.ram GL'
.e&erator tha& ca& co&$#.ured b- web. A complete ma&ual #s ava#lable #& 'tal#a& a&d
0&.l#sh tra&slat#o& #s o& the wa-, #& the mea&wh#le a $ew top#cs are alread- covered.
Check out the .u#de at:
http://www.avalpa.com/assets/$reeso$t/ope&caster/AvalpaBroadcastEeb0+GMa&ual 1
v1.C.pd$
<ere #s a& actual scree&shot:
AC http://www.avalpa.com
Avalpa Broadcast Server user manual
Avalpa Broadcast Server for audio)video playout
Avalpa Broadcast ,erver e&ables -ou to set up a pla- out s-stem o$ a se8ue&ce o$ pre1
e&coded $#les, the $ollow#&. chapters descr#be aud#o/v#deo pla-out s-stem, -ou ca& sk#p
th#s sect#o& #$ -ou are #&terested #& such usa.e
h#s shot shows the pla- out s-stem #& act#o&, stra#.ht $rom a Fbud.etG tv set, he&ce the
#&terlac#&., mo#reD a&d hor#*o&tal sca&l#&e art#$acts==
Ma&- tv serv#ces are 7ust the broadcast#&. o$ recorded eve&ts, v#deo a&d $#lms 2th#&k
bus#&ess telev#s#o&, hosp#tal#t- a&d some satell#te cha&&els4 . h#s co&te%t #s a per$ect
match $or Avalpa Broadcast ,erver. Ls#&. the $ollow#&. tools the broadcaster ca& avo#d
e%pe&s#ve real1t#me s-stems .reatl- reduc#&. costs, parts, comple%#t- a&d the stora.e
&eeds $or the ru&&#&. pla- out s-stem.
o u&dersta&d the pla- out s-stem #s &ecessar- to u&dersta&d the tools prese&ted #& th#s
sect#o&, at the e&d o$ the chapter the s#mplest poss#ble pla- out #s real#*ed w#th 7ust a $ew
comma&d l#&es.
"ntroduction to ingestion
he most #mporta&t #ssue about the #&.est#o& o$ co&te&t #s to val#date #t be$ore
usa.e so #& the &e%t chapters some a&al-s#sD tools are prese&ted to make sure
Avalpa Broadcast ,erver #s $#lled w#th proper #&put $rom the e&coders.
A1 http://www.avalpa.com
Avalpa Broadcast Server user manual
Curre&t supported #&put $ormats $or pla-out usa.e are:
M$/GF video
M$/GF audio
olby i"ital aka ac<
olby i"ital $lus
TS 2on test5
hF6G 2on test5
Most o$ audio encoders usuall- wo&Dt prese&t a d#$$#cult challe&.e because $or
broadcast#&. usa.e the#r bit rate is constant a&d $rame s#*e #s co&sta&t too so -ou w#ll
have o&l- to .et some parameters $rom the e&codersD co&$#.urat#o& a&d match them w#th
Avalpa Broadcast ,erverDs parameters.
!#deo 0leme&tar- ,tream #&put, however, #s a $ar more comple% sub7ect. "or mpe.2 v#deo
the server makes ava#lable a& a&al-ser tool called mpe.2vbv 2!#deo Bu$$er !er#$#er4 that
w#ll report problem w#th the v#deo #&put do#&. a decoder bu$$er s#mulat#o&. <2A/ a&al-*er
w#ll be ava#lable soo&.
!ideo bitrate can be both !ariabile Bit %ate 2!B%5 or *onstant Bit %ate
2*B%5 however #& a d#.#tal v#deo broadcast#&. arch#tecture !B3 makes se&se
o&l- #$ mult#ple%ers a&d e&coders talk to each other a&d real#*e a stat#st#cal
mult#ple%#&. otherw#se us#&. a !B3 e&cod#&. w#thout a stat#st#cal mult#ple%#&.
would be 7ust a waste o$ ba&dw#dth. As $ar as we k&ow there #s &ot a sta&dard about
stat#st#cal mult#ple%#&. a&d ever- ve&dor has #ts ow& lock1#& propr#etar- protocol betwee&
e&coders, also statistical multiplexin" is valuable only on some context and
re,uirement. Eork#&. w#th pre1e&coded $#les the cho#ce o$ *B% is a must especially for
!( services but also for scheduled services with small number of live pro"rames.
o .et -our v#deo e&coded there are ma&- poss#b#l#t#es, we descr#be some o$ the most
commo&:
A& ope& source e&coder l#brar- #s ava#lable #&s#de libavcodec from ffmpe", -ou w#ll be
able to e&code CB3 v#deo eleme&tar- stream as descr#bed #& the chapters below w#thout
problem check later chapters $or deta#ls. he reference encoders are also ava#lable $rom
mpe. web s#te but #t w#ll probabl- be more cpu hu&.r- a&d less e$$ect#ve, other so$tware
decoders are ava#lable both b#&ar-, ope& source, l#ce&sed a&d/or $ree.
Main*oncept l#ce&ses so$tware e&coders w#th a CB3 , !B! compl#a&t !#deo
0, $or a .ood pr#ce as sta&dalo&e solut#o& also o& )#&u% workstat#o&s or #t #s
ava#lable as a plu.1#& $or Adobe +rem#ere a&d ma&- other Ko& )#&ear 0d#t#&.
2K)04 so$twares, eve& Adobe +rem#er 0leme&ts has a h#.h 8ual#t- M+0G2
v#deo e&coder opt#o&. A $ree tr#al dow&load $rom the#r web s#te #s also ava#lable
w#th the o&l- l#m#tat#o& o$ a watermark. +a- atte&t#o& however GL's are &ot alwa-s clear
o& how to .e&erate a CB3 v#deo.
't #s worthless to sa- that a&- pro$ess#o&al broadcast#&. #&dustr#al e&coder hardware w#ll
be also su#table, the& some #&e%pe&s#ve pc hardware has bee& also reported to work .ood
e&ou.h too #$ co&$#.ured properl- w#th up1to1date $#rmware.
A2 http://www.avalpa.com
Avalpa Broadcast Server user manual
A&-wa- #& the $ollow#&. pa.es we w#ll prese&t e%amples w#th $$mpe. because #t #s #&stalled
a&d #t has also a 8u#te w#de ra&.e o$ supported #&put $ormats mak#&. the tutor#als eas#er.
+lease &ote the current ffmpe" version 27+6+@5 has also a basic transport
stream output but it is not suitable for *B% broadcast so -ou ca&&ot use
w#th other 5pe&Caster tools, that #s wh- we w#ll alwa-s show e%ample start#&.
$rom pes or es #&put $#les.
Extracting #rogram and Elementar! Streams: ts/pes
I$#rst1$#le1mu%J
Avalpa Broadcast ,erver comes w#th some tools to a&al-se +ro.ram a&d 0leme&tar-
,tream, these are the bas#c operat#o&s &eeded to val#date -our #&put $#les be$ore us#&.
them #& the pla- out, th#s sect#o& w#ll #&troduce -ou also the bas#c co&cepts -ou have to
master #$ -ou wa&t a smooth pla- out work#&. w#thout problems o& a&- decoder.
tsFpes w#ll e%tract $rom a tra&sport stream the pro.ram eleme&tar- stream descr#bed w#th
a +'D, $or e%ample:
ts#pes first-ideo$ts #0%, A -ideoo+tp+t$pes
A pro.ram eleme&tar- stream $#les w#ll be .e&erated, usuall- aud#o or v#deo.
pesinfo w#ll report #&$ormat#o&s about the pro.ram eleme&tar- streams, usa.e #s s#mple:
pesinfo -ideo+tp+t$pes
5uput #s someth#&. l#ke:
D$$$E
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 ': .resentation Time Ftamp is4
"&"!00: !0$""00 sec$
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 ': .resentation Time Ftamp is4
""#900: !!$0300 sec$
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 !0: .resentation Time Ftamp is4
!009!00: !!$!"00 sec$: >ecode Time Ftamp is4 ""%300: !!$0900 sec$
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 ': .resentation Time Ftamp is4
""""00: !!$!!00 sec$
D$$$E
so -ou ca& lear& about prese&tat#o& 2+,4 a&d decod#&. t#me stamps 2D,4 o$ the
eleme&tar- stream o$ the pro.ram stream, $or e%ample -ou ca& see #& the above pr#&t that
decode t#me stamp #s correctl- a b#t earl#er tha& prese&tat#o& t#me stamp $or the same
$rame.
he t#me #s pr#&ted as seco&ds a&d as ?C<* clock, we w#ll d#scuss a.a#& +, a&d D,
later o& wh#le d#scuss#&. s-&chro&#*at#o&, remember that pes#&$o w#ll .#ve -ou the
&ecessar- #&$ormat#o&.
pesFes tool w#ll allow -ou to e%tract $rom a pro.ram eleme&tar- stream #ts eleme&tar-
stream.
he tool takes as #&put a pro.ram eleme&tar- stream $#le a&d a stream header #d, -ou ca&
A3 http://www.avalpa.com
Avalpa Broadcast Server user manual
read the header #d us#&. pes#&$o as 7ust show& #& the e%ample.
pes#es -ideoo+tp+t$pes ##, A -ideo$es
w#ll e%tract the stream C%eC 222/4, thatDs a t-p#cal v#deo #d wh#le t-p#cal aud#o #d #s C%cC
21?24
ts#pes firsta+dio$ts #0%& A a+dioo+tp+t$pes
pes#es a+dioo+tp+t$pes !"# A a+dio$es
Anal!sing mpeg/ video files: esvideoinfo
I$#rst1$#le1mu%J
he comma&d:
es-ideompe(#info -ideo$es
w#ll pr#&t out #&$ormat#o& $rom the v#deo $rames header, here #s a t-p#cal pr#&t o$ a Group 5$
+#cture 2G5+4:
D$$$E
Fe6+ence header4 format4 9#0*'9%: ,43: #'fps: 2itrate4 %$00?2s: -2- 2+ffer siLe4 !!#: constrained4
no
Fe6+ence header e*tension4 profi8e is ?ain: 8e-e8 is ?ain
/O. header4 meas+red siLe4 3,,#%9 2)tes: 2itrate from meas+red siLe 0form+8a has ro+nds14
'9399&3$,%!'&32ps: drop4 no: time code4 0040040, pict+res4!&: c8osed4 no: 2roken4 no
frame siLe4 #0,"0
.ostion 3'#'#&,: pict+re !!" start header4 tempora8 reference4 #: pict+re codin( t)pe4 I-=rame: -2-
de8a)4 ##,!,
frame siLe4 9&"'&
.ostion 3%0,#,#: pict+re !#0 start header4 tempora8 reference4 0: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 !%'3"
frame siLe4 !9%"9
.ostion 3%#!"3": pict+re !#! start header4 tempora8 reference4 !: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 !&0!'
frame siLe4 !&##3
.ostion 3%,0!%#: pict+re !## start header4 tempora8 reference4 ': pict+re codin( t)pe4 .-=rame: -2-
de8a)4 !",#&
frame siLe4 303&'
.ostion 3%90',9: pict+re !#3 start header4 tempora8 reference4 3: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 !"3&#
frame siLe4 !&!3&
.ostion 3%&&%&': pict+re !#, start header4 tempora8 reference4 ,: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 #0&0%
frame siLe4 #3,#%
.ostion 39!#!!!: pict+re !#' start header4 tempora8 reference4 &: pict+re codin( t)pe4 .-=rame: -2-
de8a)4 #!'"'
frame siLe4 #""&,
.ostion 39,#0"': pict+re !#% start header4 tempora8 reference4 %: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 #!'"9
frame siLe4 !9!&"
.ostion 39'"#&,: pict+re !#9 start header4 tempora8 reference4 9: pict+re codin( t)pe4 J-=rame: -2-
de8a)4 #3!3,
frame siLe4 #09!"
.ostion 39&0003: pict+re !#& start header4 tempora8 reference4 !!: pict+re codin( t)pe4 .-=rame: -2-
de8a)4 #,#,&
frame siLe4 30"&0
.ostion 3&!0"&3: pict+re !#" start header4 tempora8 reference4 ": pict+re codin( t)pe4 J-=rame: -2-
de8a)4 #,!30
frame siLe4 ##&,,
D$$$E
,ome o$ these parameters are releva&t because the- w#ll be use$ul $or mult#ple%#&., so
A/ http://www.avalpa.com
Avalpa Broadcast Server user manual
letDs have a short descr#pt#o& o$ releva&t parameters #& the &e%t chapter.
'& M+0G12, three Dp#cture t-pesD are de$#&ed. he p#cture t-pe de$#&es wh#ch pred#ct#o&
modes ma- be used to code each block.
D'&traD p#ctures 2'1p#ctures4 are coded w#thout re$ere&ce to other p#ctures. Moderate
compress#o& #s ach#eved b- reduc#&. spat#al redu&da&c-, but &ot temporal redu&da&c-.
he- ca& be used per#od#call- to prov#de access po#&ts #& the b#tstream where decod#&.
ca& be.#&.
D+red#ct#veD p#ctures 2+1p#ctures4 ca& use the prev#ous '1 or +1p#cture $or mot#o&
compe&sat#o& a&d ma- be used as a re$ere&ce $or $urther pred#ct#o&. 0ach block #& a +1
p#cture ca& e#ther be pred#cted or #&tra1coded. B- reduc#&. spat#al a&d temporal
redu&da&c-, +1p#ctures o$$er #&creased compress#o& compared to '1p#ctures.
DB#d#rect#o&all-1pred#ct#veD p#ctures 2B1p#ctures4 ca& use the prev#ous a&d &e%t '1
or +1p#ctures $or mot#o&1compe&sat#o&, a&d o$$er the h#.hest de.ree o$
compress#o&. 0ach block #& a B1p#cture ca& be $orward, backward or
b#d#rect#o&all- pred#cted or #&tra1coded. o e&able backward pred#ct#o& $rom a
$uture $rame, the encoder reorders the pictures $rom &atural Dd#spla-D order to
Db#tstreamD order so that the B1p#cture #s tra&sm#tted a$ter the prev#ous a&d &e%t p#ctures #t
re$ere&ces. h#s #&troduces a reorder#&. dela- depe&de&t o& the &umber o$ co&secut#ve B1
p#ctures.
he d#$$ere&t p#cture t-pes t-p#call- occur #& a repeat#&. se8ue&ce, termed a DGroup o$
+#cturesD or G5+. A t-p#cal G5+ #& d#spla- order #s:
J! J# I3 J, J' .% J9 J& ." J!0 J!! .!#
he correspo&d#&. b#tstream order #s:
I3 J! J# .% J, J' ." J9 J& .!# J!0 J!!
A re.ular G5+ structure ca& be descr#bed w#th two parameters: K, wh#ch #s the &umber o$
p#ctures #& the G5+, a&d M, wh#ch #s the spac#&. o$ +1p#ctures. he G5+ .#ve& here #s
descr#bed as KS12 a&d MS2. M+0G12 does &ot #&s#st o& a re.ular G5+ structure. "or
e%ample, a +1p#cture $ollow#&. a shot1cha&.e ma- be badl- pred#cted s#&ce the re$ere&ce
p#cture $or pred#ct#o& #s completel- d#$$ere&t $rom the p#cture be#&. pred#cted. hus, #t ma-
be be&e$#c#al to code #t as a& '1p#cture #&stead.
"or a .#ve& decoded p#cture 8ual#t-, cod#&. us#&. each p#cture t-pe produces a d#$$ere&t
&umber o$ b#ts. '& a t-p#cal e%ample se8ue&ce, a coded '1p#cture was three t#mes lar.er
tha& a coded +1p#cture, wh#ch was #tsel$ ;CQ lar.er tha& a coded B1p#cture.
he &umber a$ter the p#cture t-pe #s the temporal re$ere&ce #&s#de the s#&.le G5+.
5& broadcast#&. e&v#ro&me&t a& e%ter&al add#t#o&al co&stra#&t comes $rom the user
acceptable F*app#&.G t#me because a decoder &eeds to wa#t a& ' p#cture to start d#spla-#&.
the v#deo so the usual &umber o$ G5+ s#*e $or broadcast#&. #s 12, less tha& hal$ a seco&d
at 2; $rames per seco&d: 212 T 1/2; S C./6 sec.4
Closed .op have a d#$$ere&t se8ue&ce, the- start w#th a& ' p#cture w#th t#me re$ere&ce 1
a&d allow them to be the start o$ a& e&coded v#deo. h#s pecul#ar G5+ $eature allows also
A; http://www.avalpa.com
Avalpa Broadcast Server user manual
G5+ to be cha#&ed w#thout re1e&cod#&. the v#deo, we w#ll .et o& th#s top#c later o&.
Tool vbv
A&other #&terest#&. tool #s Mmpe"FvideovbvM, thatDs !#deo Bu$$er !er#$#er, the tool tr#es to
s#mulate a mpe.2 v#deo decoder bu$$er.
mpe(#-ideo-2- -ideo$es
w#ll pr#&t u&derru& a&d overru& o$ the bu$$er #$ the- happe& or sta- 8u#et #$ the v#deo stream
respects the l#m#ts report#&. F$ou&d C errorsG at the e&d.
'$ vbv reports error #t #s a h#&t that the v#deo was e&coded w#th a b#t rate thatDs &ot e&ou.h
co&sta&t.
K.b. th#s tool #s a s#mulator that tr#es to be str#ct, somet#me a v#deo stream happe&s to work
properl- o& real decoders 2as the- should be $ar more tolera&t4 eve& #$ vbv reports errors.
't ca& also happe& a v#deo wo&Dt work properl- eve& #$ vbv does&Dt compla#&
because bu$$er $ull&ess #s &ot the o&l- #mporta&t #ssue $or a proper pla-back,
the vbv tool $#lls the bu$$er at a co&sta&t b#t rate 2CB34 but o& real tra&sm#ss#o&
the model ma- look more l#ke ma&- small burst .ett#&. a& avera.e Fcbr1&essG,
#$ the burst#&ess #s &ot properl- ma&a.ed a vbv compla#&t stream w#ll $a#l to be
decoded correctl-.
!bv #&$ormat#o& #s also collected #& a lo. $#le vbvData.dat that ca& be plotted w#th the
comma&d:
(n+p8ot p8ot$p
the plot.p $#le #s ava#lable #& the d#rector- 5pe&caster.vers#o&/tools/vbv, the result looks l#ke:
he > #s report#&. the vbv bu$$er $ull&ess wh#le P #s report#&. the t#me #& $rame &umber.
.&uplout let -ou *oom #& a& area us#&. r#.ht cl#ck so -ou ca& a&al-se peaks a&d
ever-th#&. else.
AA http://www.avalpa.com
Avalpa Broadcast Server user manual
Anal!sing audio elementar! streams: esaudioinfo
I$#rst1$#le1mu%J
Avalpa Broadcast ,erver comes also w#th MesaudioinfoM tool to a&al-se mpe. aud#o
eleme&tar- stream, usa.e #s s#mple:
esa+dioinfo a+dio$es
A t-p#cal output $or ever- aud#o $rame #s alread- 8u#te verbose:
D$$$E
a+dio header packet !,9': position4"&3&!#
a+dio -ersion4 ?.</ Hersion ! 0IFO/I<C !!!9#-31
a+dio 8a)er4 Ia)er II
protection 2it4 Not protected
2it rate inde*4 ##,k2ps
samp8in( rate4 ,&000HL
paddin(4 =rame is not padded
a+dio frame from headers 0form+8a can ha-e ro+nds14 %9# 2)tes: '39% 2its
channe8 mode4 Ftereo
cop)ri(hts4 A+dio is not cop)ri(hted
ori(ina84 Ori(ina8 media
emphasis4 None
a+dio frame siLe from stream meas+red4 %9# 2)tes: '39% 2its
D$$$E
M+0G11 Aud#o )a-er '' #s a& aud#o codec de$#&ed b- ',5/'0C 111B213. Eh#le M+3 #s much
more popular $or +C a&d #&ter&et appl#cat#o&s, M+2 rema#&s a dom#&a&t sta&dard $or aud#o
broadcast#&.. L&dersta&d#&. mpe. aud#o compress#o& $eatures #s be-o&d our #&terest but
to mult#ple% aud#o -ou w#ll &eed to k&ow some o$ the #&$ormat#o& pr#&ted here: bit rate'
samplin" rate and frame si;e.
,ampl#&. rate #s the &umber o$ samples prese&t #& 1 seco&d, thatDs wh- #s e%pressed #&
<*, wh#le $rame s#*e #s the d#me&s#o& #& b-tes o$ all the aud#o $rame. /6CCC <* #s 8u#te a
commo& sample rate but also others are supported.
W&ow#&. $rame s#*e a&d b#t rate -ou ca& $#.ure out how lo&. the $rame lasts a&d how ma&-
samples #t br#&.s w#th the sampler rate #&$ormat#o&.
,ummar-: to a&al-se a& aud#o stream $rom a #&put.ts -ou w#ll &eed the $ollow#&.
comma&ds:
D$$$E
ts#pes inp+t$ts a+diopid A a+dioo+tp+t$pes
pes#es a+dioo+tp+t$pes stream5id5+s+a88)5!"# A a+dioo+tp+t$es
esa+dioinfo a+dioo+tp+t$es
D$$$E
AB http://www.avalpa.com
Avalpa Broadcast Server user manual
$ow to encode mpeg/ digital video files with ffmpeg and m0tools
<ere #s a& e%ample o$ v#deo e&cod#&. do&e w#th $$mpe.:
Gffmpe( -i inp+t$e*t -an --codec mpe(#-ideo -f mpe(#-ideo -2 '000k -ma*rate '000k -minrate '000k -2f
# -2+fsiLe !&3'00& -ideo$mp#G
1# #&put $#le, that ca& be v#deo $#le supported b- $$mpe. decod#&.
1a& &o aud#o, #$ aud#o #s prese&t #& the #&put #t w#ll be #.&ored
1vcodec v#deo codec, mpe.2v#deo #s the v#deo codec we are look#&. $or mpe.2 v#deo
1$ output $ormat, th#s mpe.2v#deo #s the output $#le $ormat we are look#&., eleme&tar-
stream v#deo
1b, 1ma%rate, 1m#&rate b#trate #& kbps, thatDs depe&d o& -ou, pa- atte&t#o& some vers#o&
o$ $$mpe. use kbps as #&put, others bps so -ou &eed to add *eros
1b$ &umber o$ b1$rame $or .op
1bu$s#*e vbv bu$$ers#*e, the vers#o& o$ $$mpe. used wh#le wr#t#&. th#s docume&t #s
e%pect#&. the bu$$er s#*e #& b#t, so #tDs vbvVbu$$erVs#*e T 1C2/ T 1A: 163;CC6, however #&
ma&- e&coders vbv $or mpe. 2 v#deo codec #s o$te& e%pressed #& 1AWb#ts u&#t.
Be sure to check the output w#th esv#deo#&$o a&d vbv as e%pla#&ed #&
MA&al-s#&. v#deo $#lesM, whe& -ou are do&e w#th e&cod#&. -ou w#ll &eed to do
e&capsulat#o&, $$mpe. actuall- has a& opt#o& to output eleme&tar- stream
e&capsulated #&to tra&sport stream but as o$ th#s wr#t#&. #tDs totall- broke&. >ou ca&
e&capsulate the v#deo eleme&tar- stream #&to pro.ram stream w#th esv#deo2pes l#ke th#s:
es-ideompe(#pes -ideo$mp# A -ideo$pes
>ou ca& a&al-se the output w#th:
pesinfo -ideo$pes
>ou ca& e&capsulate the v#deo #&to a ts l#ke #& th#s e%ample:
pes-ideo#ts #0%, #' !!# '#90000 0 -ideo$pes A -ideo$ts
2CA/ #s the v#deo p#d. 2; #s the $rame per seco&d, 112 hal$ vbv 2o& ma&- decoders 22/ #s
$#&e, others have hal$ o$ #t because D!D uses hal$ a&d somet#mes #t happe&s also D!B
decoder .et the same l#m#tat#o&4, ;2BCCCC #s the ts b#t rate, #t has to be b#..er tha& the
v#deo b#t rate, automat#c m#&#mum .uess #s st#ll &ot ava#lable o& the so$tware, 1;Q more
should be $#&e9 the tool w#ll ad7ust the pts a&d the dts to take #&to accou&t $#rst $rame
tra&sm#ss#o& dela-.
To improve the ,uality and the compression of the video is su""ested to
use yuvdenoise tool, as show& below:
ffmpe( -i inp+t$e*t -an -s 9#0*'9% -deinter8ace -r #' -aspect ,43 -f )+-,mpe(pipe - Y
)+-denoise Y ffmpe( -i - -an --codec mpe(#-ideo -f mpe(#-ideo -2 #000k -ma*rate #000k
-minrate #000k -2f # -2+fsiLe !3,3,&& -ideo$mp#
A6 http://www.avalpa.com
Avalpa Broadcast Server user manual
$ow to encode digital audio files with ffmpeg
A&other e%ample w#th $$mpe.:
M$$mpe. 1# #&put.mp. 1ac 2 1v& 1acodec mp2 1$ mp2 1ab 126CCC 1ar /6CCC aud#o.mp2M
1# #&put $#le
1ac 2, stereo
1v& &o v#deo
1acodec mpe.2 aud#o la-er 2
1$ output $ormat mpe.2 aud#o
1ab aud#o b#t rate #& bps
1ar #s the aud#o sample rate
>ou ca& a&al-*e the output w#th:
esa+dioinfo a+dio$mp#
>ou ca& e&capsulate the aud#o #&to ps w#th esaud#o2pes l#ke th#s:
esa+dio#pes a+dio$mp# !!'# ,&000 9%& -! 3%00 A a+dio$pes
/6CCC sample rate, should be k&ow& or ca& be lear& w#th esaud#o#&$o, a ptsVstep #s
11;2 / sampleVrate T ?CCCC, 11;2 #s $#%ed $or mpe.2 la-er 2 so $or /6kh* comes 21AC
11;2 aud#o $rame s#*e, -ou ca& read #t w#th esaud#o#&$o, #tDs #& b-tes 2KB th#s 11;2 #s b-
cha&ce 11;2 as the &umber o$ samples4
3ACC $#rst pts, th#s a& #mporta&t value $or aud#o/v#deo s-&chro&#*at#o&, read more below.
>ou ca& a&al-se the output w#th:
pesinfo a+dio$pes
>ou ca& e&capsulate the aud#o #&to a ts w#th:
pesa+dio#ts #0%& !!'# ,&000 9%& -! 0 a+dio$pes A a+dio$ts
2CA6 #s the p#d &umber
11;2 #s the &umber o$ sampler per $rame
/6CCC #s the sample rate
BA6 #s the es $rame s#*e
11 d#sable aud#o descr#pt#o& header
C the aud#o wo&Dt be o& loop, a.a#& th#s #s $or $uture usa.e
co&sta&t b#t rate.
o calculate the output b#t rate steps are:
1 seco&d #s ?CCCC pts t#cks, sample rate #s /6CCC h*, 1 $rame #s 11;2 samples. so:
A? http://www.avalpa.com
Avalpa Broadcast Server user manual
2?CCCC T 11;24 / /6CCC S 21AC #s how ma&- t#cks #s a $rame
a& aud#o pes $rame #s made $or e%ample o$ 36/ b-te so th#s mea&s
36//16/ S 2.C6 , packets, w#th padd#&. o& th#rd packet so 3 packets T 166 b-tes S ;A/
b-tes S /;12 b#t per pes aud#o $rame.
/;12 b#t $or 21AC t#cks -ou co&vert w#th bps #t comes:
2/;12 T ?CCCC4 / 21AC S 166CCC bps
Ehe& b#t rate #s &ot rou&d, -ou should co&s#der us#&. the $loor #&te.er.
Beware o$ padd#&.: #$ -ou check the math $or aud#o b#t rate at 1ACkbps -ou w#ll
$#&d out that the , b#t rate #s the same= Check 5pe&Caster 30ADM0 $or
smarter mpe.2 aud#o b#t rates.
BC http://www.avalpa.com
Avalpa Broadcast Server user manual
$ow to capture D, input
h#s chapter assumes -ou co&&ected a d#.#tal v#deo camera or a d#.#tal v#deo pla-er to the
$#rew#re o$ the server.
o record the D! -ou have to use the comma&d:
d-(ra2 recorded$d-
But th#s wa- #t w#ll &ever stop record#&., so to stop #t -ou ca& use ctrlRc or use a durat#o&
t#me:
d-(ra2 -d 34304!0 recorded$d-
w#ll record $or 3 hours, 3C m#&utes a&d 1C seco&ds, here #s other t#me spec#$#cat#o&
supported:
F?II time -a8+e4 MMMD$YEh: MMMD$YEmin: MMMD$YEDsE: MMMms: DDHH4E??4EFFD$msE
smpte7DDDHH4E??4EFF4E==
he result#&. recordD!.av# $#le ca& be co&verted as e%pla#& #& prev#ous chapter #&to aud#o
a&d v#deo streams. he &e%t chapter w#ll show a complete #&.est#o& $rom D!D data
ava#lable o& the &et, -ou ca& replace the vob $#le w#th -our D! $#le a&d e%ecute the same
steps
>ou ca& also co&&ect D!Grab d#rectl- #&to $$mpe. a&d the& d#rectl- to a pla-out:
d-(ra2 -format d-! - Y /home/a-a8pa/ffmpe(/ffmpe( -f d- -i - -acodec mp# -ac # -a2 !#&000 -ar ,&000
-f mp# -) 8i-e$mp# -s 9#0*'9% -deinter8ace -r #' -aspect ,43 -f )+-,mpe(pipe -) - Y
/home/a-a8pa/mNpe(too8s-!$"$0/)+-denoise/)+-denoise Y /home/a-a8pa/ffmpe(/ffmpe( -i - -an --codec
mpe(#-ideo -f mpe(#-ideo -2 #000k -ma*rate #000k -minrate #000k -2f # -2+fsiLe !3,3,&& -) 8i-e$mp-
B1 http://www.avalpa.com
Avalpa Broadcast Server user manual
$ow to generate silence
,omet#mes #t #s use$ul to .e&erate s#le&t aud#o tracks, $or th#s purpose a s#mple e%ample
us#&. so% a&d $$mpe. #s .#ve&:
dd if7/de-/Lero of7si8ence$raw 2s7!!'# co+nt7,
so* -t raw -r ,&000 -s -w -c # si8ence$raw si8ence$wa-
ffmpe( --n -f s!%8e -a2 !#&k -ar ,&000 -ac # -i si8ence$wa- -acodec mp# si8ence$mp#
'& th#s case 11;2 #s the &umber o$ samples o$ a s#&.le mpe.2 aud#o $rame so #& th#s wa-
we ca& co&trol how ma&- $rames are .e&erated us#&. cou&t.
Kumber o$ samples, &umber o$ cha&&els a&d sample rate w#ll tell -ou also how lo&. #t
lasts.
B2 http://www.avalpa.com
Avalpa Broadcast Server user manual
Audio and video real case ingestion stud!
Ie&cod#&./lo.oVtv.p&.J
)etDs be.#& w#th a se8ue&ce o$ comma&ds that w#ll eve&tuall- .#ve -ou some e&coded $#les
that ca& be used w#th Avalpa Broadcast ,erver. 5$ course th#s #s 7ust a& e%ample, #tDs
better to st#ck w#th #t $or the be.#&&ers, otherw#se -ou are o& -our ow&:
w(et http4//-ideo$28endertest2+i8ds$de/topdir/<>/mo-ie5on8)5pa8$iso
w.et w#ll dow&load the .#so o$ 0lepha&t Dreams short a&d the $ollow#&. comma&d w#ll
e&code aud#o a&d v#deo add#&. a& e%ter&al lo.o a&d e&abl#&. the #&#t#al s-&chro&#*at#o&.
s+do mo+nt -o 8oop mo-ie5on8)5pa8$iso /mnt/
ffmpe( --n -a2 !#&k -ar ,&0000 -i /mnt/HI><O5TF/HTF50!5!$HOJ -acodec mp# -ac # ed$mp#
ffmpe( -i /mnt/HI><O5TF/HTF50!5!$HOJ -an --f Rmo-ie7OpenCaster/t+toria8s/encodin(/8o(o5t-$pn( DwmET
DinEDwmE o-er8a)70404040 Do+tER -f mpe(#-ideo --codec mpe(#-ideo -2 #%00k -ma*rate #%00k -minrate
#%00k -2f # -2+fsiLe !&3'00& -aspect ,43 ed$m#-
s+do +mo+nt /mnt
esvideo2pes ed.m2v 1> ed.video.pes 2> ed.pes.length
esa+dio#pes ed$mp# !!'# ,&000 3&, -! 3%00 A ed$a+dio$pes
B3 http://www.avalpa.com
Avalpa Broadcast Server user manual
he $#le ed.pes.le&.th #s .e&erated b- esv#deo2pes a&d #tDs the le&.th o$ the v#deo #& +,
t#cks, #& th#s case we w#ll .et that ed.pes.le&.th #s ;B26A6CC, t#cks o$ ?CWh* so 1 $rame #s
?CCCC/2; $rame per seco&d S 3ACC pts t#cks a&d ;B26A6CC/3ACC S 1;?13 $rames / 2; $ps
S A3A.;2 seco&ds o$ v#deo
:e need to compare this with the audio len"th to ensure the audio is a
little shorter than the video' this is the only re,uirement to chain two
videos encoded as Eust describedD
ed.aud#o.pes s#*e #s 1C;3C26/, 1 $rame #s 11;2 sample a&d sample rate #s
/6CCC so 1C;3C26/ / 236/R1/4 S 2A/;6 $rames T 11;2 / /6CCC S A3/.??2 seco&ds o$
aud#o
'& th#s case aud#o #s shorter so there #s &o problem, otherw#se:
esa+dio#pes ed$mp# !!'# ,&000 3&, -! 3%00 '9#&%&00 A ed$a+dio$pes
would have cut the aud#o be$ore the e&d o$ the v#deo. o have some v#deo cl#ps $or the
pla-out -ou should repeat the same comma&ds $or a&other short B#. Buck Bu&&- 2the
seco&d release st#ll courtes- $rom the Ble&der "ou&dat#o&4, ava#lable $rom:
http://www.arch#ve.or./deta#ls/B#.BuckBu&&-
o match our set up #& the &e%t chapters -ou should e&code VTS_05_1.VOB a&d
VTS_02_1.VOB
Audio and video initial synchroni;ation
he $#rst +, value #s #mporta&t $or s-&chro&#*at#o& betwee& aud#o a&d v#deo, thatDs
because #t #s &ecessar- to s-&ch the prese&tat#o& o$ the $#rst v#deo $rame a&d the $#rst
aud#o $rame.
"#rst o$ all letDs make sure w#th pes#&$o that +, o$ the $#rst v#deo $rame matches the +,
o$ the $#rst aud#o $rame, better #$ the- both are 3ACC t#cks o$ the ?C W<X clock thatDs C.C/
ms thatDs 1 v#deo $rame at 2; $rame per seco&d, #$ -ou properl- ru& esaud#o2pes a&d
esv#deo2pes $rom the prev#ous #&struct#o&s -ou should have a v#deo.pes start#&. l#ke th#s:
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 !0: .resentation Time Ftamp is4 3%00:
0$0,00 sec$: >ecode Time Ftamp is4 0: 0$0000 sec$
pes header4 00 00 0! e0: -ideo stream n+m2er 0: header 8en(th4 !0: .resentation Time Ftamp is4
!,,00: 0$!%00 sec$: >ecode Time Ftamp is4 3%00: 0$0,00 sec$
A&d a& aud#o.pes start#&. w#th:
pes header4 00 00 0! c0: a+dio stream n+m2er 0: pes siLe 3"#: header 8en(th4 ': .resentation Time
Ftamp is4 3%00: 0$0,00 sec$
pes header4 00 00 0! c0: a+dio stream n+m2er 0: pes siLe 3"#: header 8en(th4 ': .resentation Time
Ftamp is4 '9%0: 0$0%,0 sec$
pes header4 00 00 0! c0: a+dio stream n+m2er 0: pes siLe 3"#: header 8en(th4 ': .resentation Time
Ftamp is4 9"#0: 0$0&&0 sec$
B/ http://www.avalpa.com
Avalpa Broadcast Server user manual
Encoding with x/12
h#s sect#o& w#ll show how to use %2A/ to e&code h2A/ v#deo #&stead o$ mpe.2 v#deo. he
curre&t e%ample w#ll show how to broadcast a 1C6Cp2/ v#deo.
he v#deo $ormat #s actuall- a &o& commo& cho#ce $or 3" broadcast#&. a&d &ot
sta&dard#*ed $or D!B but #t su#tes local &etworks use cases, !5D, a&d #t #s the s#mpler
e%ample o& how to start as #t does&Dt re8u#re telec#&e techues:
ffmpe( -i 2i(52+ck52+nn)5!0&0p5h#%,$mo- Rmo-ie7OpenCaster/t+toria8s/encodin(H>/8o(o5t-$pn( DwmETDinE
DwmE o-er8a)70404040 Do+tER -f )+-,mpe(pipe - Y $/*#%, --8e-e8 ,$0 --na8-hrd c2r ---2--2+fsiLe #000
--2itrate 9#00 --ke)int !# ---2--init 0 -o 22$*#%,$hd$-ideo$pes
pes-ideo#ts #0%% #,43& 29#00000 9%00000 0 22$*#%,$hd$-ideo$pes A -ideo$ts
ffmpe( -i 2i(52+ck52+nn)5!0&0p5h#%,$mo- --n -acodec ac3 -ar ,&000 -a2 ,,&k a+dio#,p$ac3
s#&ce we are deal#&. w#th <D, letDs also put ;.1 aud#o=
esa+dio#pes a+dio#,p$ac3 !'3% ,&000 !9"# -! 39'0 A a+dio$pes
pesa+dio#ts #0%" !'3% ,&000 !9"# 0 a+dio$pes A a+dio$ts
#t w#ll also re8u#re to cha&.e ps# to s#.&al correctl- the serv#ce #& a $ew places:
$or &#t/sdt:
ser-ice5t)pe 7 0*!": a-c hd di(ita8 t- ser-ice t)pe
$or pmt:
stream58oop 7 D
stream58oop5item0
stream5t)pe 7 0*!J: a-c -ideo stream t)pe
e8ementar)5.I> 7 #0%%:
e8ement5info5descriptor58oop 7 DE
1:
stream58oop5item0
stream5t)pe 7 %: pri-ate
e8ementar)5.I> 7 #0%":
e8ement5info5descriptor58oop 7 D
ac35descriptor0
component5t)pe5f8a( 7 0:
2sid5f8a( 7 0:
mainid5f8a( 7 0:
as-c5f8a( 7 0:
additiona85info 7 GG:
1:
E:
1:
E:
$#&all- tscbrmu%er rates are:
D$$E 249%00000 -ideo$ts 24,90000 a+dio$ts D$$$E
B; http://www.avalpa.com
Avalpa Broadcast Server user manual
#la! out scheduling from command line
I$#rst1$#le1mu%J
<ere #s the $#rst e%ample o$ aud#o a&d v#deo pla- out scr#pt, we assume -ou alread-
e&coded the $#le as e%pla#&ed #& FAud#o a&d v#deo real case e&cod#&. w#th $$mpe.G, the $#le
&ames w#ll be ed.v#deo.pes, ed.aud#o.pes, ed.pes.le&.th a&d s#m#lar $or the other D!D
e&cod#&.s: bb.v#deo.pes bb.aud#o.pes bb.pes.le&.th bb2.v#deo.pes bb2.aud#o.pes a&d
$#&all- bb2.pes.le&.th
mkfifo -ideo$ts
mkfifo a+dio$ts
mkfifo m+*ed$ts
mkfifo stamped$ts
pes-ideo#ts #0%, #' !!# #"00000 ! ed$-ideo$pes 22$-ideo$pes 22#$-ideo$pes A -ideo$ts B
pesa+dio#ts #0%& !!'# ,&000 3&, ! ed$a+dio$pes 22$a+dio$pes 22#$a+dio$pes A a+dio$ts B
tsc2rm+*er 24#&00000 -ideo$ts 24!&&000 a+dio$ts 24300& firstpat$ts 24300& firstpmt$ts 24!'00
firstsdt$ts 24!,00 firstnit$ts 24!0!9,0&, n+88$ts A m+*ed$ts B
tspcrstamp m+*ed$ts !3#9!000 A stamped$ts B
tsrfsend stamped$ts -mt O=>? -mC @A?!% -m/ !/, -mc #/3 -mf '9&
h#s w#ll output three $#les w#th aud#o a&d v#deo co&&ected seamlessl-, please &ot#ce some
po#&ts about wh- th#s works:
ed, bb a&d bb2 have all the same ba&dw#dth both aud#o a&d v#deo a&d all the
ba&dw#dths are CB3
the $#rst G5+ o$ ever- v#deo #s closed
pesv#deo2ts co&trols vbv $ull&ess all the t#me a&d also o& the sw#tch betwee& streams.
At ever- co&&ect#o& some #&terest#&. #&$ormat#o&s are pr#&ted:
pesa+dio#ts4 c8osin( ed$a+dio$pes$$$ c8osed
pesa+dio#ts warnin(4 missed ed$a+dio$pes$8en(th fi8e
pesa+dio#ts4 openin( 22$a+dio$pes$$$ open
pesa+dio#ts s)nc4 22$a+dio$pes new presented a+dio frame wi88 2e at '9!%,,00: %3
'$!%00 sec$: 8ast presented a+dio frame was at '9!%!'#0: %3'$!#&0 sec$
pes-ideo#ts4 c8osin( ed$-ideo$pes$$$ c8osed
pes-ideo#ts4 openin( 22$-ideo$pes$$$ open
pes-ideo#ts s)nc4 22$-ideo$pes new presented -ideo frame is at4 '9#"0,00: %3%$'%
00 sec$: decode time stamp is at4 '9#&%&00: %3%$'#00 sec$
Bas#call- the pr#&ts report about the tools clos#&. the prev#ous $#les a&d ope&#&. the &ew
$#les however someth#&. $#sh- #s .o#&. o& because we read that:
22$a+dio$pes new presented a+dio frame wi88 2e at '9!%,,00: %3'$!%00 sec$
22$-ideo$pes new presented -ideo frame is at4 '9#"0,00: %3%$'%00 sec$
Ee are out o$ s-&chro&#*at#o&= he $#rst value #s the t#me #& +, t#cks 2?C W<X4 the seco&d
#s the $#rst t#me #& seco&ds 2;B1A//CC / ?CCCC4.
h#s problem #s also s#.&alled b- a war&#&. messa.e:
BA http://www.avalpa.com
Avalpa Broadcast Server user manual
pesa+dio#ts warnin(4 missed ed$a+dio$pes$8en(th fi8e
we specified that the audio file must be "enerally shorter than the video file however
$or pesaud#o2ts to k&ow about how much short #t #s the aud#o compared to the v#deo #t
&eeds add#t#o&al #&$ormat#o& $#les: ed.aud#o.pes.le&.th, bb.aud#o.pes.le&.th a&d
bb2.aud#o.pes.le&.th that are the same $#les we .e&erated wh#le e&capsulat#&. the v#deo
$#les to pes #& the prev#ous chapter so 7ust re&ame them as:
m- 22$pes$8en(th 22$a+dio$pes$8en(th
m- 22#$pes$8en(th 22#$a+dio$pes$8en(th
m- ed$pes$8en(th ed$a+dio$pes$8en(th
a&d restart the whole processes, a$ter the $#rst v#deo -ou w#ll correctl- read that both
pesaud#o2ts a&d pesv#deo2ts report the e%act +, that #s .o#&. to be the $#rst $rame. o$ the
#&com#&. v#deo:
pesa+dio#ts4 c8osin( ed$a+dio$pes$$$ c8osed
pesa+dio#ts4 openin( 22$a+dio$pes$$$ open
pesa+dio#ts s)nc4 22$a+dio$pes new presented a+dio frame wi88 2e at '9#"0,00: %3%$'%00 sec$: 8ast
presented a+dio frame was at '9!%!'#0: %3'$!#&0 sec$
pes-ideo#ts4 c8osin( ed$-ideo$pes$$$ c8osed
pes-ideo#ts4 openin( 22$-ideo$pes$$$ open
pes-ideo#ts s)nc4 22$-ideo$pes new presented -ideo frame is at4 '9#"0,00: %3%$'%00 sec$: decode time
stamp is at4 '9#&%&00: %3%$'#00 sec$
As -ou ca& read &ow:
22$a+dio$pes new presented a+dio frame wi88 2e at '9#"0,00: %3%$'%00 sec$
22$-ideo$pes new presented -ideo frame is at4 '9#"0,00: %3%$'%00 sec$
o recover $rom a& out o$ s-&chro&#*at#o& a$ter #t #s s#.&alled -ou w#ll &eed to do some
mathemat#cs a&d add at the curre&t.aud#o.pes.le&.th value the m#ss#&. t#me so that wh#le
pass#&. to the &ew stream $rom the curre&t the s-&ch #s .a#&ed.
'& the &e%t pa.es a .aller- o$ some scree& shots $rom d#$$ere&t a&al-sers #s show&:
BB http://www.avalpa.com
Avalpa Broadcast Server user manual
!W a$e +C3 A&al-s#s
!W a$e 1,D A&al-s#s
B6 http://www.avalpa.com
Avalpa Broadcast Server user manual
,treamGuru r1C1 2?C
,treamPpert +C3 a&al-s#s
B? http://www.avalpa.com
Avalpa Broadcast Server user manual
D!M1CC 3ohde N ,chwar* +C3 a&al-s#s
6C http://www.avalpa.com
Avalpa Broadcast Server user manual
Kow a&other step towards a more $le%#ble pla- out s-stem: what #$ we wa&t to cha&.e our
schedule a$ter #t startedH Ee ca& do that eas#l- w#th some symbolic linkin", suppose that
#&stead to use $#le &ames we use s-mbol#c l#&ks:
8n -s ed$a+dio$pes a+dio!$pes
8n -s ed$-ideo$pes -ideo!$pes
8n -s ed$a+dio$pes a+dio#$pes
8n -s ed$-ideo$pes -ideo#$pes
8n -s ed$a+dio$pes a+dio3$pes
8n -s ed$-ideo$pes -ideo3$pes
pes-ideo#ts #0%, #' !!# #"00000 ! -ideo!$pes -ideo#$pes -ideo3$pes A -ideo$ts B
pesa+dio#ts #0%& !!'# ,&000 3&, ! a+dio!$pes a+dio#$pes a+dio3$pes A a+dio$ts B
o cha&.e a scheduled $#le we 7ust &eed to cha&.e the s-mbol#c l#&k be$ore #t starts to be
pla-:
rm a+dio#$pes
rm -ideo#$pes
8n -s 22$a+dio$pes a+dio#$pes
8n -s 22$-ideo$pes -ideo#$pes
61 http://www.avalpa.com
Avalpa Broadcast Server user manual
%e#multiplexin" input transport streams
3e1mult#ple%#&. #s a ver- commo& sce&ar#o #& ma&- D!B &etworks a&d ca& be ach#ved
also w#thout Avalpa Broadcast ,erver ded#cated D!B hardware #$ 5pe&Caster #s correctl-
#&stalled, co&$#.ured a&d ma&a.ed.
The available inputs for this function are local files for $SI and U$ multicast
"roups with transport stream over U$' output must be multicast too
Check the chapter F'p &etwork toolsG be$ore co&t#&ue $or a br#e$ e%pla&at#o& o$ the des#.&
cho#ces.
(ool tsorts
ImptsJ
Tsorts tool w#ll l#ste& to #&put &etwork a&d .rab a packet $rom #t #$ #tDs read- or replace #t
w#th a &ull packet #$ there was a tra&sm#ss#o& problem a&d the packet could&Dt be
del#vered, here #s a& e%ample setup:
ts+dprecei-e ##,$0$!$# !#3, A inp+t$ts B
torts inp+t$ts n+88$ts A tsored$ts B
tspcrrestamp tsored$ts #,!30000 A stamped$ts B
ts+dpsend stamped$ts ##,$0$!$#$3 !#3, #,!30000
sorts w#ll also add &ull packets #$ the #&com#&. stream #s &ot loos#&. packets but #ts b#t rate
#s lower tha& the spec#$#ed.
spcrrestamp w#ll take care to restamp the pcr so the 7#tter o$ the &ull p#d #&sert#o& #s
reduced.
o ach#ve mult#ple%#&. $rom more #&put #t #s &ecessar- to #&crease tsudprece#ve processes,
letDs check a& e%ample where two #&com#&. streams are mu%ed a&d the& se&t to a&other
mult#cast .roup #& output to be rece#ved b- a& #p D!B1 modulator:
ts+dprecei-e ##,$0$!$! !#3, A inp+t!$ts B
ts+dprecei-e ##,$0$!$# !#3, A inp+t#$ts B
torts inp+t!$ts n+88$ts A tsored!$ts B
torts inp+t#$ts n+88$ts A tsored#$ts B
tsc2rm+*er 24#000000 tsored!$ts 243000000 tsored#$ts o4!3#9!000 n+88$ts A m+*ed$ts B
tspcrrestamp m+*ed$ts !3#9!000 A stamped$ts B
ts+dpsend stamped$ts ##,$0$!$#$3 !#3, !3#9!000
'& th#s e%ample we assume the two streams are 2mbps $or 22/.C.1.1 123/ a&d 3mbps $or
22/.C.1.2 123/, tscbrmu%er w#ll #&crease the b#t rate to 132B1CC match#&. a modulat#o&
scheme.
62 http://www.avalpa.com
Avalpa Broadcast Server user manual
'$ the modulator #s able to add &ull p#d #s a betterto reduce the ba&dw#dth:
ts+dprecei-e ##,$0$!$! !#3, A inp+t!$ts B
ts+dprecei-e ##,$0$!$# !#3, A inp+t#$ts B
torts inp+t!$ts n+88$ts A tsored!$ts B
torts inp+t#$ts n+88$ts A tsored#$ts B
tsc2rm+*er 24#000000 tsored!$ts 243000000 tsored#$ts A m+*ed$ts B
tspcrrestamp m+*ed$ts '000000 A stamped$ts B
ts+dpsend stamped$ts ##,$0$!$#$3 !#3, '000000
he obv#ous problem #& such approach #s that the #$ the #&com#&. tra&sport stream have
both the same +'D l#ke the +'D $or the +A the output stream w#ll be #&co&s#ste&t, so #t #s
better to replace tables, $or e%ample:
ts+dprecei-e ##,$0$!$! !#3, A inp+t!$ts B
ts+dprecei-e ##,$0$!$# !#3, A inp+t#$ts B
torts inp+t!$ts n+88$ts A tsored!$ts B
torts inp+t#$ts n+88$ts A tsored#$ts B
tsc2rm+*er 24#000000 tsored!$ts 243000000 tsored#$ts A m+*ed$ts B
tsmodder m+*ed$ts O0 pat$ts A modded$ts B
tspcrrestamp modded$ts '000000 A stamped$ts B
ts+dpsend stamped$ts ##,$0$!$#$3 !#3, '000000
3eal l#$e usa.e re8u#re $ar more comple% set1ups but are bas#call- us#&. the same tools as
show& up to &ow, -ou w#ll probabl- &eed to $#lter some packets w#th tsmask or cha&.e p#d
&umber w#th tsmodder a&d so o&, #t all depe&ds $rom the #&com#&. streams.
'$ -ou ca& co&$#.ure #&com#&. streams to be o&l- co&te&t p#ds, l#ke aud#o, v#deo a&d
telete%t, the $#&al setup wo&Dt d#$$er $rom the mult#ple%#&. e%ample o$ mpts tutor#al where
aud#o a&d v#deo ts $#les are replaced b- p#pes.
63 http://www.avalpa.com
Avalpa Broadcast Server user manual
Appendix A9 Acronyms' "lossary and references
he most $re8ue&t acro&-ms a&d someth#&. about #t
A': Appl#cat#o& '&$ormat#o& able 20,' , 1C2 6124
CB3: Co&sta&t B#t 3ate
D!B: D#.#tal !#deo Broadcast#&. 2http://www.dvb.or./4
D!B1A,': D!B1As-&chro&ous ,er#al '&ter$ace 20K ;CC631?4
D,M1CC: D#.#tal ,tora.e Med#a Comma&d a&d Co&trol 2',5/'0C 136161A, 0K 3C1 1?24
0,': 0uropea& elecommu&#cat#o&s ,ta&dards '&st#tute, the sta&dard#*at#o& bod- $or
ma&- d#.#tal telev#s#o& sta&dards 2http://www.ets#.or. 4
G5+: Group 5$ +#ctures, a se8ue&ce o$ $rames o& a v#deo stream compressed to.ether,
usuall- 12 or 1;
'+: '&ter&et +rotocol 2r$c B?14
M<+: Mult#med#a <ome +lat$orm 20,' , 1C2 6124
M+0: Mult# +rotocol 0&capsulat#o& 2',5/'0C 136161A, 0K 3C1 1?24
M<0G;:2',5/'0C 13;221;4
M+0G: Mot#o& +#cture 0%pert Group 2http://mult#med#a.telecom#tal#alab.com/4
M+,: Mult# +ro.ram ra&sport ,tream, a M+0G2 , carr-#&. more the& o&e serv#ce.
K': Ketwork '&$ormat#o& ablet 2',5/'0C 13616114
K!5D: Kear !#deo o& Dema&d
+A: +ro.ram Assoc#at#o& able 2',5/'0C 13616114
+'D: +ro.ram 'De&t#$#er 2',5/'0C 13616114
+M: +ro.ram Map able 2',5/'0C 13616114
+,: +rese&tat#o& #me ,tamp 2',5/'0C 13616124
+,': +ro.ram ,#.&all#&. '&$ormat#o& 2',5/'0C 13616114
,B: ,et op Bo%, the decoder.
,+,: ,#&.le +ro.ram ra&sport ,tream 2',5/'0C 13616114
,: ra&sport ,tream 2',5/'0C 13616114
!B3: !ar#able B#t 3ate
!5D: !#deo 5& Dema&d
+0,: +ro.ram 0leme&tar- ,tream 2',5/'0C 13616114
0,: 0leme&tar- ,tream 2',5/'0C 13616114
6/ http://www.avalpa.com
Avalpa Broadcast Server user manual
Appendix B9 !B#T transmission parameters and net bitrates
Ava#lable b#trates 2Mb#t/s4 $or a D!B1 s-stem #& 6 M<* cha&&els
2courtes- E#k#ped#a4
Modulat#o& @+,W
Coding rate/ Guard interval 1/4 1/8 1/16 1/32
1/2 G+HI6 1+1FH 1+A11 6+7<F
2/3 6+6<1 I+<I< I+A76 A+7G<
3/4 I+G61 A+FHG A+IAF H+7GA
5/6 A+FHG H+F@6 H+I1A @7+71<
7/8 A+I7H H+6I6 @7+FG6 @7+116
Modulat#o& 1A1@AM
Coding rate/ Guard interval 1/4 1/8 1/16 1/32
1/2 H+H1< @@+71H @@+I7H @F+76G
2/3 @<+FI@ @G+IG1 @1+6@F @6+7A6
3/4 @G+HFH @6+1AA @I+16G @A+7H6
5/6 @6+1AA @A+G<@ @H+1@6 F7+@7I
7/8 @I+G@A @H+<1< F7+GH@ F@+@@F
Modulat#o& A/1@AM
Coding rate/ Guard interval 1/4 1/8 1/16 1/32
1/2 @G+HFH @6+1AA @I+16G @A+7H6
2/3 @H+H76 FF+@@A F<+G@H FG+@FA
3/4 FF+<HG FG+AAF F6+<G6 FI+@GG
5/6 FG+AAF FI+6GI FH+FI< <7+@67
7/8 F6+@F6 FH+7FH <7+I<I <@+66A
6; http://www.avalpa.com
Avalpa Broadcast Server user manual
Appendix *9 %elated readin"s
,ome #&terest#&. read#&.s $rom Academ- related to Avalpa Broadcast ,erver are:
(pen Source /nd#F#/nd !B#0 Mobile T! services and network infrastructure J
The !B#0 pilot in enmark
about how 5pe&Caster has bee& used #&to dvb1h #&te.rat#o&
UITB(U:/. !A. //. T/ST($ST/--I.G !((% T/ST/. !A. M0$#&U.*TI/S
!((% IGITA-/ T/-/!ISI/(.T!A.G/%S
about how 5pe&Caster has bee& used $or M<+ co&$orma&ce test
An open source software framework for !B#K transmission
Acm paper prese&ted 7o#&tl- w#th $tw. elecommu&#cat#o&s 3esearch Ce&ter !#e&&a,
!#e&&a, Austr#a at 1Ath ACM #&ter&at#o&al co&$ere&ce o& Mult#med#a !a&couver, Br#t#sh
Columb#a, Ca&ada
6A http://www.avalpa.com
Avalpa Broadcast Server user manual
Appendix 9 Mpe"F transport stream overview
Ava#lable $rom courtes- o$ +ro$. A&to&#o Kavarro $rom Ave#ro L&#vers#t-
6B http://www.avalpa.com