Wednesday, July 10, 2013

Utilizarea scriptului AdobeHDS.php pentru streaming TV

In prima faza, cerinta de baza este de a instala pe calculator programul PHP Server. Pina la PHP 5.3 autorii au facut si installer (fisier .msi, executabil), de la PHP 5.4 in sus au scos numai arhive al caror continut utilizatorul si-l poate copia in orice folder si locatie doreste.

1. Daca optati pentru versiunea mai veche si pentru installerul aferent (Windows installer-ul se gaseste pe pagina http://windows.php.net/download/ - undeva in jumatatea de jos a paginii), fisierele vor fi trimise in systemdrive:/Program Files/PHP. Daca alegeti zip-ul ( http://windows.php.net/downloads/releases/php-5.4.17-Win32-VC9-x86.zip ), e recomandabil sa-l copiati intr-un folder simplu - de pilda faceti pe C:/ un folder cu denumirea PHP.

2. Odata continutul arhivei copiat pe harddisc, luati un fisier PHP.ini de aici - http://www.mediafire.com/file/73pmlxqeuwdwdep/PHP.ini - si copiati-l in respectivul folder.

3. Dupa aceasta operatiune, click dreapta pe "My Computer", mergeti la Properties (System) / Advanced settings / Advanced/ Environment variables, si in meniul "System variables" selectati optiunea "Path" - Edit - si adaugati in coada ;C:\PHP sau ;C:\Program Files\PHP, depinde unde e folderul cu pricina.

4. Daca setarile sint facute corect, deschizind un command prompt (Run - cmd), si scriind comanda php -v veti primi un raspuns de genul:
PHP 5.4.13 (cli) (built: Mar 15 2013 02:07:14)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies


5. Acuma mergeti la pagina
https://raw.github.com/K-S-V/Scripts/master/AdobeHDS.php
si "save as" AdobeHDS.php

6. Odata fisierul "AdobeHDS.php" este salvat pe harddisc, il mutati in folderul "PHP", recent creat

7. Acum e momentul testelor. Cream un fisier .bat (un text cu continutul care urmeaza, pe care il salvam sub denumirea Run.bat) in care inseram comenzile necesare reproducerii unui stream HDS prin intermediul player-ului indicat de noi (deocamdata in sensul asta pe Windows functioneaza numai VLC, Mplayer si FFplay, insa ele ofera destule optiuni pentru a satisface pe toata lumea).

php AdobeHDS.php --manifest "http://82.76.249.75/digiedge/livehlsdigisport1hq/manifest.f4m" --proxy 86.123.225.126:8080 --fproxy --play | "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --file-caching=30000 -

Exemplul de comanda dat de mine mai sus este un exemplu pentru rularea stream-ului TV Digisport 1, trecut printr-un proxy al providerului Rdsnet, in playerul VLC. Recomand folosirea ultimei versiuni de player VLC (2.0.7), pentru ca autorii programului au mai rezolvat unele probleme de buffering. Comanda --fproxy, ulterioara comenzii --proxy e importanta pentru ca impune scriptului sa treaca toate fragmentele de stream prin proxy-ul respectiv, altminteri n-ar trece decit header-ul playlist-ului. De asemenea comanda --file-caching este una utila, ea servind la realizarea unui buffer local pentru streamul la care ne-am conectat. Un buffer de 30000 msec (30 de secunde) este util daca streamul are bitrate mare si proxy-ul nu are viteza constanta. E indicat sa folositi, desigur, un proxy de mare viteza, daca dispuneti de asa ceva. In cazul streamului Digisport, atrag atentia asupra unui blocaj inerent la secunda 45, blocaj care poate dura pina la 20-30 de secunde; este vorba despre tranzitia de la fisierele pre-indicate in playlist-ul f4m la streamul real. Daca stream-ul se misca, totusi, greu, inseamna ca proxy-ul este foarte slow, si e recomandabil sa incercati si varianta media (cu bitrate mai mic) a streamului, si anume:
http://82.76.249.75/digiedge/livehlsdigisport1mq/manifest.f4m

Tutorialul autorului acestui script (KSV) este prezent pe aceasta pagina - https://github.com/K-S-V/Scripts/wiki - asta in cazul in care doriti sa aflati si alte comenzi utile.

Spor la streaming!

No comments:

Post a Comment