Scopul acestui material este de a
explica cum se poate face transmisie video in direct, cu un material
inregistrat. Deci puteti face stream video cu propriile videoclipuri
de pe HDD, In acest fel puteti deci "emite" pe net sub forma unui
post TV de muzica, unde transmiteti ce va doreste inima, in limita
materialului video achizitionat pina in prezent. Foarte important este sa aveti ip public
pentru a transmite pe net, daca nu aveti, va limitati la reteaua de cartier din care faceti parte
Mai intai downloadati kiturile de instalare necesare .Inainte de a trece mai departe trebuie
mentionat faptul ca transmisia se face numai si numai cu
fisiere .nsv. Dupa mai multe incercari am ajuns la
concluzia ca winampul, culmea, este cea mai tare gaselnitza in video
streaming, deci zic eu ca daca va pasioneaza sa va jucati cu asa
ceva, merita efortul, pt ca aveti calitate f mare deoarece faceti
transmisia p2p, in retea sau metropolitan. In comparatie cu yahoo
messenger de ex (videoconferinta) e net superior vis-a vis de
calitatea imaginii. Formate specializate care sunt utilizate pe net pt
videostream ar mai fi quicktime si realmedia insa din testele pe care le-am facut eu
consider ca nsv-ul necesita latime de banda ceva mai mica la aceeasi calitate, de aceea il recomand.
Deci trebuie sa
convertim toate fisierele video din avi, mpeg sau alte formate in
nsv. Aici e partea cea mai nasoala pentru ca dureaza. Pasii ar fi simpli: Inaintea convertirii
propriu-zise a fisierelor in fisiere.nsv se face o configurare a
parametrilor de encodare, apoi encodarea propriu-zisa in nsv si apoi
transmisia propriu-zisa cu fisierele .nsv obtinute.
In primul rand trebuie instalate
softurile necesare:
shoutcast-1-9-4-windows.exe,
serverul shoutcast cu care facem transmisia (acelasi cu care se
transmite radio, presupun ca ati ascultat posturi de radio pe net)
NSVtools_repack.exe - pachetul
nsvtools_repack
Pentru o encodare optima trebuie
folosit codecul video VP62 (ultima versiune), Ar fi recomandat
totusi sa folositi si nsvenc_vp6_setup.exe
care instaleaza deopotriva vp61 si
vp 62
Pt audio, in loc de clasicul mp3
recomand AAC care zic eu ca se aude mai bine la bitrate-uri mai
scazute........Puteti deasemeni sa folositi noul AACPlus care la bitrate-uri f mici se aude excelent. Pt a-l putea folosi, avetzi
c:\Program Files\Winamp\Plugins\enc_aacplus.dll . Winampul pe care-l folositi trebuie sa aiba suport aacplus, evident si numai v5.09, v5.1, v511, v512 au asa ceva. Copiati acest dll in c:\Program Files\NSVtools\ dupa care il redenumitzi
nsv_coder_aacp.dll
Deci instalati 1. pt
stream cu winampul sau 2. pt stream in http:// cu
ActiveX sau mai bine pe amandoua :D, e mai bine asa.
on2_vp6_nsv.exe,
codecul VP62 se instaleaza acolo unde este deja
instalat nsvtools
nsvenc_vp6_setup.exe,
acesta instaleaza codecul vp 61
intr-un folder unde ii specificatzi.
Pt cine nu intelege la varianta 1
"stream cu winampul" cel care va "vizioneaza" pune un url in winamp
5 si i se deschide "tv-ul" emis de voi in winamp in fereastra video
In cazul in care optati pentru varianta 2,
streamul de face pe http:// adica cel care va vizioneaza pur si simplu deschide
Internet Explorerul la un anumit URL unde se afla montat tv-ul vostru. Aici aveti 2 posibilitati: Pagina
html unde implementati tv-ul poate fi la voi pe hard sau undeva pe internet. Daca tineti neaparat sa fie
la voi in calculator trebuie sa aveti instalat un server de web (de exemplu apache de aici)
unde puneti fisierul tv.htm in care am pus eu tot
ce trebuie....daca nu, uploadati acest tv.htm undeva pe net....oferta e mare.
In sursa fisierului tv.htm trebuie sa modificati niste parametri, voi explica mai jos.
Deci cel care va "vizioneaza" nu trebuie decat
sa intre pe
http://www.blabla.ro (daca aveti domeniu) sau de pe retea http://
192.168.1.xxx:port si se conecteaza la serverul vostru unde i se
deschide tv-ul in browser (am spus mai jos, merge numai cu Internet
Explorer din pacate. Poate fi facut sa functioneze si cu firefox dar numai cu vp31, care e un codec mai vechi si se vede mai prost, deci nu merita). Asta nu conteaza decat la sfarsit, deci sa
revenim...
Dupa ce am instalat ce era de instalat
putem trece la treaba . Cel mai bine e sa copiati in acest folder
(unde e instalat nsvtools) toate videoclipurile pe care vreti sa le
folositi. Pt a encoda fisiere mp(e)g e simplu, pt avi e posibil sa va trebuiasca
ceva in plus....voi explica mai jos.
Pentru asta, trebuie obligatoriu sa aveti instalat divX,
de preferinta ultimul, de aici in care trebuie bifat obligatoriu
la Quality Settings, Support Generic
Mpeg-4
P.S. De mentionat faptul ca marea majoritate a userilor au
instalate in calculatoarele personale codec pack-uri care uneori duc
la o functionare dezastruoasa a sistemului si implicit la
imposibilitatea folosirii encoderului NSV. Deci dupa ce instalati
windowsul, (la modul general) instalati doar divX, Xvid (sau ffshow
daca doriti are suport full mpeg4),AC3 si quicktime 6.5.2 pt suport
apple mov si 3gp, eventual realplayer....daca va
intereseaza....restul vin preinstalate cu win XP! foarte rar veti
gasi vreun fisier video care sa nu mearga daca aveti astea
instalate.Chiar daca gasiti, nu instalati sub nici o forma
codec-packuri! gasiti strict codecul de care aveti nevoie!
In concluzie, daca aveti sistemul
facut varza din cauza codecurilor instate aiurea, un simplu
un-install nu va va rezolva problema, trebuie sa curatati din
registri codecurile, sa stergeti niste dll-uri, dar e mai complicat,
DECI, in cazul asta e posibil ca encoderul NSV sa nu functioneze
....asa ca pina nu curatati sistemul sau nu reinstalati windowsul,
nu aveti nici o sansa sa faceti stream video cu metoda asta!...s-au
vazut cazuri
Deci ati copiat in folderul unde e
instalat nsvtools, un nr de videoclipuri, mpeg1 sau 2 sau avi .
Atentie! toate trebuie encodate cu
acelasi bitrate audio si video, la acelasi nr de frameuri,
etc....deci exact aceleasi setari pt fiecare fisier, altfel nu merge
cum trebuie! Deci facem setarile, apoi encodam fiecare fisier
identic.
Configurare
In folderul cu pricina deschideti cmd
(deci in fereastra dos) si dati comanda nsvenc .Va
aparea o lista cu parametri. Dati comanda
nsvenc/config si va aparea fereastra NSVenc
configuration.
Aici bifatzi resizing, unde puneti 320*240 zic eu ca
ar fi optim....se poate si mai sus, kiar 640*480 dar dureaza
encodarea unui videoclip 100 de ani (in comparatie cu xvid dureaza
mai mult). Bifatzi si High quality resize . La audio processing
punem 44100 HZ stereo.Volume multiplier lasatzi 1 iar la Output
frame rate bifatzi si puneti 25.00000 fps. Jos dreapta e butonul NSV
encoder configuration.Apasati pe el. Vi se deschide acum fereastra
de unde faceti setarile . In stanga alegeti codecul audio si bitrate-ul. Dupa cum am spus, se poate folosi mp3, aac sau aacplus. nu umblatzi decat jos unde
selectati AACplus si bifati aacplus v2 (asta daca ati copiat dll-ul de mai devreme acolo unde
e instalat nsvtools) si puneti bitrate 64k sa zicem sau kiar mai
mic, se aude bine f bine. Din testele pe care le-am facut cu aacplus pot sa spun ca se aude bine si cu bitrate 32kbps, incredibil! Puteti folosi deasemeni AAC normal, se aude f bine si acesta....mp3-ul deja e depasit...
In dreapta Video format aveti VP3 3.1,
VF62/vfw si VF61/vfw pe care-l si alegeti. Dedesupt bitrate-ul. Aici
e greu de ales. Daca faceti video stream pe LAN puteti sa puneti si
1000, dar pt net e enorm (ma rog pt fibra pe 100 metropolitan,
nu).Eu am facut teste pe lan cu 800. De ex un film DVDRip avi Xvid
pe un CD are cam pe acolo bitrate-ul imaginii. Daca vreti sa faceti
stream pe net cu latime de banda mult mai mica alegeti bitrateul
undeva la maxim 300-400kbps, nr frameuri<25 (eventual15-20), dim
imagine 320*240.......dar calitatea va scadea simtitor. Puteti merge
pe ideea de a face doua grupuri de fisiere, unul cu care faceti
stream in retea si un altul cu care transmiteti pe net.
Sub Bitrate aveti modul de encodare,
unde trebuie ales parametrul in functie de ce va intereseaza. Pt o calitate
foarte buna ar trebui folosit "One Pass - Best Quality", dureaza foarte mult encodarea
dar calitatea este maxima intr-un pas. Teoretic in 2 pasi ar trebui sa rezulte un fisier.nsv
si mai calitativ dar si asa dureaza f f mult intr-un singur pas....De obicei pt o transmisie
la calitate buna se foloseste "Good Quality Fast Encoding".Comparativ cu prima varianta calitatea este insignifianta.
Pt viteza trebuie selectat Realtime / Live Encoding,
, fisierele se encodeaza mult mai repede dar si calitatea lasa de dorit.....Recomandat pt
prepararea fisierelor .nsv cu care vreti sa faceti transmisie la calitate scazuta cu un bandwith f mic.
In cazul in care ati optat la alegerea lui vp62 mai apar niste obtiuni:
La End usage trebuie bifata obtiunea de jos, Local file
playback(VBR). Bifati obligatoriu KeyFrame Auto Keyframe. Acestea se
selecteaza apasand butonul Configure.Mai aveti de selectat distanta
dintre keyframeuri, Max Frames between Keys;puneti 300,default e 360
parca. Cam asta ar fi toata configurarea pt a creea fisierele
.nsv
Encodarea propriu-zisa
nsvenc/DS fisiersursa.ext
fisierdestinatie.nsv - in general pt fisiere
mp(e)g
exemplu: nsvenc/DS
videoclip1.mpg videoclip1.nsv
nsvenc/DS /fr=xx.xx
fisiersursa.ext fisierdestinatie.nsv - in
general pt fisiere avi
fr - reprezinta nr de
frameuri al avi-ului pe care-l encodati si ca sa vedeti framerate-ul
va trebuie gspot de aici
In cazul in care aveti avi-ul in
format 16/9, in urma encodarii, nsv-ul se va intinde pe verticala
pina la 4/3. Pentru a evita acest lucruaveti 2 posibilitati la
alegere:
1. Instalati Avisynth
255, il puteti dl deaici.Facetzi un mic fisier text pe care-l botezati parametri.avs sa zicem. In el scrietzi
urmatoarele randuri:
unde prima linie specifica locatia
avi-ului, a doua modifica usor brightness-ul, iar a treia, cea mai
importanta bune 2 benzi negre sus si jos cu cate 64 de pixeli (cazul
nostru). Cu Avisynth puteti face f. multe modificari in parametri
unui file.avi dar nu este subiectul nostru de discutie. Salvati
fisierul.
nsvenc parametri.avs
videoclip.nsv ( nu mai este necesara specificarea nr de
frameuri)
2. Daca vi se pare greoaie folosirea avisynth
atunci instalati ffdshow
(filter foarte cunoscut si folosit), intrati in Configuration, bifati Resize and aspect, apoi bifati Specify aspect ratio unde trebuie sa fie
selectat 4:3, in dreapta trebuie selectat Resize always iar mai jos
trebuie bifat Keep originalaspect ratio, OK de jos si gata, encodati
fisierul avi normal, ca in exemplul de mai sus.
Repetati aceaste operatiuni de
encodare pina strangeti un numar de fisiere.nsv (inca o data,
trebuie sa aiba toate exact aceleasi setari, altfel nu va functiona
cum trebuie!)
Deci acum avem un numar de fisiere.nsv
in folderul unde e instalat nsvtools.Faceti acum un subdirector
MMM de ex, unde mutati toate fisierele.nsv.
Streaming
Inainte de a trece la transmisia
propriu zisa, trebuie facut un fisier text in folderul unde e inst
nsvtools pe care-l botezati "setari.txt" de exemplu.In fisier
scrieti exact asa:
Din tot acest script nu conteaza decat
primul rand, unde e o parola, aceeasi din fisierul de configurare al
shoutcast-ului si randul al 4-lea unde puneti ce nume vreti dupa
doua puncte.restul nu prea conteaza.....
deci salvati fisierul setari.txt cu
acest continut.
Acum rulatisc_serv.exede unde e
instalat shoutcastul. Aveti sus dreapta in meniu edit config. Daca
dati clic va deschide fisierul de configurare sc_serv.ini in notepad
binenteles. Aici modificati: MaxUser=10 (cati useri pot intra pe
server), Password=changeme (deci trebuie sa fie exact aceeasi din
fisierul facut mai devreme, setari.txt, primul rand!), PortBase=9150
(portul pe care faceti streaming, default e 8000 parca). Inchideti
fisierul, salvati, inchideti serverul cu kill server si redeschideti
cusc_serv.exebinenteles, altfel serverul nu ia in considerare
setarile........deci aveti shoutcast setat, il puteti minimiza cu
Hide monitor.
In sfarsit am ajuns la faza finala, la
streaming-ul propriu zis.
pt asta folositi comanda
nsvscsrc
Deschideti fereastra dos cu cmd in
folderul unde e instalat nsvtools........si dati comanda asta:
Din ac moment streamul functioneaza
ok, ruland videoclipurile.nsv din folderul MMM in
ordine sau in mod aleator, depinde de parametrii alesi ai comenzii
nsvscsrc.
Proba si nu numai
Daca tot ati ajuns pina aici trebuie
sa faceti si proba, nu?
In winamp 5 puneti acest URL: http://192.168.1.16:9150/;stream.nsv si va conectati la propriu stream.
Varianta TV old. Pt stream in browser exista fisierul tv.htm (stream in html cu
ActiveX control) Copiati nsvplayx_vp6_aac.cab in
acelasi folder unde se situeaza fisierul tv.htm ( trebuie
specificata in sursa calea catre cab si linkul catre stream). Trebuie mentionat faptul ca
momentan pentru Firefox sau Opera nu exista suport pentru vp61,
decat pt vp31, care e cel mai vechi. Deci numai Internet Explorer
poate rula vp61.Cu aceasta varianta mergeti numai pe vp61, cu vp62 nu merge!
Varianta TV new. Aceasta varianta de player este facuta de altcineva si fata de cea veche are imbunatatiri majore, in primul rand posibilitatea de a rula vp62!!!! Ideea
este ca arata mai frumos si are unele buguri fixate ca de ex faptul ca
cu cel vechi asteptai in unele cazuri foarte mult pina se incarca
pagina. Pentru a-l folosi aveti nevoie de ampx_en_dl.cab pe care-l copiati linga tv.html.
In sursa fisierului tv.html din folderul TV new, cautati var leakurl = "http://195.27.230.26:80;stream.nsv"si modificati acest ip cu ip-ul pe care emiteti adica : http://192.168.1.16:9150;stream.nsv
Apoi cateva randuri mai jos aveti codebase=\"http://videostream.home.ro/tv/ampx_en_dl.cab\, unde se specifica calea catre cab. Acest lucru dupa cum vedeti se specifica in sursa de doua ori si trebuie modificat de asemenea de 2 ori. Veti modifica "http://videostream.home.ro" cu numele domeniului unde aveti uploadata pagina ...........Mai puteti modifica marimea ferestrei video daca doriti, adica in loc de 640*480 sa puneti o dimensiune mai mica, mai mare deja nu are sens. NU uitati sa modificati de doua ori asa cum este scris in sursa!
Dupa ce salvati fisierul tv.htm, il uploadati undeva pe net cu tot cu fisierele adicente (cab-ul si gifurile) din folderul TV new. Mai exact uploadati folderul TV new cu totul. Dupa cum am mai spus, elegant ar fi ca tv-ul in browser sa fie hostat la voi pe HDD daca tot aveti ip public....dar trebuie sa aveti server de web si nu cred ca este o solutie simpla la indemana oricui...dar in cazul in care incercati, folositi apache.
Fata de "TV old", "TV new"este recomandat pt o functionare mai stabila a streamului.
OBS: cele 2 cab-uri cu playerele activeX si celelalte fisiere adiacente sunt arhivate intr-un fisier cu link cu parola. Daca e intr-adevar cineva interesat de toata polologhia asta si a incercat ce am explicat sa ma caute cu incredere.
Daca nu ati gresit nimic pina acum,
deschizand URL-ul respectiv nu faceti decat sa va conectati la
propriul server shoutcast care e responsabil cu streamul video, asa
cum poate face oricine de pe reteaua din care faceti parte sau de pe
internet (daca aveti ip public).
Sper sa fi fost de folos explicatiile
mele, daca nu, ma gasiti pe FORUMIata link
mai jos catre o pagina ce contine stream video. Am folosit scriptul
mai nou care se pare ca merge mai stabil.
Streaming video live
Prin aceasta metoda voi explica cum se poate face stream video in direct cu un anumit device. Puteti
Folosi o camera web, un tunner tv sau daca nu aveti ce sa atasati la calculator, puteti chiar sa capturati pur si simplu imaginea monitorului sau o anumita portiune din el. In cazul in care folositi o camera web, aceasta trebuie instalata in prealabil corect pt ca sistemul sa o poata detecta cum trebuie, sistemul de operare sa poata vedea driverul de captura. Acelasi lucru este valabil si in cazul tunerului tv.
Fata de transmiterea fisierelor nsv cu metoda anterioara, transmisia live se face mult mai usor. In nsvtools, aplicatia responsabila cu encodarea fisierelor.nsv din metoda anterioara, nsvenc, cu anumiti parametri, poate fi folosita pt transmisie live. Mai exact face encodare in .nsv real time si trimite direct la serverul shoutcast materialul capturat, nu mai salveaza pe hard propriu zis fisierul.nsv. Nu este recomandata folosirea sa intrucat mai exista nsvcap.exe, care este o aplicatie separata, mai stabila si mai complexa, ce se ruleaza normal, nefiind nevoie de deschiderea consolei dos.
Comentam varianta in care aveti o camera web conectata care functioneaza in parametri normali si un microfon de asemeni in stare de functionare. De mentionat faptul ca in cazul in care aveti o camera digitala si o placa firewire corect instalata(poate fi implementata si pe motherboard) win XP o detecteaza by default, nu este nevoie de nimic in plus. Avantajul este diferenta mare calitativa a imaginii fata de un webcam.
In momentul in care lansati aplicatia nsvcap, treceti la configurare: Voi face o scurta trecere in revista a meniurilor, ce trebuie selectat si modificat in ele pt a facet transmisia. Inainte de toate trebuie specificat faptul ca shoutcast server trebuie sa fie online, evident.
Prima data va duceti in File/Set capture Destination unde la Output selectati Shoutcast host, apoi la Shoutcast server scrieti ip-ul , portul, parola din shoutcast, iar in headers sunt parametri de genul celor care se gasesc in fisierul setari.txt din metoda anterioara, dar nu sunt cititi din acel fisier, ci sunt separat.....deci nu aveti nici o treaba cu acel fisier, modificati aici la headers numele, genul si ceilalti parametri daca va intereseaza. Mai departe in meniul devices trebuie sa apara deviceurile atasate la calculator, adica camera web si sound blasterul computerului prin care capturati sunetul cu microfonul. Selectati ambele, placa de sunet si web camul . La Obtions mai trebuie selectat Videoformat unde PUTETI selectata dimensiunea frameului streamului. Mai departe la Capture bifati Capture Audio ca sa aveti sunet, apoi NSV/Config unde sunteti familiarizati cu ce trebuie ales daca ati incercat medoda stremului cu fisiere independente pe care am explicat-o mai sus. Precizez faptul ca acelasi meniu de configurare se poate activa din consola, dar in acel caz setarile se fac pentru stream cu material inregistrat (cu nsvscsrc). Pentru activarea aceluiasi meniu pentru stream live (subiectul discutiei de la acest capitol) activati meniul de aici din nsvcap! Modificati in acel meniu setarile codecurilor audio/video exact ca in cazul transmisiei cu fisiere locale cum am explicat MAI SUS. Cam asta e tot, pentru inceperea transmisiei, selectati din meniu Capture/Start capture si transmisia a inceput! Faceti proba sa vedeti daca nu ati gresit ceva punand streamul in winamp, vedeti AICI.
Cu aceasta metoda ati realizat un stream la un bitrate mic de o calitate EXCEPTIONALA comparativ cu cea pe care o poate face yahoo messenger. In loc sa faceti stream cum face tot omul cu yahoo messenger "view my cam",care se vede super infect, dati celui care va vizioneaza un link in care ati montat transmisia live in html si efectul e garantat! Totusi, pentru a putea face acest lucru aveti nevoie dupa cum am spus de ip public si de un calculator destul de performant, pentru ca nsvcap face encodarea in timp real ceea ce solicita sistemul foarte mult. Un singur dezavantaj apare cu metoda aceasta de live streaming si anume faptul ca shoutcastul transmite streamul cu un anumit delay, cateodata chiar de cateva secunde...Mai exista si alte servere in afara de shoutcast si anume steamcast sau icecast insa niciunul nu sta prea bine la acest capitol...
Prin aceasta metoda voi explica cum se poate face stream video in direct capturand o portiune de ecran sau chiar tot ecranul monitorului vostru cu CAMTASIA. Aceasta procedura este utila in cazul in care vreti sa faceti un post de radio cu fereastra video, fereastra in care sa apara niste fractali de exemplu, sau altceva......
Downloadati Camtasia, instalati si rulati camtasia studio. Apasati din stanga Record the screen si va deschide Camtasia Recorder unde aparea un wizard. Inchideti-l. Apoi in meniu Tools/Options aveti in tabul Live, "Enable live output" pe care-l bifati. Apoi reactivati wizardul cu Capture/Wizard unde alegeti o portiune de ecran sau intregul ecran,pozitia, dimensiunea ferestrei. In ultimul pas puteti bifa "Disable display acceleration during capture". Dupa ce setarile sunt gata, apasati F10 pentru a incepe captura. In acest mod camtasia recorder transmite captura la nsvcap. Setarile nsvcap raman aceleasi.