Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

POUR LES UTILISATEUR DE DARWIN STREAMING SERVER (OU QTSS)


Information sur la source

Description

Ce code servira à tous les utilisateurs de Darwin Streaming Server ou QuickTime Streaming Server.
Dans une utilisation du serveur en mode Live (et non pas à la demande), ce code permet savoir ce qui est diffusé au moment où l'on arrive sur la page, de récupérer la playlist et d'autres petites informations.

Ce code a été testé avec Darwin 5.5 et uniquement sous linux (debian et mandriva).
Pour que le code fonctionne, vous devez disposer des droits de lecture du repertoire et des fichier de "/var/streaming/playlists" (voir le repertoire dans la doc selon la version et l'os).

le paramètrage du code est simple : il faut renseigner les 2 premières lignes en donnant le nom de la playlist et le repertoire des fichiers d'information de DSS (par défaut /var/streaming/playlists).

Ensuite, il suffit de mettre ce code au début de la page. Il créera 2 variables de type array : $dss_current et $dss_playlist.

Voir en dessous du code pour plus d'explication
 

Source

  • <?php
  • // Définition des chemins des fichiers
  • $name_playlist="nom_playlist";
  • $dir="/var/streaming/playlists/$name_playlist";
  • $current=$dir."/".$name_playlist.".current";
  • $playlist=$dir."/".$name_playlist.".playlist";
  • // Récupération des données
  • ##### le fichier multimédia courant (en train d'être diffusé) #####
  • if (is_readable($current)) {
  • $tmp_current=file($current);
  • //traitement des données
  • $path=trim(substr($tmp_current[0],strpos($tmp_current[0],"/")));
  • $name=trim(substr($tmp_current[0],strrpos($tmp_current[0],"/")+1));
  • $debut=trim(substr($tmp_current[1],strpos($tmp_current[1]," ")+1));
  • $debut=substr($debut,0,strpos($debut," "));
  • $fin=trim(substr($tmp_current[2],strpos($tmp_current[2]," ")+1));
  • $fin=substr($fin,0,strpos($fin," "));
  • $duree=substr($tmp_current[3],strpos($tmp_current[3]," ")+1);
  • $duree=substr($duree,0,strpos($duree," "));
  • $dss_current=array(0=>$path,'path'=>$path,
  • 1=>$name,'name'=>$name,
  • 2=>$debut,'debut'=>$debut,
  • 3=>$fin,'fin'=>$fin,
  • 4=>$duree,'duree'=>$duree);
  • }else{
  • echo "Le fichier $current n'est pas accessible";
  • }
  • ##### La playlist complète ####
  • if(is_readable($playlist)){
  • $tmp_playlist=file($playlist);
  • }else{
  • echo "Le fichier $playlist n'est pas accessible";
  • }
  • for($i=4;$i<sizeof($tmp_playlist);$i++){
  • $j=$i-4;
  • $dss_playlist['path'][$j]=substr($tmp_playlist[$i],strpos($tmp_playlist[$i],"\"")+1,strrpos($tmp_playlist[$i],"\"")-1);
  • $dss_playlist['name'][$j]=substr($dss_playlist['path'][$j],strrpos($dss_playlist['path'][$j],"/")+1);
  • }
  • //détruit les variables temporaires
  • unset($tmp_current, $tmp_playlist);
  • ?>
<?php

//    Définition des chemins des fichiers

$name_playlist="nom_playlist";
$dir="/var/streaming/playlists/$name_playlist";

$current=$dir."/".$name_playlist.".current";
$playlist=$dir."/".$name_playlist.".playlist";

// Récupération des données

#####  le fichier multimédia courant (en train d'être diffusé) #####
if (is_readable($current)) {
		$tmp_current=file($current);
		
		//traitement des données
		$path=trim(substr($tmp_current[0],strpos($tmp_current[0],"/")));
		$name=trim(substr($tmp_current[0],strrpos($tmp_current[0],"/")+1));
		
		$debut=trim(substr($tmp_current[1],strpos($tmp_current[1]," ")+1));
		$debut=substr($debut,0,strpos($debut," "));
		
		$fin=trim(substr($tmp_current[2],strpos($tmp_current[2]," ")+1));
		$fin=substr($fin,0,strpos($fin," "));
		
		$duree=substr($tmp_current[3],strpos($tmp_current[3]," ")+1);
		$duree=substr($duree,0,strpos($duree," "));
		
		$dss_current=array(0=>$path,'path'=>$path,
						   1=>$name,'name'=>$name,
						   2=>$debut,'debut'=>$debut,
						   3=>$fin,'fin'=>$fin,
						   4=>$duree,'duree'=>$duree);

}else{
	echo "Le fichier $current n'est pas accessible";
}

#####  La playlist complète  ####
if(is_readable($playlist)){
		$tmp_playlist=file($playlist);
}else{
	echo "Le fichier $playlist n'est pas accessible";
}
for($i=4;$i<sizeof($tmp_playlist);$i++){
	$j=$i-4;
	
	$dss_playlist['path'][$j]=substr($tmp_playlist[$i],strpos($tmp_playlist[$i],"\"")+1,strrpos($tmp_playlist[$i],"\"")-1);
	$dss_playlist['name'][$j]=substr($dss_playlist['path'][$j],strrpos($dss_playlist['path'][$j],"/")+1);
}

//détruit les variables temporaires
unset($tmp_current, $tmp_playlist);
?>

Conclusion

$dss_current : tableau accessible par indice ou en assoc :
    [0]=['path'] => Chemin complet du fichier courant (/usr/local/movies/sample.mov)
    [1]=['name'] => Nom du fichier courant (sample.mov)
    [2]=['debut'] => Date du début de la lecture en timestamp Unix (1171542513)
    [3]=['fin'] => Date de fin de la lecture en timestamp Unix (1171544251)
    [4]=['duree'] => Duree du fichier multimedia en timestamp Unix (770)

$dss_playlist : tableau multidimensionnel (2)
    $dss_playlist['path'][0] -> $dss_playlist['path'][n] => Chemin complet de tous les fichiers de la playlist
    $dss_playlist['name'][0] -> $dss_playlist['name'][n] => Nom de tous les fichiers de la playlist

Voilà pour récupérer les infos.

NB: J'ai réalisé ce code rapidement et il doit surement être facilement améliorable. Soyez indulgents SVP.
 

Commentaires et avis

signaler à un administrateur
Commentaire de wizad le 09/05/2006 21:09:19

Il est préférable (et plus rapide) d'utilise les guillemets simple pour les chaines de caractère (hors requète sql)

exemple :
echo "Le fichier $current n'est pas accessible";
devient
echo 'Le fichier '.$current.' n\'est pas accessible'; => c'est mieux (bon faut juste échapper les apostophes).

signaler à un administrateur
Commentaire de NewSky le 17/05/2006 17:19:49

Désolé, mais y'a un forum pour ce genre de questions.
Merci.

signaler à un administrateur
Commentaire de NewSky le 17/05/2006 17:23:28

C bizarre!! Juste avant de déposer le commentaire précédent, il y avait une question sans rapport avec le code! J'ai donc renvoyé un commentaire et cette question a disparu!! Beug??!!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Streaming video [ par jbouv55151 ] Salut a tous,J'ai une vidéo en wmv et j'aimerais savoir comment faire pour faire un une page en streaming comme les bande-annonce sur allo ciné.Si qq1 Decoupe et compression de video [ par Yaug ] Voila, je doit uploader des vid&#233;o (ca c'est bon) mais ensuite je doit couper ces vid&#233;os au bout d'une certain temps, les redimensionner et l php et video? [ par stroubinou ] Bonjour, Je sais pas si ca existe, mais j'aurais aim&#233; utiliser une librairie style gd mais au lieu de se servir des photos, qui se sert des vide redirection auto a la fin d'une video [ par joebuz ] bonjour,voila j'ai une video sur une page d'intro,elle se lance automatiquement, mais je souhaiterais qu'a la fin de la video le visiteur soit redirig affichage d'une video [ par joebuz ] bonjour,je souhaiterais afficher une video sur une page HTML (ou autre).Pour l'instant j'utilise ce script :&lt;embed src="film.wmv" width="320" heigh PHP et les videos [ par morpheus262 ] Salut, &nbsp; voila j aimerai savoir quels sont les posibilit&#233; du php avec les videos, je m explique est que php serait capable par un moyen ou u Recheche source php pour diffuser de la video sur le net [ par lunnatick ] Bonjour je recheche source php pour diffuser de la video sur le net.Quelqu'un peut-il m'aiguyer ? Probleme d'upload d'une video de 8 Mo [ par shuuutup ] Bonjour &#224; tous, J'ai un petit pb avec l'upload. En fait, j'ai un espace admin ou le webmaster peut ajouter des photos et des videos sur son video conference [ par ManuAntibes ] Salut Je voudrais mettre une video conference sur mon site. comment faire.Merci MANUANTIBES [help] url absolue [ par valybre ] Bonjourdans mon site web, je propose des vid&#233;os &#224; visionner directement mais je veux aussi pouvoir proposer le t&#233;l&#233;chargement de c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.