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 !

Sujet : Stream/double utilisation de fichier [ Archives / Scripting ] (S333)

mardi 19 juillet 2005 à 23:04:08 | Stream/double utilisation de fichier

S333

Bonjour amis Mirceurs... hum...
Je suis en train de créer une radio(j'en ai déjà  fait une en utilisant nhtmln etc.. mais bon c'est pas très difficile...). Je me suis lancé dans le streaming des radio shoutcast(les plus fréquentes...) = winamp.
J'ai fait cela de 2 manière :
1) nous sommes la radio... ça je boss encore la dessus, ça marche mais les titres ne s'enchainent pas...
2) Nous sommes clients ou auditeurs et là j'ai un problème.
Je reçois le stream(flux de donné) par socket tcp. Je l'enregistre dans un fichier stream.mp3(utilisation de bwrite)
Cependant, lorsque je veux bien sur écouter la radio avec un simple /splay stream.mp3
bwrite fonctionne mais s'affiche alors en boucle, à l'écran :

* /bwrite: unable to open 'H:*****\stream.mp3'

J'ai aussi essayé avec les file handling (/fopen fwrite etc...) mais sans succès et sans son en plus ^^.


Alors voilà, si quelqu'un a une idée pour pouvoir écouter le fichier même si celui ci est en train d'être modifié, je suis preneur.

Merci
--------------------------------------------
Signature des parents :

mercredi 20 juillet 2005 à 08:42:21 | Re : Stream/double utilisation de fichier

tofu

Membre Club
j'avais fais une remote pour écouter les radios shoutcast en live, jss au taff tte la journée, je look ça ce soir si j'ai encore. ça serait pas le -1 que t'as zappé en début de bwrite pour écrire à la fin du fichier?

      -= 1337 connexion =-


mercredi 20 juillet 2005 à 08:49:57 | Re : Stream/double utilisation de fichier

PaDa

Membre Club
T'aurais pas un path avec espaces sinon ? :p
PaDa

mercredi 20 juillet 2005 à 12:54:08 | Re : Stream/double utilisation de fichier

S333

Non aux 2 :) le -1 je l'ai mis, les espacesn je fais sans car j'écris directement bwrite stream.mp3
Le problème vien du fait que je le joue avec /splay et que j'essaie d'écrire dedans...

Je vais chercher encore un autre moyen...
Merci Tofu, si tu trouves bah je ne ferais pas la remote, mais ça m aidera pour plus tard :)

------------------------------------
Signature des parents :

mercredi 20 juillet 2005 à 17:44:31 | Re : Stream/double utilisation de fichier

Huitre

Réponse acceptée !
Hum tous les x octets, fais une instance de ton fichier stream.mp3 et tu /splay avec la position precedente.
Avec ce systeme de double fichier, ca permettra de contourner le probleme de droit d ouvertue du /Splay.



mercredi 20 juillet 2005 à 19:37:53 | Re : Stream/double utilisation de fichier

S333

En effet Huitre ça marche bien comme ça :)
J'ai mis 1Mo par changement, et ça marche plutot bien, sauf que bien sur, il y a une coupure de 1sec à chaque fois que l'on change de fichier de lecture...
Je pense qu'il y a une façon d'optimiser le fonctionnement en fonction de la connection, de la réception, car il se passe un peu moins de une minute entre le moment où j'arrète le stream et la fin du mp3... enfin ça dépend de la qualité ensuite... donc c'est plutot compliqué à la fin.

Merci :)

Si vous voulez que je post le code, Z'avez qu'à demander ^^
---------------------------------------
Signature des parents :

vendredi 22 juillet 2005 à 10:51:12 | Re : Stream/double utilisation de fichier

Zova

Salut je trouve l'idée plutôt interessente si tu pouvai poster le code de façon à voir un peu tout comment ça marche ça serai pas mal.. merci d'avance et bonne continuation pour ce projet qui m'a l'air assez prenant lol.

vendredi 22 juillet 2005 à 17:11:28 | Re : Stream/double utilisation de fichier

S333

