++ +Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +
+ ++ Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". +
+ ++ with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. +
g5O)jR z%WJMihi}-K%S>Z@HG5EFNbR*Q=;svaUPUZSX@Y^ojFAzA6!+|pbVuH>8FX?%-**aM z5*zJj_z`NGg%BOrNIx7+0f;n!ee&M0g0KINO@5_2$$*yBpfc?bB}5`m@M%}ikWhKw zcN>_-96LeE5D}3EymvO=R!BtN=a7{TAR~i>|LTRzdqPb;EwI4?b~~Of&)W(f#nlsG zl?rT^4X9URV6wgJ?~Q_Tld$rVDNVcE+v!MNoiIB^7^rJU@J58Fil4VdjPCa88lfyB(YP?*9bP^lIuTxK>Y3b`EJipy7-R3q9ZtHVpPL z4?zjMJwRlCWedtsxx?76GYG`4d2|&xU`|J5)-E_|Om*2r+IHc@3Micb6$eCbb^TP+ zYi1TUQVcCVWO&zc)ry9;x&xm8`z*Z47oJJh_VIx&pr22G!xV{8tB3C~##JEW`s8Vl zP76=2`AN2U5h_+^Nq{77#WQ;y-@?*R0rbBFqHM9{e1Zh3@fKZz-^EGH% zb6B(}AN8!YsTX4|mR=DZZqtbM<3D%kzpW5~>`+DR&@F?+3nYZ;^;J;Nufl1xipkpw zoipG7Xml;(1Rdo9p!31u59TM@I?KP_a&FK#)(WbRaD}zm8b?lV<@=9;vKzi-C6LC6 zaV_(%C9Hzsw9Xb6XUY?#%~lR}P|DqVM^Ij#zIChsNanNYK^WIk7)t+`)iiIuhMo$; zd0haSzQ(vy%vqCLsH;svEe00`wNlToxOR%(z=R#0U^k-HG6(o}<=_}DBi85&T=Zn2 zG%ql{`S+F_BF#LiFA$Ae&`rNuFAg6PeMy820>@Gc)VC?a(kTeh=QvD48nVF;g9oYa zx(vrg0{_%SYp%?DUGWQy@0)PnM}GZR#pacA>T1RIR)?Ewq~D$V?Cgqkh5zsw3tp{J z2dc9K-(Avw@#<$jKBO`?55R?;zx!1pKInE&*m^&6q-N0+h`AhSf6Yiz+yM=UiMbG- z`Q1TNFyAZ_yAe L(${7ouw3wn= zo9gI?BHjB3%D$`3Er=N-VGOocbIz2tBT`w_`aa4L*Ub#P59S|S<2pHuwnVc2x4&Uq zqJ8BFu-NeEVj^d6(lAVQ8DPEN-R@Ohltr1eS(cb(H96q zBLC8zmOp!kX0Xad-r7H%j?NAPPs(X+p=gm! }ygH4mS zODgA`wp|k2ziM}3SM}@jiN*p&Vi&(`ZkF*0C|Gi8E4#s_hGiN4((GGCCq)yZJ9Mu4 zP$hqcIdN`otS G4ZM>(t9*<)ZN_$64hRmUkKQbG7F{xJE5cggw;^y|H!2 yH z_S~5VE_W!m8CDr{L9oKs5zZo4hG$8r{-vxe#NHSbkO5a#r03sZwzTgzXSW@UkM(8@ zLFvXZbOp *lpr|d;K}^*_$ZETernH(0Ep17?w5$2@ zTKpVvl}z4yVT?7MC?j#qSoh;?$`E5gVKELiEgF$f!TI6RPIq|jL_?HBsdK&YE-AfO zC99<*IKEYoGm*}UlJg*`bJOj;pGX0wuOVO7xl3+J)|^`r_vK-b{?u@TySWQW>{|TG ztyMI^@0KuaEyVmTq>O2V;H+Bg;wbQ(GH^2<9q4`rfi|ObAEZR#IQE?xI9_BLroH*# zrou_C|JFqm#k&!&z3V_HN``Q%9&E#*{Q*)Q^CfYLEB!@*%Tjd4YfiOPChRGh_x}=A zs7S^@UcTc*1p`B_ J?Jx6qG(Of@xI(Oa19AwV zmCiD~zmHe0VMyD+N7?Ua5iO+Y?Rj9PJLA5A@z*I7Qb~pWk+hOSN!s-3JXYm=MZyZ5 z9_N3ff!rcXTPTr@U09|ef`*wjP+p5`Y^FQeNbq>~7P0cjt Cw cS^Xs=Ud@(bsO=zM RuN zrC#(`!sq78W!cdiOb?dZ09hk@l)pivkFr>Ea_OrN+gs>}tbb9%0=mt3pJ}9HOoQ-l zR(|FBF-`hYwcdB$PJ0<$d{Oh9NF^hhJBlX-BOz7h%DK6TJR0bUqPSN&4DiTI$2 2lY@j?LJ_ zhb@u`R?gs159Y>o@>*_XSt-pVvGZ)2&-0`RVtnZuGXuuI=HIU`Z&H`l>Yqy^UvpR% z*%C33-2U2=u)VFp{~%EY%1SOMOF-D!* 06fwA&Y0sg&)Iy7^uA8Z} zbkn_PAQo;(YtA!_(lFlE7u=(z1qa6<9HCe2sVl<)`wZFz(`WqJ{g?6%WjRHq?%$Fp zNj`UyEJ0fs8_f!>VTbNse4P!glvtW-1^af;qU6NwB8$p$nBo*dvt8kLqBN}2QKZ_i z5xSajqTd|S=hbQ>$bMx{fUsfSN6B=0-Pi2RsoZGMup}a4 `lt)Mh2UTPvP;*-4bE9 zl5nXF4!MCXbMKpGutVZOy%d?xhP#@z+s{?bOU4(FoubNx`WCiYubBYP>llW5a$7=c z$pyPZVFOIzF&x~O ?$B*XSY~$P#i_*j_;$A4%kV1E&gWCY3?I<_oMoqvu+7|K z0i^VH5*8KjhYL=7P;q1h;}7s+MqHe{T~Sd-+P*CQq!>2Vyom5*TySs^>-eipNA(w6 zNVAKaZL@z!OeE4!X8uXs=o`(SKEh9NpXTf!pNn0}i^00#8x|K;PTOySk@^X9G5)8~ z5b0Yt4WL<>&86Rj7Th0ek-Vh)uCDDGtfY4N8GU5iQ#z=%R6k?XfXg8*wmn7H(V}AP zhdC>qd6SNLTpVZ7jwMGp-+ w( zb$@@%u_~VYey7~(_|uu&_Ir%`LLPWuAJjlWN)fj-v;2i8(gszob~9JwPwVC}0*=fH z4fL0@F2-TBgGMn$-Jxr=Ft+29#mNX%fv?2ayc `UOehc7<=MNzRcxUpKxa#N!dhVMJ(Wq)c6l zpX)G$p(SlDNA^K5ILNvuP|#tMO_v%XEjFE$iBj`l6K9O6dReMwgyF{blnk2Ho)iPF z;z0!Lk@a;fFLU@>wc$Hu9i_=Unlthrc1;tBi8}m5O_3<>Tz9oviYlwhrx4^YRKty0 zxTHLLH$!9S;94b{)!ITGj#m;320xhHUD_k7=vvnWQr-x*1u^C1hmytAd?8RZZxBc@ z^Y)>3e_LFmFkHn#6AP(AJZM(@0KwI#ra=cUh?J*~?S-0}x 2pneh~1&*95!e=I^nCC z4eA| !h1t?4QFFo4SlAnH;U41wT2M0?=^BK9}W_}9QvtwE^R+_w>gPX zYr?g4x=`QjVROSL`xuR8=h*71TX~xn$xu)f8IOZen6M(57U+kHwxxFM4(k@SEn;I% zhE`WyuRpk~Ze^T^gXsRl4G@l8wP!>1s;H@dMo^ (8~6Mqr2t;v*z7l6Xpu);yFyRqRL*fIF=-#mBR&oGHrxOXlK| zb4;kvubRx9yt-#D>quWiIFO}6MPAvXWuY+VtH^r8NMG-j*fXr-`eQ7R5Xoy*BspQz z2qGNXaIMHqBsX?XqtiN5TD`$im5JNvq%>=HsQ7^h<>ku zuQXSa=N%#C>fa9bbK!=4M{AzGyxKEB3>4Ek%CM)E`((4@k^*uV`2I~6PHIns^E%WQ zsx(xJ7x=J@5OS0JGfwE)&UR^JEqaOQPXHBH!EIqkhLKVF{9Qr|@h3vtiD*zizyGbu zbvhSekemq%3^zTpy`G7tbie5P;a3qJV62s#_vu2ism@O+22Cd9|H|tBZmW_t?68j# z3oV4c^M^Ia$JsZ0?6)fMy31dTW34980X^mlIe)SBr5$#cHP)we!moRzc}48?>(|d` zA%@_!Xc_?cYTK>BIpXRiELHPz_R*+?QkbDHi1 p9^`0Wz#lIgOlWAoilqc!iyeRks7DVN!d= zxYv_1W8)UOMjV_X@dQ1UM{MHa-=_X UTrY_ @^;($NK91if>&sJKH4y*8$2z^ z2eQaC7NvDxfo5QD#IKhH4mPWuq}@b_7bd~c=jj*L<@ZrX)1Zcya6~Cx16=H=AiQbx zOF Cg6mu_(Awfd_pX`>lA%`~*;EH~Grc zAz(d~m1od_rXJ`tR?2SZyA#CCdr!WjwjOs#Etcewy~cC?IzaItz2FIek^M7iPxJA= zsKsPpf!KNXOW7I*^_Sz1=4xH--yWGB;V5$gijQw3xEK%0Xe)W6a~wUAYK5&iMHS!9 zbIQr{=}sZ;lHbN4SaE8-+Yjm)Fn; V1IPSzPSw-3F z8A*!TITdOAVd|KguPa~1CPyqQRbzqUTk|tCCu*0&?pM`OcoqWioIh;2Oc58nmVY z=X=MIBdSRPl3LD0-GuFfh%;YwqP?TNJqta%_~JQ&IAKw_fHCr-1P*$=t6Z21Q^&Ap zwJx>z9)^Qg!W}GcixN`*ybVqAj+2Sz_i@CQW69aIj?*eZteNWMCT|lazBckUxYBy^ ze2ruIRSDNk wjkg=2yOzlS#HsxSF& z)rYc3tBElzURGlJ(R%vFq)6^!Aur@qdbUvxYjW^vgH%g-v?J$L>oMycXAwfJ{baKz z^7j5^rZmWH1-zSJrxkUS&0vge9{#N4N(X`)8*+18x?lwku{76C% 8m`kzMufGUDwgHV`A*d z$i@LE0Ng%2$ 92H2! cVadX|QFIG@vP6)m3tdiUW Z;{`)@ViSkY5A-Jko1m^ lX$}aBBS D-QW1}iQS9xQ!v5`unuAdwIYyv#eAR@5i34k1wZfwGD7+YkP zD4621MeJ1Ty!C9Z&DYg!*H|R;$Bq> ZXRUUu{vzc=&~3q@R_tmV#9WyqgWrrt|#$rl$7hSnwig)O-+R$G&P|FJm= z6(3oA0uWMF5}ohd9Xvw*-kRLtyf>NPPJ564&+L(+w;FLaOluw!!{N8=LWa(*xJih; z 6z`eaxcAu;fgnN3(gyw!7r-NKwHF873I%y-Q&5A zSv6jEAv|MB!~PJ-z?V>yTVXGU@_rL=@bYCDS}N2QtSfC_;2^v0Q73qmV(r; -YW=bjtn+zXSojHGRvjCE=@_zvRcf1G z$m !!pDbEo)o$z{eapw%L?sAmVV=hi9M{4)o5gOtX1eW& zb?!>CP @_yDnWx9)=(e%bW@tI-GUhw% za4Kbw$sDXOM_Xb@myBB3waAHLILp C@cCEFH+}OCmF&+&A -oPsFph9&^DzmRhh@&%$YrI^NxUVWg5`$XFd_Sya^H z;t8#mGS 3}>T1SXQ(ec9vWqni5TO1cVsBnk0X1mqPAJhAmBiHco?ffazO}Uc ze?+2$|BgguoeS`w$_>472rLn$hf)KHH&K^TUAriUuMbaYFGEJ*9d z@EOGR-usasMzfH@X{ar8FYLIVIOI|GavoeJkGO5?*U)fuHE!j&`Yv-of5o zKI5S)cU`Xx>bCPj3Slsfr&8#`GRwmvWMz~`_ ctj^PQD~jw%B>{swL6scq`jgaf-;6>5%9y z0F|%5j4%)4v*xnzo@jJ9N8-BF^SdS|uSvx|7R)MhNOTP!ozX(8HK-k+7-6Jy>*v;f zu-zX}XfC*DVTgi8ec&R7C5&jIEXzY9a6Manq;}Wx{`h4MqZ6~!9VSP?YW*&)3g4*U zXz8rZVOVO5eqduHH<;n;>-F*fVlYka)NwCV`0SiZzn594dII3?2K_F20^l2~l3~s? z +f;y#XZZL_;{Z^+Ro~n2Z zR-FVvEF7~c6NL&K%yDqt-CVQ!lzQmN8S8HoGELX>^RgE94396z<@S6d2mdt4t65k5 zl+?!2T<&imv88KR@~axpzcg;&^$S4NWVT1e)AAisC#RyN8$;eA26+2;`)VH&jNujs zFqVUVYHKPgsg5;P?c553u|#r8_`F{yk=y-5G*xu2q8J@uZ^QKP39CcCY3cOH3fpB6 z5OqEW7t|4LU$IoJo7@)KQE<`=+s)J*pmgS}ZoRoi86sM4dWbChoBCL45TxRC3A0<^ z(Z9#UeSs@Z{r-bv=@XzWYHRF}qn1A)i#H)5Aw$k@AQ|M75bfSdABG~>x!z`PT2d51 zvQKiQYOw9yxz f&b3^G?rqPRbo0e zPMlzm>X+9+8Cp#9u*&B|hFww)B-nINw;{>f$K}VR;?#Fi)xIqPouutHf!#2j6Jeb) zB_~6NtHZm(s0ZnYyhg!kTejBJy2XzrSZXr8(8Lu@hAz=xJu_pOWjhA6S&>Gbha>e) z6wAjUH@iAIj@}+RS=ri#l~TzYACy0Xmh*^yA2gUNn^2y)XVp17+f~~6;naT3f1vUz zDCW{$yl0>0*axm2CIUK 6@9H~D z&l_yyJMfDfLiX8GLVuIeQ)sz{f#Me3fRl?7O2|FM7h +sbk04r#-h#6esslpKG5EDEq?n;$R;maduLVCYxWH=*ne$Y*1M@HR!R zH2-^9E57U db-!5&tC$YN`orx_`H6{{+wx7X7PP67+VZHmlsj z=cM@KqjZO*1D>wcUnGGMyjit>6;%KEE#5W%yBUe^_c1~L-K-A#=tHh4Y ^xfHX zEwS*+#g}-2q90Y4Q3MTHr{~%MD(BKygzhFr5LOTNWul$IQn7rWYzQT_{nv Ww`Z$<{KE&tR9XT8B?O>EjU?KEXgwqj$`4fIwNyrH zCi2*v7^Wo_aXj@pX6c@*=0cus-q9OCpKmWH^79YHEH7PuOnslaPPKx7<(=Xv1<;~h zD7n_Qj?}q4WX+02s2f-EiZ+?en|{%vv;a?cb&IsR-X>X0w3G=3&Y(bV{8I6!Cx@|$ zV!gA;119HB-e2Uf&ZkQ1!=y_#%Rv@=ybfGF>dG2BoAzp)#`A)nRff1xFxy*}Av<$j z!3vU+0AuAMkFThWgMT`+l*RL&08T}f4RG #^KNh~BZI{(@wn8GtENSA$AUK` zzpMOfdVkHo=Wt&nL#Gn=??Tef+bRC=QPLuo#F}A5V-M`r{N8B0F~lpwyNBJ`i@FxZ zD9?|h=H@tBn9SQi)L>SYm(fF;zPK((mBh+_2iZL!ZlP$-!vJ#Bi4*;X^Y_XvI-RHT z`s&)nXsW1{mwL=a9A)|HP750a&-SPR{EH(ls5y6T#cB+pOO}aWU|Kag@q3X!?SL$F zE<%Gz+1I97KrPSgoxH)KO5W)o#8|(0kKZ}Gt6&g#GsX_E2E&$)Y787;4UD)jD701^ z C{+*ayev=79 zVy#ko3~kAl`S$P60)Uq`w0(cF{AU8Fax0n{FjnieW(Els0xFAgej&`oH%*Z;GRmmF zNin`6)kh@6kMwwooQ}9se0U>v5NWe~<>GE|qU`^7Gx*X7KR(~d>&~%gN!?geV>B;w z#3B8qt1Sl(3d)dH)Tfzhu}WN9(&u=_S7bq|JHkSj3`Mo+G5u*Nd-a2AgrY5avkXpG zfS01Nr#m_(pXaH1yyCK{G_EF>m*817Y1w^!s5nBjNm(S {sOvk1C@!~Zj zOF<^7d_{M%$4?Q5bpZO7r7WahxXH!naN?l w;ycvfAj z+_&^wbbc2s`GC3alp8zeSd<$v>fv$9&yadfjqR$h(DI#0a+zr)d|=&`OT9v*03Tn^ z;vX&%jw%;(tPJV*q;yx*LSqC&H)k7givByTU43J(SoFqrVPBT;UGtc*D9L! h?n=`U0S>Qw$UH| z71z)#V@VfF)BuDqlLcolV$phQ6xWr$H=~92Vfu58y *7MM>%3p?uq)>J! zTb}?z&Laf-W9KRN6WUakD)=Y0>1TKcl>y1T^4;^!za(md%P%etZ@Cf5Jx>6*<3 F-3M#E~8{zy)dmXmld-)nOH^QhGw7<^Im#tZ@oQ)ka z-?3t74x}(Bwq@}fh5l7aiEK^nRzDmcmXH(s@WCTVQIdzOKRQ+Ln1nL9u+3sGs8ay% zCu`6g^s2gUZr5=@wNK(}bzKE9(?UmtP`{wNI#f91#-+efMLf+cX4Ku^K8j4zK1zYs z8Tlm(Hd^9k(z9L#SQIxcF3(i^i?()->TIHQN!%6Q0o{1`ajB;6PZD*fDlzxorb=Hp z`vj+F3)6S-8R!Q)QE}=VR8Hv*gG8)KCO=?%l!xQHnw@5?A|A$kKGiH&Oty0ic& zi5c8P ui=M-}TMRg6FgW=4z&hd?e3fACan)59qN$0R#q1K8M6e2h<9=xaC}vdc z;|fhE6tSoLJGs1I62~?Fr!@1W94E?Em?=f8x1fKS_~gX&=&pOSku&$yJe9~gzO=H| z95*?MEeCDGTR}2Vt5TAy;q>v8p=_U8zo*g6-n#&~f3AXXjO_hc>Y0RFWme=)2HM@y zQmcbHgKPi~oLL;mjP#yFRsZ{}HfO0R2gdc)og&XyJX_V&=bC=!!);J^@0V zR)kkd-IgOATcwY#t?^=Qo&fXt2N}fc#W(Hds$m7~uluI#-fcrW67EuywVQ7Y<@xAk zwP{zg1mtOz#U_n7 9jKHE#Ii8PEgTxlL;;H_KFoRfKo(Vqk{ z$jfU_!WXvTUIIadY%-EbkImT+A1aPf8_|cRliae32Fr_^#pjH5Wp$lHGZba L} wb`!ak27!^j8?vE*rm*YeF+x KO%=1hga_{A#4n4#IEf(7 zhnETRneQ+gTUK7uzE@EZ%#F>;(UPoIJd9o(t*E5%vB3>IIPFJi{hXIuGhBO3TypKI ztVuy|3bxnM>TDLGTl9@{I}zYa5p;4v&q7`z!3Yk1mK1a~OXbNRGAk}+)FG8RS=&9J z^eRB%uiH`8Yk&YYE_t<3MTE(V>C`)WY^M_gGkWD^!}T<-nwYVm=xbl(pWW2V!pmLS zK~3Y5FVq%R`N|zuy{muw=HoL~A6d!&EWxzbK07s0^DT#tspz^!wp4`5txm=kCddp> z{!VFn7Gzw8+ONpcyDA%$X-zFd{~+bVL7vy7YuN8f+|7{rvHz^}Wzl{)U`15+h}a)@ zi_rDw6&V^$j1D>BnbUn661Wb5uZyM`Y9et4BODq)#AKmr`4HCQk;W-)SyyVg0nVl^ z0nq9upc?@SRMlJ0<9)~~B0qfbyBeWUs|?a+J1BxhG7QjypX<{&yqa8I3npZ^4zjwg zalRtsL5wILz^0~d?ey0jU*QI5=f-RE{Z15kdChxRLWlmhtLfAybJ%h5oz9_HVK%75 ztT4AISX6fUz+FyM2knYd1?PCRj>Ag{i?7}8E=EfWT7%uLZyYRMx4EUwza(#1#WB?| z4CDRL9GK8;=-6%+Hl;YH&guuaOSx4-i6OO^f_g@jK`e_y+7Cb8-j*zLo4cQey4|IO zM*Cpa{Fi`Kr5O-?{UZbVC;K7ItrA`zx$~ACmb`w ucKKQZ MdB{rHeSa;UQkcHs4mMC2 z6{0js@tv$MP1m-nF~}jD6lT#c2GJ4YA$>3BX{+$tw8ayge{b)G&NEwAF2G!sa>y*{ z)uP3nQUtCzPGspG&{ih+QXV}72fB1`yHK|{DWTZ0OzSk)X=-apt>BbevJSHp7v!bb z {{7WTqc^+lxjVuspebblClEXL;KpXXhvu zGxDb`Lj%{uB5l_D0clRxeXKKYi_Oh*RHV;U)1FZQsD$Pa6=~KJra7e^o;^37b-pIX zFyI+Q8GN|p@Oo06g0;v}g$t*osO0;EGCnP>I}oW07)JvGg(N0I7K)WQKtu-H2qP8; z&1Rxz33UJLzNV^GFWwMzl-Re17k&NJ`}UcTUBX&OI~kLufQY|k`UZ!KgBvsn*7>K? zA{v;(cF;B<{6PPs?V!>EIk(*J&4R|1Q~j0#-kC z$ozi)10{|!!Dl>FQ3};9@5-2-W3VK8N46cZ&ws?|h!774(EIJ~QAK}!R3@H^Qng=> zct^ZssOeXWm~bq&$38(23z*N3j~f`^N&?&u-`kWWH>aie$;vpo(}P!d&l&~)9y=V{ zFpdK**#9{1%qXZxD$=FsEnfGLXZX$uCXTBuvGhJ**^_}W$rKIk`snb2#f4`Y{ETU{ z+_0@-Lw9QSyF}oZW{y>=DZTyGZwxsU0C=ru)Z&hu@<11{;4soGxEH0g*Ay|_fF?@6 zLuxit9+VUNbG-Mn`T8KvJSScxY^GWVnvejSoJ)uOxjBiz6MX{I{4u;%GAORu6;Xi{ zPPF?9E373 aL)02Xhw)_WeOo2s+2NJgShKbrOaKT?cnS5%V0 zd(6Zv=R@`PjaRE>fzs|7t8M{f3{atg-=###fAUhmJ$y2-i7`p%6WyNG*9oa;*5S@p zEAaZz%8As4$AY4!i6y4DAt{*?(x|dLoAcYRKHZ1K(g8$!hRU`T_HsQ5D9iP)Np44$ z(ccZm)_}Y}Dk`=v)wTSdkoy{G$KKY|k}MK1-}jy^SVy;Gs?j3cYJqcKAeh_#6G^wa zaXD|oJP9l7(w+x=2(Ppbx6a!O&%KAdLn^bX)-Do9*|D~H+tzO%yv?t!%!ECUu`WC+ z`eUV>!tk%t*v*fQb#~2SCb~^nS!MT}l)7SDah&vg#CcRqY-w!tUzy7()B`r|_cz9k zrl-GL$I{juEz6mO#izziDpKW_56v!koUb54WZN}8_OpsUtMa>mEB35LAuJ=sTs~C# z0KW=d5kn>j%O6OrFjybB^E=EvJ*5@fY4Fc{y)ZRz!1}hfWlAkLUu(AmyAXHj1Jj-W zF;e`B*YA@XT|4 z?V|J2)&A+QJd!U9u7n%1>MVDTDnLWe*P4!j-v&wVlPR-bE z#HBC*wfC&DLCLmg%!jShtAGGCmymW!1!QwaTw2Oe9p{d^o@#%3T4S2@hu!FQXZnJX zSPYN%H*gC!BhM*uBw-& !ec%>r$-p`+Anwg3f<%^nSCJ}nQaY6L8qO^$G z?q}q^$P{0_38BvC0Ire3w7DCSMlq({o98HUpGwB~BADvIP3?Gab6!EFvtRj|-MH7F z@$BBVtip;!^m>rg>HwT?c5QO@;8oTv_;xOA7?z!r!{M$%@T%Fiz{0iKa?CH-UfzdZ z)6Q2Wq&@dSST4j-QV*Ac4&9PXzU`cfcziLjDJtI(q*alvKC{S&y&8sOA^?TnymcZG zqb?=2VT0a65Qrh$y|phRMFkP*=4_{Ro!Gd`N6HbyvNX*} L1MGQN%3+IXC7yh+*5f0RY S zW`J1U4Rkf^-Uu)Xe0M51p1&&|x0$w2dOdQZS#G@|@aN+)tfCEmzwV2uzg9kv_$MJ5 zK>*{#{~Jd^Bj>WXzDHWAxPn`Wr24#R{up*=M@K~A#QW__N3Pyo3{Q;BaW!i13Xtcn zgz8=iYk4yNaFipw(`#C>RzU7VZpM)=9;s{5n|FhjRHwqQ$d iPYWWo^3x{X0i(won0KLFF!YRc 9LA8(dtb-aruoYmDf# z57}6^8tdZ-(x39f4qsbSJF<(SNs7AoV0%KWBD>m;mX!Fj<)u}9PZVZ>crzH+RWX{`HKul`8S-LdV z4Wau !6yyQ#R}s-0jEsqM!zQzie0u*_T?TM;wDX1@q4XCO}A)9W=<^7 z`$XQhg?y(VFCc4qPm!KS9OXj~d4cGnVYKy7!35GDH8mW15$4_8SQ2w`eV`+by}S!b zupS@SZP2xh5QOjxP*Lb-$V!Xz9^jy}{J)Aj!lZSMzZDosSBC7=S*5u^nIDAIfH zAR?Vm5+D!=C?H)3MT%6VcaWM8L}?}z>Ag1r=^X?_FXuVuIp;igoO{Rp@Q(3*NmlmQ zNk&H2p6fr?f6m`l%^|*t8*^{CEWtQqb}oU*(Q4B@{ff4@+PXOBj4`tonsVfET;$?R z+^rXXGZz+ELrb&(qURUWA5qq% 7q)nD zvQ)NcH*d)dqV`I!$MR!iJ&NAZDR0!+XV_uV78wr9tu4EgV?*82b$U-o =$)T37 zX0jADJKfP{EqbdRmKbY$r9ntUD*=(r#XzTTm?Ev>58n=F@2)~3cCnpWS`WP&t3Pwe zR%m%5q-yn4%l0RZ2A`*uq?nglfiyzn0>2k{S?5oKqiN5KMMw0jdDeg4GkqQ<@e0^1 z_N9$H4w#s6s9BV|>(DJe{R|7i!}gQryEUHZoN^VVQ+dkUA=ycu9Sbgpwikc-f=NE9 z*s+_f4A?3QHG1 N_*zTKM z{g!w8D@f{t-h#{oW^!({HEJ-rJa^*xy-UwjTU+NxJ;T*rRv#il2aVX~dHT=0RdQ;l z7(Aynw7EM#I>lE2F6GeG=@9a9xm9AGZm!e&NG3Q>>;5}rY$>ZyGaHxe$dfRL>Y6&= zW_@MAvAbFKgC||x4m>MUxprX;awG}reCi?30w0r;bL_5U70XoFo2i=eyeYLcCBZI9 z)9|yq-VkTZwXLZeSapec0VG;fLZx`RM)oJG^6!IMT9s9oMA1v*`TU-yAGbPPO*fl% zUOb+mdS_+H^{ymGyo;+ana2ij R7Y$3M7|RULFT3(L7&Bu7BwL)!EsKU5=>ljWmq|XLn)r8}yq_(WCNnj~Q1Z zvrfI7H<(d#ne$#pXOMuRfrm1OyG@$<)7|-p5aABk1z+1pc&*G%Zk#eO(;}9}iAs`q zs0Sqnb)g3#OG-RDSuoN!Ha+@CTWS@YmIM2A%=t5I& -j}ZN1~tq)>-%ToS`ZDz$@V02z!}wymoq1+IEVSvE|yKzH4h{9YeCL-{SY~ z5aISY*XE9vxy9&Z+bKVldilJ~6TYOEVZ#=A@p0FgnTQL<7lGys41j*{yK-MA+1L`V zUqwyR_Qg?Zs^%O 6hnofXcBf zwN1*oDM@$BG_lN<<2!w7)1@U|2N){s>oaIMEpMbTZ#I4D6Ko3@qdcMR=h*O5imI+u z|J1^-uV+!=mQzBfu)v`JP=~?H7P6)fjAoSmUTZrwhR(XU I zsqd7v`#{ff-IP5K4OkTg;H~r9VJonLBkJ^#v_7pihmW`sMarbTPvyfR9gFMsdv_Zr zwohz2TZlrf*RGrz4{YaG;`H_P*D3hjQS+2{-wH>vbGY@=u+Dy2P#g?xU9cWR2)Afc zArP|^h%N@a|KsEB>6R>_9swAa^f|1F7blF<8=Z^6?TH~|*84a)<+qbq@;92>-MUSK z`@ufZ$CXl_qBiDW1IE|QN*q_}u8U7E&CYk81rk4<1zM2pil9k6TCcPX-v3ZK_`xhU zcNc7nHAIkAH~Q#mOxre$6Ii#|<1P8mx+ y^ICg5%328Gj$PI>Te!4>j$2*k8X(burRf+oYVtf<)H)ZmBW?LT;QE~Cz z7mRa>b@feY _pS%9%B z&LgHj@>`js7p;NT%HXA9whg?^6hWdK=S!ceUQsrJOF)qdmn7q^DR_|SW2+k6<`?&x zC2F`*?;1R~V47Y(Qk=wvnDcVG %ZChviX+OiQKa&rkh(K$2XxAM^jeB<(FI}A{hQkUorgB8J zN7b@iw3e73SuX_PQ>$D0&Vuis%E0s(K@7!~rW-Bzi)nale`#^CXHLmjb^THG`HPxy zeJS^ohV;F+FB0lW+4i|*1wKDE`wh5UTu`Z>nO?8)J=6USxc6#t>X39}^w*5?
mP1H zpdRul@4$Mq!m-2j0@pF#l52%!UWe6;`8WD|*v%G#l~!ue{lQ~m^%=p?rsd(=;)eCz z0`jIheI#gpCAkgOr;L PFwnwd8QSM)jSpVcsn2aPTrB;QB_$Pc6j^QGf)&FkFsVrwKhl+BX zq>PC?zw~-*YY(;-OUeu8he7!@8$TRibvvB#eIcVyCNd3g(bh#zkA)`;qGBm4r6@A$ z47Gz* W_>kO%+i0qDT@j~t6H_aLBnc+^)&+FOA0C`I5s0=3TgH% zM{n$f+kk&9b7{Ne 5mApXXVITa+MjFN1{vhn zBe(m}k7ieF$#PDH2Y& <=(%*1|I8-uHnyw?v&M@{ zGo2$T^OqfO3+}gn=95cuMjv^bn8%{*W5@a^h3(;ixEvixV{|m>5Lp(L_d}vHkrtbw zb-y5qU;|uw>&JUwv(c)ahoT)TG7AmTLW8JqC!_a(
k3hZe^LLL${EY2cWSfW2DbTYR!lE2OXVPQbDNY8V{GI#so zQ|IC}p7rbuJvH$RM2}78{hmHYSnpS=<|XfIV2Wqf@Ic@9(vB-)qB>eil<{>xCe6PR zckHn~ZyNa5F2`SHFe$02w$hfBd*%t3vO$LhdoFoMF23{Zg`(7ZC>KV;WNINfOnD5) zz*wT(VB_!diqJPPSyBq++p)~2-?9tXu#z-d`#ihij<-Hj8^86k ZfF1>dhcvrYiakWT3oQ{HD`clm3SIywO|y?~oYYFPvFl6wbeWWIki+DK-g5!z;P z%?S@fp|3vn`wK|n%Ke>U*V|meDZHbPPgxqG?= 2oFR0EL~Qq6@A1EghM@o7AN5Z_4dIczf5;mb!?Qzk>8UWBL-i z(Mx71_5d!`pAQ^$zqcx$-_$1tk{-j2b0%a~@`r9y+IX+dIB-rwJQMs&snQb8=|1&Z zW;M^Tc`f(O3&F@mvX)kKMrabyXvg~{{<=MMa-Ju^8&`>?@eheupMcBkRrR=?Cie+g zAyuZr7XD@yb*v9 ybc>>^3w^NIvkJHYHnsF34C@&Myb6 zr#6P~iufknke}bE!okLs=)>V2U>7qh6 P9G1iZ-k<)D6Q)g*PH__H@<|FhpxEMcT?!FHEs z(2_etk^It|U-9~!bUsu$Z1r{RCErOQTWsmORs!IHb1?D?$&2aqAC)H+et*7uLs8W; zVAt5FjRg=<(+-ohQ}o;ZSd14+*3$;pnrgix%bQLvtPL7|dX{FjxO|Dd$czgAXOdtA zVHjMJo?&x1Qi=W}NeEFeq0IhEJox8c=wFVKGU#$nJ6~6s59TuaYTI|0-P4i)fFF4C zC{h@!S(Owy2N= Af3`jeKPg& zg|PW=K=Y^Y%a;;YxwWvv^syt!8v?cxyb&P?4QTiHal2>m0$QLoj4IzD`4b3ab`E7e z%jT;m{tZa<*gqX1`>bQ(Sj79C%heFF9J #|b~36WJN^FJ^DpeEOnKVNX40DHLVFcM9?nxSx8T%Cn{Pht7dzCB8PC{+k>k_| zy_`@hHr6tSFHCrmlbOu*lgc}3>1x9*dNVZyTY)&YneeMK@mX_HE%tfkHbD;R;zIJ? z!Q9X1Ax&ePY~Dq7+t(JbUimhO+O(moEjCV*a*Xr8fL--B29n?Sh^X-z=9{~`-jSbk zK4IH1{S_t >18|gqO_{ zH9hq+$!O $h9LJ^9{XN)>uVKa)KN0# z0wa1a0U<=A;^IH@2XClMuU>(V1AzNwQQ{Led9{XPeM+`Ae0FrIWXeVp!oe%iFu`W7 zkI^T^9RCz<3JRnz%}0g?zHcPf>3sr&7>rJY8#BXi3v*M{0`uJ9r^SMp;Sp>yIZ z0sX`z`_ezq%MFMNiEyVMMJFGxM`3fvdp+P__b#Ht2j)tV^%LtkSxj6hCDc?d*&%l0 zo%8*kExLNt`rXzJud~y>_G2VQRb8nN7Brq2Ou Ljav;jh-bpM_y7o ttk__oTl zxlh`@)?-KS(b4-r5+ZA}dUmF-KY|~-eN{f_A+TZf-7^zCT}<=(vwIQ^-x!yH>9ybX z*yD);sJGGl?!A_Vgo~;p!Q5OFx6L@4Vcl|mn Pxw9K4cl5O2RGZ@ zF1IiSMh^0Js=b;l*%x1)>57R-kU6VKA&ZzeDHh?$d1&EAG}#O7Btv7pRr3c&z4}&v zd&X?YghKw24*d~<;^%eXmj%#s@42ab@~z6ehPL=iUHLNkI5t46dy82n9ftPb1-wVY zFnOxY!~mqkX-cD}PGxW?&xlT<9amcN45)Kk%15s$=3V@3Drm#huWjtzpn&qq+={k| z-@%z;(a))$T@~zMKQ;Wg&Q%9dG3o#Fd7bUBxyV?B-vGz|kLSHI_r{p3lOh5H1b=RA ztUx7fvK}Ifd@KAO`m*uY)nDWAxw+bXjpJ06PXpQ{RwR(p2>%FWR*RdIN)0)=F5VO` zRv@$zhJ^^i1@L4@esitp&sN;U8v-X65K%hOxE K1CU`s--9BEG0yYD05mW7}jof zBKS8;#t+7|gpfXVuG=wn;_tA?0M6El0@vE%o`~ij3pWt?Q |aVnArA8q!X>9uO2b;pUISVrI77rH#y-O5)&EtbRKv!QPL5X zz$apbk@|eAR;I@1^ygYe7J^2R3rF@zL5cN07G9|T0QJNa0%<5Ka}o<-w6rS!z5etH zx&BPamQa71nv`G4@JMyWwLAeT&!*0K8plJy`U}MeA)^CNomdo&Rj(Go(efM~iUfia z9!VQ4)G#7mnl#Ewqi>sMn^@;kB1_juQUhjvkhu3$wEp!Fuk#MQNWUsF09+Up4Q;3W z0P$hNab!vEKX^j>{<{F5)f{S0P~BvNUUks8?(8V_n4;YWWm7U`s17k_pR_Hch62d% zAg4WRqfd=Q#40k93tN^Nhdx ;CY&V!s z$*8Ayn@ R*tyTQ@G4u+(`kl(f4uBe zW{Se*Nn$>qbn?#6Q-%`gCcR&B!5F=r$k!Xo{bbT=W8uj5H;Y>>?t;8BXZr)%MSQMF z2+Hu5W3kw~?M dncA9b?Q_o)eZE8)`ly_1IVrW$=&{ `$|=1iZix$I0eO#sQ(b0sbeX=Dz;abm)WSY)XZHjS5WEWjOC=S zt!}>qWh04AyDzSdLn*j1^?Alp3bGVd9!?4*Uw0};-{;}^mLPZM7;}ZlO?D%4wJjk+ zw~f2i%qQtU+Ym?MG@$lC9kPn8GhYW8yXF@oiT2w&fh-+2`;q>ooQh6osC>@4#4&j# zs~axxG|L|X0BT4hlE*Nt%)owd*e*>?^G-xmO 4ewsLucfb zypw-S^wCI_ROI*8j~9Hpe4KJ0HCH`UFiQEW3WaJVUMd753jsr;j^d~5-~uYIk^Aho zDm;M%43#&`1j%}&@1xwrE)Tt7?#%57%`XbjM0oiy?3AFw9oL%y-bAw)+#NC2j1OK( zb_M>3#VPNkUJiAAkGR`tAQ}5UTawy!0l#~ZVSRQo<`~- 10FHa_}=5#R6 z4{QvL{RZUlx0N$?;8c@g1RCdsxmAlOOMehulTy{WxjKA3 z(k*mnuGwZx1&3xq0{Lq+iqf4$ZNhtHA)B } zrw5+qABX4_Tcxxv$6h`OqReSSUK^pDx~K)~_`SDTV_Q2^Fp^jylS9AJ7FcmqR&w2- zCf_mHb>D}e4C~nkuh&{%S2>=Q%GlOL->x@6(4Zy0P) V-7sAcV1kXQ}`MhWt`dXBbIZ{c7 zzleR^l0Qw8?gn4}*0dq!iVm(Ct`pm`Ed#$`N2Rq*uL9%)IG;_qjGbx98N$=*Cx2|P zwn5CbcDKsi`k8%T3v*e#ybA*pX&a`7#NX}E6~-DXBVYJ32#~j=v5xH0$k1WOd9N*= z+VZM7nOU{EnpG)--ASXw%<{2*GeN)PAxD3W(vo|srcKdN5-O__pQ*^hlN2owU+TjO z`b{j(%y!p6LcveuiM6g0ebicr_9Twl{pff$c`|s_9>Z9?mP*Vb0BMOv+o5gR0;Rz> zeff)PNAOY<-1#`MqvPtuiIN;am&P -bNzLwU=yxt zIkP&x^&z3;)1ZX5)CRB*O)hlg@hMH&l`D`l&<+3c$zd+8`J6;TqHj#$*-a@E>lbWo zkx(JazM3?AfOwAh8^+4_2+usuL8;VMp|7Yo;+l-(gq$_ek!=|sPPBQsv~_&7l&{kw z$^syHm*8_lnVM00L@kLNxa`hSx-fBwzQr>ofho=1fQz{d8+Etu4-FVd4z %ag%uK#I}EQ8y=qQY3g5kDuf8Utaq_vR9k1kc0kX1f?1b4VHf7pLh7KrF zzU}n@rATKX`{M1)TySAgzX68uq6&;k*O-#CDG1Wi#!~CrjrH>=&y*HLsthGKca4pq zDm2F+iH_x**X-<|8%?JT-DWu>&aRs4-Nigbu3w|nI*Xr)fgC+?_3qQ~apiju!!@JI zWYkE&dRTo}br|>e3@f_(q1&9jPS9%ka7tES5~HNPzH^RQR^!G*X<{k$eBR;U$y@ON zb^p=^Ic+Odd5x~uzNN8(@fCgdhT_}E-)^&~r3|J(Vivo)&Z9*K5WV+liM)Zma_x|0 zc>K4!zRsEA7jl{!cS}U;gs|v_T&_}-cgLK{qin6A7Lb@U>`8w|&NCZk2!N3Y@wEJ! zo))c|w*7_`M(|ZhO~C@PRAS^epfKki|NZCxp03l==%Uu0Uj9ML^cMKhC!suXp(pnD zozZ*un(h7?LH=`i=5{U##~A1|3*0l3<)ZsHAAwgehoZEOl%sz{Vamql9#R|UiJeEY zx{X+>Pni4hmZJFFE%S2j@ljj?-~R23u2U~~l!P62Dc$JM N3M9%oPZ5Xi`>w_Dbsz z+V*&j&tw&BWS|cAtZ8SsG55o4n56Yzf5iX$h5J3 Q z()S#7>+Dr&QK4J;`=HT6b;ttT)oqrRhUH5y#Q&nC C}RLVl?j#y~iP43(d* zrJcGx;E&I4Um)P!WqV2djO=C)w4DbJ_qws&`dZ^lP-WEPPMIJ%-B|(6f<#5F@m2ha z^jGm m??!2)lQE0zdOHcJEz>9_QJfV2lMhx=^Z-4Qu(8Z? IDG)sKPX x5gFb=0si@94m%l$Knykyvw9U1<0l_>!#+d6oKM zq<#6Y)Xh~WM&S}ENMarB*(TQ>17AdXkgD}Nb#s<@%HVq3a^J=jsQDQwZTi@~zeUQY zZ3tyKPDLE2os)+k>aIxfI5LeuN|QFJ1WCZQqVUZ==lIIe>XAc)dy^S+$2P-@oUABG zviXT+m>Uh!Jz6`y1ftbey2)%gs^$u&GPczDzQI`$@np8zxT)gK&7XjUX37k~fy0*u zV{7T$B}HKaHo5*;44Oh{Rp*(-U7!k4f&8!I8@Da#QCSxSJnK;L>pwEiobex?i91f4 z`~s!2%RZ+MH4rVxC?ApvKBBNqD;P4fDUEVkp^4K{nvieQf)O09&;En__Q#avE>~)G zdDGjkzV`a^4kXC8(`=UoOIz%N`33?zIuqr}ErNA2##T&w8g6%cq-k#4U`jqno(zZ`rdX>Wo(3Z{I)jC2^lfp3ktQCMV}&+WJ=WZ0%t; z-yB_g{H2Xd o=B(2oE-epe|IRj?t1Y}Tu^*H3-u}E8; zM?C_wnSHVrf+Tl5FUIpo3HyJN_&UJ6t13t(`z}@fsI%e)dCfu4QDKFq=dR4V44QH) zA;=rz1_Xh}@9i)5X$1c6`k2+%?6YrUkBBEuo6m;E?l=5k?dv5Ut$YjW44TgHNGXn8 zxoC@)AF25KzkDEg`GG!L&v`gwc&X(}5p(^P;vK2=9?u4om|M4kwmj3hVJ%LJ$djaM z{j0_8i%1_fdPPN3&Va2gcVA2AY0m1pr0S~?HMjnHt^Y}d{HuDuWvN{93(F%F^oL!2 z5Hp3nq(G|i;&V{~#%e5^l@&?x_B5mgm%h6EN1OJSqx6PZ(eAh}jFFCQ>dzh1utsS_ zxAH{WEzI_PV{gUBsu1$6hb&i7lbuU8mMp^HXT5AoFrcq>$k~%c+=j||oj_Vnl&_|` zLiV``3rv+sa^7Pu8#y%notJNWKzv4Lg6CR-15Wx{gwv%N5K9!=T~u3bD^)dEox 8lSm%R&l+t*elH)~l{ei?-=p(RKSgbs^7C<5E6u zyN-+NV~b}J=#})Y^h*!@lvW>{G +?4*_)7os*vSbZuj9{Flu^GShO0BZW5UB zi~dou*UisQ`_2VSj)H$hlS}*h{(L>@w?`5S(ulRSA)w%kyB!O^0T!*%`4#VzPfQ -nXTIY2uh$02Cw3!QAU^b-Dgt*ifhNX*72w8!m^J*(_!+SueKXbheC~dcGgF= zX>Qdd|0=ib-c}5JrFl0#`^y#yvhgt&8kNDID!A7^vlFKDA%SsGIa>Y|>Ia-X4V`=- zr%F|JmT9yAXLMsqXufEeRbBY%v;TB)K~e1VSYBR-jgF%I3pN%FYMJQuj8)NZEjK>1 z-5qGE#UR#2Y#I dZ?q zgDV&_wpw?6W=Fhha*W)O?0wu9Lx`pSVz@q~?fAYJQC+uZ1fhzF*_&u%m0%?X-hvI( z9iox#0s#Uk+gn_BD_suAu4XYV&W~k0TRJTJLh0u9VV&FcO4N(GuU_SEMJA`>RGIo@ zDar-&gG*R4VscBLVOEj;&zOYY!3nVq7k9l&2>LHos*HoZ-Cr72yBZupt1Q(Z-=UwE z>+Cg4c@{p%`H0f@qMaz8-^NSfv!qq}1Su$VI_ZtFF@ur`H1kQE1V+-zSVr>C!AV9m z`e(NICP~|@?Is0m-N0q#f9=SwIMS~GRM9I^3pYHK68exD6g^BJ^Y}qhA>gytwadV~ z?iejJy-i~WnV{>w8xbZ!94TXU2ZG!;G1fGMV@4EjiTS9FKJs4USuBKzFG-RHX4$0B z59j2UTQsPaYkW4}O7u> 7*W-O!nW66`B+j_ jT2mFWY>IX{!IhCW30J9^R?$08 zHdHF*;Rhq{G}i;P#US6y5n47{m$*_8r6x6Fhi5n|sJZgJms{qGw?hLu>N;E**iODl zp&0_xBn0bSN=7U1Bc=O6L6KbUFAmmUW72<)RR7^9=_?o}YV7gu{@4?X6?9tz+MTV- zv?H(-Q VNl{R7|gdL^L)s=;h^2aHp6)8KCakvDT$y|Nw! w<)f;0P60~a-!2Z4&wwhaS=|J#yQR&kD*sfVv<6TffLZmb +Vls can stream MPEG 1 or MPEG 2 files that meet two +critera : + + + + + + +the file must be MPEG + +PS +(Program Stream) or MPEGTS (Transport Stream), +that contain video and audio multiplexed. Vls cannot stream MPEG +ES (Elementary Stream), i.e. a file with only audio +or video.In order to know if an MPEG file is MPEG + +PS , +MPEGTS or MPEGES , read the +file with vlc and look at the messages (select in the menu +View / Messages , or use the command line +vlc -v ) and look for a +line :+module: locking demux module `mpeg_XX' + + +If + +XX = ps orXX = +ts , then your file is MPEGPS and +MPEGTS respectively, and you may be able to +stream it. IfXX = es , then your file is MPEG +ES and is not streamable.the sequence header of the video must repeat itself regularly, +which is often the case with MPEG 2, but very rare with MPEG 1. There is +no easy way to know if the sequence header is repeated regularly. Files +with a + +.vob extension are normally MPEG +2 files and files with.mpg or +.mpeg extension or +usually +MPEG 1 files.You can download this streamable +MPEG 2 PS file for your tests : + diff --git a/LDP/ref/docbook/VideoLAN-Quickstart/uninstall-vlc.sgml b/LDP/ref/docbook/VideoLAN-Quickstart/uninstall-vlc.sgml new file mode 100644 index 00000000..69aa3514 --- /dev/null +++ b/LDP/ref/docbook/VideoLAN-Quickstart/uninstall-vlc.sgml @@ -0,0 +1,54 @@ +presentation_short.vob .+ + Under Windows + +Click on the + +Uninstall VLC icon that was +created during installation.+ + Under BeOS + +Delete the + +vlc-version +directory. You can also remove the configuration file +/boot/home/config/settings/vlcrc .+ + Under Mac OS X + +Drag the VLC application to your trash can. + ++ + Under Linux Debian + +Remove the packages that you installed : + ++ +# apt-get remove --purge vlc-gnome vlc-mad libdvdcss2 libdvbpsi1 ++ + Under Linux Redhat, Mandrake and SuSE + ++Uninstall the RPM packages that you installed : + + ++ + +# rpm -e vlc-version vlc-mad-version vlc-gnome-version +libdvdcss2-version libdvdpsi1-version +diff --git a/LDP/ref/docbook/VideoLAN-Quickstart/vlc-streamoutput.sgml b/LDP/ref/docbook/VideoLAN-Quickstart/vlc-streamoutput.sgml new file mode 100644 index 00000000..ed50c287 --- /dev/null +++ b/LDP/ref/docbook/VideoLAN-Quickstart/vlc-streamoutput.sgml @@ -0,0 +1,120 @@ + If you compiled VLC from sources + + +Go to the directory containing VLC sources and execute : + ++ + +# make uninstall +Then you can remove the VLC sources. +Stream with VLC + + +Unicast an MPEG 1, 2, or 4 file + +Start VLC on the server + ++ + + +under Windows : click on + +File / Stream +output in the menu, checkUDP and type +the IP address or the DNS name of the machine you want to stream to in the +Address box and click onOK . +Then click onFile and select the MPEG 1, MPEG 2, +MPEG 4 or DivX file you want to stream.under Linux/Unix : start VLC, click on + + +File , then click on theBrowse +button and select the MPEG 1, MPEG 2, MPEG 4 or DivX file you want to +stream. Then checkStream output and click on +Settings . CheckUDP and type +the IP address or the DNS name of the machine you want to stream to in the +Address box. Click onOK +twice.under Mac OS X, the procedure should be very similar to +Linux. + +Start VLC on the client + +Launch VLC on the machine which receives the stream and click on +the + +Net button. Then selectUDP , +keep the default port and click onOK .Unicast a DVD + +Start VLC on the server + ++ + + +under Windows : click on + +File / Stream +output in the menu, checkUDP and +type the IP address or the DNS name of the machine you want to +stream to in theAddress box and click on +OK . Then click onDisc , +type the device name corresponding to your DVD drive, uncheck +Menus and click onOK .under Linux/Unix : start VLC, click on + + +Disc , type the device name corresponding to your +DVD drive in theDevice name box and uncheck +Use DVD menus . Then checkStream +output and click onSettings . Check +UDP and type the IP address or the DNS name of the +machine you want to stream to in theAddress box. +Click onOK twice.under Mac OS X, the procedure should be very similar to +Linux. + ++ + + ++ +Under Unix/Linux, you must have write access to the device +corresponding to your DVD drive. For that, you should be in the + + +disk orcdrom group (look +at the permissions in/dev ). If you're not, add +yourself to the group : + ++ + +# adduser your_login disk_or_cdrom +and then restart your session. +Start VLC on the client + +Use the same procedure as in the previous section. + +diff --git a/LDP/ref/docbook/VideoLAN-Quickstart/vlc.sgml b/LDP/ref/docbook/VideoLAN-Quickstart/vlc.sgml new file mode 100644 index 00000000..981592ac --- /dev/null +++ b/LDP/ref/docbook/VideoLAN-Quickstart/vlc.sgml @@ -0,0 +1,76 @@ + Multicast to several VLC's + +What is multicast ? + +Multicast is a norm implemented in all modern network hardware +(switches, routers, ...). It provides an intelligent manner to send a +stream to a dynamic group of machines. If you want to use multicast, +make sure that all your network hardware support it. + +In multicast streaming, the stream is sent to a multicast IP +address (the IP addresses reserved for this purpose are from 224.0.0.0 +to 239.255.255.255). Then, any machine on the network can join the +multicast group by sending a request on the network, and it will +automatically receive the stream. When it sends a request to leave the +group, it will automatically stop receiving the stream. The advantage of +multicast streaming is that only the machines that want to receive the +stream actually receive it, and the vls only sends one stream even if +there are multiple clients receiving it. + +Start VLC on the server side + +The procedure is the same as in the two previous sections : +the only difference is that you must type a multicast IP address +instead of a regular IP address or DNS name in the + +Stream +output dialog box.Start VLC(s) + +Launch VLC and click on the + +Net button. Then +selectUDP Multicast , type the multicast IP address +and click onOK .The VideoLAN Client (VLC) + ++ + Installing VLC + + &install-vlc; + +diff --git a/LDP/ref/docbook/VideoLAN-Quickstart/vlcs.sgml b/LDP/ref/docbook/VideoLAN-Quickstart/vlcs.sgml new file mode 100644 index 00000000..ff3b3dc9 --- /dev/null +++ b/LDP/ref/docbook/VideoLAN-Quickstart/vlcs.sgml @@ -0,0 +1,96 @@ + Running VLC + ++ + Read a File + ++ +Start VLC : under Windows, Mac OS X or BeOS, double-clic on the icone and under Unix or Linux, use the command + +vlc . + ++ +To read an MPEG 1 MPEG 2 or MPEG 4 / DivX file stored on a hard drive +or a CD-ROM, click on the + +File icon or select in the +menuFile / Open file and select the file you want +to play. + ++ + Read a DVD + ++ +To read a DVD or a VCD, click on the + +disc icon or +select in the menuFile / Open disk and enter the +device name of your DVD drive. + ++ + + +If you are running Linux, you must have write access to the device +corresponding to your DVD drive. For that, you should be in the + + +disk orcdrom group (look +at the permissions in/dev ). If you're not, add +yourself to the group : + ++ + +# adduser your_login disk_or_cdrom +and then restart your session. + ++ Troubleshooting + +If VLC doesn't work for you, open the message window from the menu + + +View / Messages and try to spot an error message +that could explain your problem.Then, read the + +vlc FAQ and have a +look at theBugzilla +to see if it is a known issue.If you can't find out the problem, explain it in English in the +mailing-list + +vlc@videolan.org and copy-paste in +your mail the messages of the message window.Add a channel information service + +Typing multicast addresses and URLs is not very fun... and that's +where a small program, the mini VideoLAN Channel Server (mini-VLCS), +is very useful. The mini VideoLAN Channel Server associate URLs or +multicast addresses to channels, like on a TV. + ++ + Installing mini-VLCS + ++ + Mini-VLCS is only available for Linux. You don't have to change anything to vls or the Web server. +Mini-VLCS is independant from them, but is can be installed on the same +machine as vls or the Web server. + +Download the latest version of mini-VLCS from the + +network download +page .Install-it: + ++ + +% tar xvzf miniVLCS-version.tar.gz +% cd miniVLCS-version +% make +It creates an executable program named + +vlcs .+ + Configuring mini-VLCS + +Edit the configuration file + +vlcs.conf . The +syntax rules of this configuration file are the following :+ + + ++ + the first line corresponds to channel 0, the second +line corresponds to channel 1, the third line to channel 2, and so +on..., + + lines are considered raw data +and sent directly to the client (for example, + udp:@239.255.12.42 ),+ + lines beginning by I: are "dummy" +channel programs that tell VLC there is nothing in this channel (which +should be the case of channel 0).For exemple, if you want channels 1 and 2 to be two multicasted +streams and channels 3 and 4 to be two on-demand streams, your + + +vlcs.conf file will look like this :+I:nostream +udp:@239.255.12.42 +udp:@239.255.12.43 +http://vod.videolan.org/test/video1.mpg +http://vod.videolan.org/test/video2.mpg + + ++ + Running mini-VLCS + +Start mini-VLCS : + ++ + +% ./vlcs +For production, you should run the program in a screen, so that +you can detach-it and reattach-it: + ++ + +% screen ./vlcs +diff --git a/LDP/ref/docbook/VideoLAN-Quickstart/vod.sgml b/LDP/ref/docbook/VideoLAN-Quickstart/vod.sgml new file mode 100644 index 00000000..6c990100 --- /dev/null +++ b/LDP/ref/docbook/VideoLAN-Quickstart/vod.sgml @@ -0,0 +1,61 @@ + Configure VLC(s) to use mini-VLCS + +Launch VLC, click on the + +net button or +select in the menuFile / Network stream , select +Channel Server , enter the DNS name or the IP +address of the machine hosting mini-VLCS and click on +OK .Then, you see a new section + +Network Channel +on the interface. Select the channel of your choice and click on +Go! .Video On Demand + +Overview + ++With Video On Demand (VOD), the user can start the video when he +wants, make pauses, go forward and back in the video. It is of course +the best in video streaming and the dream for every user. + + ++VOD is a very big consumer of resources for the server and the +network. VOD is unicast, not multicast : this means that the network and +server resources needed are directly proportional to the number of +clients. + + ++The design of VideoLAN's VOD solution is very simple. The idea is to +do HTTP streaming, i.e. stream an MPEG video encapsulated in HTTP. The +regulation of the bitrate between the client and the server is done +automatically by TCP. With HTTP version 1.1, there is the possibility to +seek in a file downloaded, that's what we use to seek in the video. + + +On the server side + +On the VOD server, you need a running Web server. For example, +you can use a Linux server running Apache. Other operating systems +and other Web servers should work too, but we have never tested. + +Make your MPEG 1, MPEG 2 or MPEG 4 / DivX files available to the +clients on the Web server. + ++ +For example, we have a Web server whose DNS name is + + +localserver . On this server, +we put an MPEG filevideo1.mpg +which will be available to the clients at the URL +http://localserver/test/video1.mpg . + +On the client side + ++ +Launch VLC, then click on the + +Net +button or select in the menuFile / Network +stream , selectHTTP and type the URL +http://localserver/test/video1.mpg . + ++ +VLC starts to read the stream nearly immediately and you can seek in the +stream, make pauses, etc... as if the stream was a local file. + +