[xkliber's lab.oratoire]
12 Oct 2006
Et encore un nouveau billet mais un peu plus court cette fois-ci, après mon long "gros" billet de rouspétage à but d'éveil des consciences d'hier soir (dans l'ordre chronologique, pas dans les catégories).
Et à propos de catégories, voici le premier billet d'une toute nouvelle : "Tapotages".
Elle regroupera, quand j'aurai le temps d'y mettre du contenu qui y vaut un peu le coût, les quelques bouts de codes, scripts, plugins divers, soft variés que j'ai fait et que je ferai, à titre personnel, et que j'aurai envie de mettre en ligne s'ils me semblent plutôt intéressants voire utiles pour d'autres que moi. 🙂
J'inaugure cette catégorie par ...
... un petit script sympa en PHP, de pseudo-streaming, dont je me sert actuellement pour mon player radio en Flash, ici (ou en cliquant sur le lien "Les Playlists du Labo" de la Sidebar) ou encore pour les compositions de TrueBringer là. 🙂
Pourquoi celui-ci et pas un autre ?
Tout simplement parce que ça fait un an que je l'ai mis en place et que ça fait déjà pas mal de personnes qui m'en demandent les sources en me contactant par mail... 😎 😛
Quel est donc son but ?
Et bien, ce script sert avant tout à lire un fichier, mp3 ou autre fichier multimédia de type audio et/ou vidéo, et de l'envoyer sous forme d'un flux, avec des headers (ou "en-têtes") qui plairont bien au navigateur web utilisé afin que les fichiers ne soient pas stockés dans le cache de ce navigateur.
Bref, c'est une mesure de protection contre le piratage.
Plus par soucis de ne pas créer de problèmes aux utilisateurs de players mp3 en Flash mis sur leur site ou leur blog que par vraie volonté d'aller dans le sens des maisons de disques dont le système de fonctionnement serait complètement à revoir à mon avis.
Des problèmes, disais-je ? Oui, des problèmes de droits de diffusion car oui, en fait on est en tort de faire ça nous tous, vis à vis de la SACEM.
Et je crois que 9 personnes sur 10 ne savent pas non plus qu'un coiffeur qui passe dans son salon sa petite compile à sa clientèle doit, en toute logique, payer quelque chose à la SACEM qui le reversera ensuite aux artistes dont on diffuse la musique.
Même s'ils ne se penchent pas encore trop là dessus, tout se renforce, donc j'ai fait ça histoire d'alléger notre cas si jamais ça devait encore pire... :s
En plus, parfois il peut y avoir des abus, je me rappelle justement d'un différent opposant une école, qui avait organisé une kermess, à la SACEM, celle-ci ayant même demander à l'école de payer... 75Ǩ (cf. cet article). ^o)
D'ailleurs, pour "alléger" un peu plus notre cas (en tout cas le mien puisque j'avoue diffuser des mp3 m'appartenant et créés à partir de CDs pour les 3/4 (angel) ), j'avais prévu et commencé de me développer mon propre player Flash qui aurait eu, comme attout, une fonction permettant la promotion de l'artiste dont le titre serait diffusé dessus.
Ce projet est pour l'instant à l'état de repos, dans les cartons, car je n'ai plus trop le temps de m'y mettre mais je m'y remettrai et j'en reparlerai dans cette catégorie. 🙂
A propos de cartons, je suis, moi-même, en plein dedans puisque je vais déménager à la fin du mois donc les news se feront plus épisodiques et aléatoires pendant 1 à 2 mois, mais je t'âcherai d'en faire tout de même. 😉
Si cela vous intéresse, n'hésitez pas à l'utiliser, à me faire vos feedbacks.
Si vous pensez qu'il y'a des choses à revoir, si vous avez des questions, ... n'hésitez pas non plus à me laisser un commentaire ici ou à me contacter en priver. 🙂
Il y'a, tout de même, une petite en-tête explicative dans les fichiers qu'il faudra laisser si vous utilisez mon script quelques part ou dans un éventuel projet pro ou perso, tout comme l'avaient fait, par exemple, les webmasters de http://www.hexalive.com/.
Bref, il y'a un copyright de type creative commons dessus donc allez voir de quoi il s'agit et jouez le jeu.
Si vous voulez l'utiliser pour des choses qui ne sont pas prises en compte par cette licence alors contactez-moi (car, par exemple, ma version 2.0 a servit dans un projet pro de ma boîte).
Bon, d'accord, il s'agit ici d'un script assez court mais relativement efficace et pas si dur que ça à metre en place mais, j'explique tout cela pour le principe.
Ce principe, que je mets en oeuvre ici avec les Licences Creatives Commons, me sert simplement à justifier ma propriété intellectuelle et cela sera le cas pour les autres codes que je mettrais ici et l'est déjà pour les créations graphiques qui sont dans la catégorie Gribouillages. 🙂
Je trouve ça plutôt logique et normal et espère que vous aussi.
Merci donc de votre compréhension. 😉
Bon, j'ai trop parlé. 😛
Voici donc le lien pour télécharger mon "stream_it" qui est en version 1.0 (streaming de fichiers mp3 uniquements) et en version 2.0 (amélioration de la version précédente afin de streamer d'autres fichiers de type audio et/ou vidéo).
Bonne utilisation ! 🙂
via flash.media-box.net :
Merci beaucoup ! 😉
:@ 🙁 NON NON NON Pour moi ce ne fonctionne pas, il laisse les mp3 en cache comment cela se fait ???
*
Salut! C'est une site tres interesant! J'aime bien cet article. Je sais, qu'il y a une site avec les plus neuvelles mp3 chansons. C'est tres interesant!!! [aime]
je ne comprends pas comment utiliser le script avec le player flash...
Dois-je mettre stream_it.php au niveau de mp3player?
pouvez-vous m'aider??
Bien vu l'artiste, super cool je teste ça..
Bonjour,
Pour faire du streaming avec un fichier vidéo, quel soft employé?
quicktime, real player, ou autre?
Dois-je mettre ce soft sur le site web ou bien il est lancé depuis le pc du visiteur ?
merci d'avance de ton aide ( je ne suis pas très doué ... )
@+
Bonsoir,
🙂 , Merci pour les explications, dans un premier temps, je crois que je vais laisser tomber le "vrai streaming" pour me contenter de mettre en ligne les petites vidéos que j'ai.
Je t'ai mis l'adresse du petit site que j'ai créé pour le SPF ( enfin, pour un comité local du SPF ... 😉 )
le script V1.0 ça marche pas pour placer un URL de mp3 , le streamer ça fonctione mais le mp3 doit être dans le même dossier , ya pas qielquechose a modifier dans le script pour executer un mp3 dans un url domain.net/folder/music/s... ?
j'aimerie bien savoir si ça va fonctionner avec cette script probablement ...
Par mail :
Hi
I'de like to say thx for the script stream_it V1.0
I just wonder if you can add to stream an mp3 that i have in other server like this :
stream_it.php?path=http://domain.ltd/mp3files/mymusic.mp3
I wish to get an answer as soon as you can , and thx a lot
best regards
Bonjour!
Ton script m'a l'air très intéressant, sauf que je n'arrive pas à le faire fonctionner, mais je pense que ça doit être un truc tout con.
j'ai fait un lecteur flash minimaliste (extrait.swf) qui charge un mp3 par le biais de la fonction loadsound(fichier,true)
Dans mon html, j'ai simplement:
<object type="application/x-shockwave-flash" data="extrait.swf?fichier=test.mp3" width="38" height="15">
<param name="movie" value="extrait.swf?fichier=test.mp3'" />
</object>
Bon, syntaxiquement je ne vois pas trop comment insérer ton script. J'ai essayé bêtement de changer mon fichier argument comme suit (le mp3 et ton script sont dans le même dossier):
fichier='stream_it.php?path=test.mp3'
Mais ça ne marche pas...
Une idée pour me dépanner?
Bien sûr, je passe par un serveur, (easyPHP1.7 en local pour tester) et le tout dans un fichier PHP, donc ce n'est pas un problème d'interprétation PHP...
En PHP je me débrouille, en flash et actionscript, je débute, donc mon lecteur est limité au strict minimum (un bouton lecture, un d'arrêt et une méthode loadsound pour charger le MP3 qui est passé en argument), le tout seulement pour lire des extraits...
Donc si tu pouvais m'indiquer comment tu as fait avec Jerowind, ce serait hyper cool... 😉
Merci d'avance...
OK, tu n'as qu'à m'envoyer le tout, je vais voir ce que je peux en tirer... En fait d'après ce que j'ai pu voir sur ta radio, ton appel de ton script stream_it.php se fait au au niveau de la playlist XML ou plus bas, non?
PS, cette fois-ci j'ai mis mon mail dans mon commentaire
Bonjour!
Il y a un truc qui doit m'échapper...
Ce que j'ai fait: dans le flash: je récupère le nom du fichier (par XML ou argument venant du HTML, c'est pareil) par exemple, test2.mp3 (dans une variable appelée fichier).
Je concatène ce nom de fichier avec ce qu'il faut c'est à dire:
AudioPath="stream_it.php?path="+fichier;
Je charge ensuite le tout avec la méthode LoadSound:
LoadSound(AudioPath,true);
A priori, pas de bug (tu dois pouvoir tester sur l'adresse web: http://www.synbiotik.com/test_ex... puisque j'entends mon extrait. Le hic, c'est qu'apparement, c'est transparent, puisque je retrouve dans mon cache le fichier mp3 sous la forme: stream_it.php?path=test2.mp3
Bon j'ai essayé en court-circuitant le flash et ne passant que par du PHP, j'arrive à la même conclusion...
Qu'en penses tu?
PS, merci pour le player! 😉
Hello!
En effet, maintenant ça marche...
En fait, depuis que j'ai posté, j'ai bidouillé un peu les headers envoyés et avec les headers suivants, cela semblait fonctionner en local avec EasyPHP, mais pas avec le serveur distant:
header("Expires: -1");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate,post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-Description: File Transfer");
Pourquoi? Je ne sais pas...
Finalement, j'ai réduit la taille des blocs à 512*512... et là ça semble fonctionner: je dois ajouter que mes extraits sont de l'ordre 1MO: c'est peut-être de là que venait l problème...
Désolé si je répète certains commentaires, je n'ai pas tout tout lu.
Dans ma quête d'une sécurisation de diffusion de contenu vidéo, je suis tombé sur votre site. Malheureusement il ne m'apporte rien sur ce point par rapport à ce que propose http://www.rich-media-project.co... ou encore http://www.inwayvideo.com/phpflv...
Mais sous Firefox en 2 ou 3 clics n'importe quelle musique de votre player est téléchargeable (sympathique liste soit dit en passant). Sous IE la "non mise en cache" fonctionne apparemment. Mais un simple plugin de débuggage suffirait (si ça existe pour IE !!) comme avec FF. Le path du fichier mp3 est transmis, de plus la taille du fichier php le traitant est disproportionnée pour ne pas étonner (équivaut à la taille du mp3 en fait, il suffit de changer l'extension).
En espérant voir un jour une réelle protection aussi simple à mettre en place.
Je n'ai trouver pour l'instant que le Flash Media Server proposant (à priori) une réelle protection (à 5000Ǩ la licence on peut l'espérer !!), mais également, et je m'en vais de ce pas le tester, le projet opensource concurrent : Red5 (http://www.osflash.org/red5), qui devrait permettre quelques menus économies.
En espérant avoir apporter un complément d'information au sujet.
Loïc 🙂
J'ai reparcouru un peu les posts et effectivement je répète un peu une des réponses. Au temps pour moi. :-/
Magnifique script, petit, mais vraiment ce que je cherchais ! Merci Beaucoup !! [aime]
Un rapide mot de ma part pour dire que, depuis la migration que j'ai faite de DotClear à WordPress, je n'ai pas pu récupérer tous les commentaires que je laissais en réponse, avec un plugin spécial pour Dotclear ... je me ferai un script SQL (pour les connaisseurs) pour les récupérer et les réinjecter sous forme de vrais commentaire dans ma nouvelle base de données pour WordPress.
(Vu que j'avais pour habitude de répondre à quasiment tous les commentaires, il va y avoir du contenu ...)