on *:sockopen:stream:{
  if ($sockerr) { echo -a Stream erreur | return }
  sockwrite -tn stream GET / HTTP/1.1
; requete du stream remplacez / par /lenom si c'est de la forme 127.0.0.1:8000/lenom
  sockwrite -tn stream Host: $sock($sockname).ip
;ip du stream (je sais pas sir $sock... marchera à chaque coup)
  sockwrite -tn stream User-Agent: WinampMPEG/5.0
  sockwrite -tn stream Accept: */*
  sockwrite -tn stream Connection: close
  sockwrite -tn stream $crlf
  set %stream.oct 1
}
on 1:sockread:fuck:{
  bunset &stream
  sockread &stream
  var %stream = $calc($file(stream.mp3).size - %stream.oct)
; on calcule le nombre d'octets ajouté depuis la dernière instance de stream.mp3
  bwrite stream.mp3 -1 -1 &stream
;on écrit les valeurs dans stream.mp3
  if ( %stream >= 1000000 ) {
; si l'on a ajouté plus de 1Mo, on crée le fichier d'instance (la valeur de 1Mo est modifiable...mais une valeur basse bloque mirc)
    var %songpos = $insong.pos
    splay stop
    if (%newstream) .remove %newstream
; on suprimme la dernière instance
var %ancstream = %newstream
while (%ancstream = %newstream) {
    set %newstream $+(stream,$r(1,99999),.mp3)
}
; on crée une nouvelle instance
    .copy stream.mp3 %newstream
; on y met les informations
    set %stream.oct $file(stream.mp3).size
    splay %newstream %songpos
;Play ;)
  }
}

Je pense qu'il n'est pas nécessaire de créer une instance et de la supprimmer ensuite pour recréer... je sais pas :/ j'ai pas testé autrement!
Je pense qu'en mettant le fichier stream.mp3 en file handling, la vitesse d'exécution serait meilleure aussi... à voir :)


---------------------------------------
Signature des parents :



Cette discussion est classé dans : fichier, utilisation, stream, radio, mp3


Répondre à ce message

Sujets en rapport avec ce message

Probléme fichier mp3 [ par Raziell ] Bonjour à tous,J'ai créé un lecteur mp3, mais je n'arrive pas a faire " lire " mIRC les fichier .mp3 un par un !Si quelqu'un sais comment il faut fair lecture dans un fichier et valeur binaire [ par dj328i ] Voila , j'ai commencer a regarder pour bread , bwrite $bvar() et compagnie mais la je suis franchement embêter :\ quand j'essaie de lire dans un fichi Pour Wims, Stream radio [ par S333 ] on *:sockopen:stream:{   if (!$sockerr) {   sockwrite -tn stream GET / HTTP/1.1   sockwrite -tn stream Host: 213.251.129.25   sockwrite -tn stream Remote mp3 et commande play fichier.txt [ par PALOMETTE ] BonjourJ'ai installé un lecteur mp3 en remote qui fonctionne correctement.Le problème, c 'est que je ne peux plus utiliser la commande /play fichier.t Fichier *.ini [ par Panthouffle ] Bonjour,Y aurait t-il moyen de récupérer le nombre de sections ainsi que le nombre d'items dans chacunes des sections dans un fichier *.ini ?Merci d'a Passer une playlist d'une radio sur iRC [ par koskos ] Bonjour à tous!Voilà, j'ai essayé des remotes étant déjà sur ce site pour diffuser le titre d'une musique sur irc, par exemple:lorsque l'on tape: !tit Fichier En Post Data [ par Lestat_2070 ] Bonjour Je m'initie un peu à l'utilisation des sockets, des cookies, du "POST", "GET" & co. J'ai fait quelques essais assez réussis pour essayer de bi Comment copier coller un fichier.txt d un dossier a un autre [ par n0man ] Bonjour Actuelment pour m' essayer au hash table, j ai décidé de faire un script qui chargeras et déchargeras des addons avec systeme de backup des faire un timer pour un $read [ par Temp_Area ] Bonjours,Je voudrais faire un espece de Timer pour pouvoir lire plusieur ligne dans un fichier...J'ai chercher sur ce forum et j'ai trouvé un code, do Variables [ par GenerationNoNNoN ] Bonjour à tous, je vous explique mon problème en espérant que vous me comprendrez,Je chercher a récupérer toutes les variables comme %vvAAA %vvZEETR(v


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,281 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é.