Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

(Python) Lecture d'un stream à partir d'un fichier sur le web ?



  1. #1
    jepoirrier

    Question (Python) Lecture d'un stream à partir d'un fichier sur le web ?

    Bonjour,

    Je cherche à lire un stream en python.

    Si le stream à lire sort d'un port d'un hôte, c'est très facile. Le code de la documentation Python suffit :
    Code:
    HOST = 'host.com'
    PORT = 8000
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    data = s.recv(1024)
    s.close()
    print 'Received', repr(data)
    Maintenant, je cherche à lire un stream audio à partir d'un fichier (et pas simplement un hôte). L'URL complète est (par exemple) : http://streaming.rtbf.be:8000/pure128x8558

    J'ai essayé ceci mais çà ne fonctionne pas :
    Code:
    import socket
    INHOST = "streaming.rtbf.be"
    INPORT = 8000
    INPATH = "/pure128x8558"
    
    inSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    inSock.connect((INHOST, INPORT))
    # pour recevoir l'info à partir du fichier voulu en HTTP (marche pas ?) :
    inSock.send("GET " + INPATH + "HTTP/1.0\r\nHost: " + INHOST + "\r\n\r\n")
    
    i = 0
    while i <= 10:
        data = inSock.recv(2048)
        if not data:
            print "no data, i = " + str(i)
            break
        print str(i) + ". Read ", len(data), " bytes"
        i = i + 1
    
    inSock.close()
    Je n'arrive qu'à recevoir aucune donnée. Est-ce que quelqu'un pourrait me dire ce qui ne va pas dans mon code ?

    Un grand merci d'avance.

    -----


  2. #2
    transhuman

    Re : (Python) Lecture d'un stream à partir d'un fichier sur le web ?

    Bonsoir,

    as tu testé séparémment la bonne exécution de :
    inSock.connect((INHOST, INPORT)) puis de inSock.send("GET " ....) ?

  3. #3
    jepoirrier

    Re : (Python) Lecture d'un stream à partir d'un fichier sur le web ?

    Oui, merci Transhuman. L'erreur venait simplement du fait que j'avais oublié un espace dans la ligne suivante (présentée ici avec l'espace) :
    Code:
    inSock.send("GET " + INPATH + " HTTP/1.0\r\nHost: " + INHOST + "\r\n\r\n")
    Pour ceux qui seraient intéressés, cette partie de script fait partie d'un redirecteur de flux pour écouter la radio sur le net : voir mon blog.

Discussions similaires

  1. Réalisation d'un oscillo basique sur PC à partir d'un multimètre
    Par michel5002 dans le forum Électronique
    Réponses: 6
    Dernier message: 15/02/2007, 19h15
  2. Restauration à partir d'un fichier backup
    Par oursgenial dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 21/02/2006, 17h14
  3. Isoler une région d'un génome à partir d'un BAC
    Par Djelaba dans le forum Biologie
    Réponses: 8
    Dernier message: 04/01/2006, 17h39
  4. probleme de lecture d'un fichier video
    Par fredrik dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 12/08/2004, 22h50
  5. Crée une Alimentation 12va partir d'un ALIM d'UN PC
    Par jujux61 dans le forum Électronique
    Réponses: 5
    Dernier message: 28/11/2003, 13h16