Vlc vod streaming mosaique

Description

J'ai galéré pas mal de temps a faire une mosaique (mosaic) avec VLC.
Le code permets donc la diffusion de vidéo de 3 manieres différentes:
VOD: Vidéo à la demande (que l'on pourrais améliorer avec une BDR pour valider la connection de l'utilisateur, son forfait, et le cout de chaque film)
la télévision: diffusion en multicast de vidéo avec reconstitution sous VLC (a confirmer si celle ci s'execute bien cote client et non serveur. Dur de le valide en local avec easyphp)
le streaming (a venir).

Grosse inspiration de tout ce qui est proposé sur http://wiki.videolan.org/Mosaic
mais le tout mis en forme en php.

Le code est facilement adaptable sous linux: il faudra juste
1- remplacer
$WshShell = new COM("WScript.Shell"); & $oExec = $WshShell->Run($var,7,false);
par
exec($var." --deamon");
2- l'arret de VLC avec la commande killall vlc

N'oublie pas d'apadter les les chemin d'accés (tous regroupés dans le fichier haut.php)

Il suffira de mettre quelques video au format mpeg dans le repertoire pour que ca fonctionne.
!! Attention pour le multicast, les fichier sont ré-encoder en DIV3 ne mettez pas trop de vidéo si votre PC n'est pas une bete de course (Chez moi 3 vidéo et mon Pentium double coeur 2.5Go est à 70% et 1.3GO de RAM utilisé voir 92% et 1.4Go lors de la visu complete avec VLC)

Source / Exemple :


pour la VOD:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run($RepVlc."vlc.exe --intf telnet --telnet-port 4212 --telnet-password admin",7,false);
puis la connection en telnet:
$socket = fsockopen($IPtelnet,"4212", $errno, $errstr, 10);

Pour la mosaique:
$var=$RepVlc."vlc.exe -v ".$RepMosaic."\\".$FilmName[$i]." :sout=".$Encodage.":duplicate{dst=udp{dst=".$IP_diffusion.":".$Port_diff."},dst=display}:bridge-in:display";
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run($var,7,false);

Concernant la visualisation de la mosaique sous VLC, le code et le fichier vlm.conf est valable pour VLC2.0.
Je mets a jour demain la source pour VLC1.0

Conclusion :


En esperant que ca puisse servir à d'autre.

Pensez à mettre qques vidéo dans le répertoire.
Modifiez les variables $RepVOD, $RepVlc, $RepMosaic, $RepVlc, $IP_serveur, $IP_diffusion
Verifiez si vous avez bien le codec DIV3: variable $Encodage

N'hesitez pas a donner vos avis...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.