Forum général.général Free multiposte et vlc

Posté par  .
Étiquettes : aucune
1
25
déc.
2005
bonjour,

comme vous devez le savoir, free propose depuis samedi matin la possibilité de regarder la tv sur son pc via le réseau.

si je poste ici, c'est parce que j'ai un petit soucis : j'arrive pas à recevoir la tv convenablement sur mon pc.

voilà la situation : je suis sous ubuntu, je n'ai pas de firewall et j'ai la version de vlc compatible avec le freeplayer (VLC media player 0.8.4-fbx-2 freeplayer).
quand j'ouvre vlc, que je vais dans "ouvrir un fichier avancé" et que je mets l'adresse de la playlist (http://mafreebox.freebox.fr/freeboxtv/playlist.m3u), il plante. en lançant vlc dans le terminal avec l'url de la playlist en argument, pour chaque chaîne, il m'affiche le message suivant : "[00000XXX] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/freeboxtv/YYY'".
maintenant, quand j'essaie avec mplayer et que je lui demande d'ouvrir un flux réseau et que je lui passe l'adresse de la playlist, ça marche. sauf que je n'ai que la première chaîne, sans possibilité de changer (et là ça m'embête, parce qu'il y a le jour du seigneur sur la 2 :))
la seule possibilité que j'ai de choisir ma chaîne est de faire :
'mplayer rtsp://mafreebox.freebox.fr/freeboxtv/xxx' où xxx est le numéro de la chaîne que je veux regarder. je le récupère en ouvrant le fichier playlist.m3u avec mon éditeur préféré (vim).

si quelqu'un peut m'aider, ça m'aiderait beaucoup.

merci d'avance et bonne fête à tous.
  • # Vive free

    Posté par  (site web personnel) . Évalué à 2.

    Pour vlc faut un vlc qui supporte le rtsp et j'ai pas été foutu de savoir c'est quoi l'option de compilation pour que ca marche
    Pour le mplayer j'ai fait un ch'ti script à mettre dans /usr/bin/fbxplay (et pis +x)
    ------------debut------------
    #!/bin/bash

    mplayer -ao alsa $(grep -iA 1 "$*" /home/me/tmp/playlist.m3u |tail -n 1)
    -----------fin----------
    Remplacer /home/me/tmp/playlist.m3u vers ou est le fichier playlist.m3u (que t'as préalablement téléchargé, tu peux aussi remplacer ca par un appel à curl |legrep pour etre à jour enfin bref)
    et maintenant t u peux faire par exemple
    fbxplay france 2
    et hop t'as france 2 :)
    Donc y a pas besoin de guillements pour les arguments, (le $* est la pour ca), et il se fiche de la casse (le -i à grep)
    Sinon le -ao alsa c'est parce que mplayer prend oss par défaut et que pour avoir plusieurs sons à la fois pas le choix :)
    • [^] # Re: Vive free

      Posté par  . Évalué à 1.

      merci beaucoup.
      faut juste faire attention à ne pas utiliser une occurence commune à deux chaînes. exemple : fbxplayer news va trouver euronews et freenews et s'emmèlera les pinceaux :)
      • [^] # Re: Vive free

        Posté par  (site web personnel) . Évalué à 2.

        Ben il prend le premier qu'il trouve et mets le 2° à la suite si le 1° meurt quoi
        Bon sinon ca va etre pratique ce soir ce machin
        je pourais enregistrer la marche de l'empereur, l'histoire sans fin 2 et pis avec ma carte TV en meme temps je pourais enregistrer asterix :) (bon je vais faire des tests préliminaires savoir si mon disque arrivera à suivre)
    • [^] # Re: Vive free

      Posté par  . Évalué à -1.

      merci beaucoup.
      faut juste faire attention à ne pas utiliser une occurence commune à deux chaînes. exemple : fbxplayer news va trouver euronews et freenews et s'emmèlera les pinceaux :)
      • [^] # Re: Vive free

        Posté par  . Évalué à 1.

        pendant qu'on y est, peut être peux tu me dire comment faire pour enregistrer avec mplayer. j'ai du mal à utiliser l'option -dumpstream chez moi et dumpvideo n'enregistre que l'image.
        • [^] # Re: Vive free

          Posté par  (site web personnel) . Évalué à 2.

          mencoder -oac copy -ovc copy -o blabla.avi

          Pas la peine de me dire que du mpeg2 dans un avi c'est bizarre, c'est comme ca point barre!
          si tu veux un format mpeg (mais c'est marqué experimental ou un truc du genre)
          mencoder -oac copy -ovc copy -of mpeg -o blalba.mpg
          (Bon j'ai la flemme de re-vérififer ce que j'ai dit mais c'est sur à 98%)
    • [^] # Re: Vive free

      Posté par  . Évalué à 4.

      Sinon le -ao alsa c'est parce que mplayer prend oss par défaut
      Si on utilise qu'alsa, il suffit de modifier l'option ao du mplayer.conf général ou de son .mplayer/config
      ao = alsa
      Plus besoin ensuite de le préciser dans la ligne de commande.
    • [^] # Re: Vive free

      Posté par  . Évalué à 3.

      Pour vlc faut un vlc qui supporte le rtsp et j'ai pas été foutu de savoir c'est quoi l'option de compilation pour que ca marche


      vlc --list |grep livedotcom

      VLC utilises la librairie de live555.com pour recevoir le rtsp (ancienement live.com d'où le nom)
    • [^] # Re: Vive free

      Posté par  . Évalué à 2.

      Je sais pas comment tu fais pour faire marcher le FreeMultiPoste avec Mplayer, perso ca me donne cela :

      $ mplayer "rtsp://mafreebox.freebox.fr/freeboxtv/201"
      MPlayer 1.0pre7-3.3.5 (C) 2000-2005 MPlayer Team
      CPU: Intel Pentium 4/Xeon/Celeron Foster (Family: 8, Stepping: 4)
      Detected cache-line size is 64 bytes
      MMX2 supported but disabled
      SSE2 supported but disabled
      CPUflags: MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
      Compiled for x86 CPU with extensions: MMX SSE

      73 audio & 180 video codecs
      Failed to open /dev/rtc: Permission denied (it should be readable by the user.)
      Opening joystick device /dev/input/js0
      Can't open joystick device /dev/input/js0 : Permission denied
      Can't init input joystick
      Setting up LIRC support...
      mplayer: could not connect to socket
      mplayer: No such file or directory
      Failed to open LIRC support.
      You will not be able to use your remote control.
      Playing rtsp://mafreebox.freebox.fr/freeboxtv/201.
      Resolving mafreebox.freebox.fr for AF_INET6...
      Couldn't resolve name for AF_INET6: mafreebox.freebox.fr
      Resolving mafreebox.freebox.fr for AF_INET...
      Connecting to server mafreebox.freebox.fr[212.27.38.253]:554 ...
      rtsp_session: Not a Real server. Server type is 'fbxrtspd/1.0 Freebox minimal RTSP server'.
      Not a Realmedia rtsp url. Trying standard rtsp protocol.
      Connected to server: mafreebox.freebox.fr
      This stream is non-cacheable
      Stream not seekable!
      Initiated "video/MP2T" RTP subsession
      ( timeout-loop ...)


      Au niveau strace pendant le timeout-loop :

      gettimeofday({1135529186, 660771}, {4294967236, 0}) = 0
      gettimeofday({1135529186, 661010}, {4294967236, 0}) = 0
      setsockopt(6, SOL_IP, IP_MULTICAST_TTL, "\xff", 1) = 0
      sendto(6, "\x80\xc9\x00\x01\x03\xda\xa3\x30\x81\xca\x00\x04\x03\xda"..., 28, 0, {sa_family=AF_INET, sin_port=htons(32773), sin_addr=inet_addr("212.27.38.253")}, 16) =28
      getsockname(6, {sa_family=AF_INET, sin_port=htons(32797), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
      gettimeofday({1135529186, 662331}, {4294967236, 0}) = 0
      gettimeofday({1135529186, 662607}, {4294967236, 0}) = 0
      gettimeofday({1135529186, 662846}, {4294967236, 0}) = 0
      gettimeofday({1135529186, 663145}, {4294967236, 0}) = 0



      Tu as une version particulière de Mplayer ?
      • [^] # Re: Vive free

        Posté par  (site web personnel) . Évalué à 3.

        Ca c'est que t'as pas router les ports qu'il fallait
        la par exemple tu vois le
        getsockname(6, {sa_family=AF_INET, sin_port=htons(32797), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
        Faut router les ports 32797 et 32798
        La seule solution trouvée c'est de router tout les ports udp .....
        Sinon j'en ai bien une autre c'est de trouver/faire un module conntrack pour ca
      • [^] # Re: Vive free

        Posté par  . Évalué à 2.

        Rah la la ! J'ai trouvé !
        En gros, quand on met "-v" à mplayer, ca nous dump certaines infos et surtout celle là :

        mplayer rtsp://mafreebox.freebox.fr/freeboxtv/201 -v 2>&1 | grep 'Transport:\|=='
        Transport: RTP/AVP;unicast;client_port=32830-32831
        Transport: RTP/AVP;unicast;mode=play;destination=212.27.38.254;client_port=32830-32831;server_port=32768-32769
        ==> Found video stream: 0

        Le serveur rtp a besoin de joindre les ports clients 32830 et 32831 (pour notre exemple)
        Ces ports changent fréquemment;

        Rajoutez cela sur votre firewall :
        IPADDR="192.168.10.55" # L'IP de votre machine ou se trouve mplayer
        PORTS="32832 32833"
        for PORT in ${PORTS};
        do
        echo "-Freebox (${PORT})"
        /sbin/iptables -A INPUT -p udp --dport ${PORT} -j ACCEPT
        /sbin/iptables -t nat -A PREROUTING -p udp --dport ${PORT} -j DNAT --to-destination ${IPADDR}:${PORT}
        done


        Alors pourquoi j'ai mis les ports 32832 et 32833 et pas 32830 et 32831, parce que les ports clients s'incrémente à chaque instance;
        J'ai essayé de voir s'il y avait loopback des ports (aka: au bout d'un moment il revient en arrière), mais apparemment non, j'en suis à une vingtaine d'instances et ils sont toujours uniques.
        Ce qui n'est pas le cas des ports serveurs qui eux s'incrémente mais au bout d'un moment, reviennent en arrière.

        C'est une astuce à l'arrache, si vous avez mieux je suis preneur! :-P
        • [^] # Re: Vive free

          Posté par  . Évalué à 1.

          Testé à l'instant :
          /sbin/iptables -A INPUT -p udp -s mafreebox.freebox.fr -j ACCEPT

          En gros, j'accepte tout l'udp venant de mafreebox.freebox.fr

          A savoir que je n'ai pas besoin de nater car ma freebox n'est pas en mode routeur, mais ça remplace sans problème le premier /sbin/iptables.

          A+
  • # Je ne vais pas beaucoup aider parceque moi non plus ça marche pas...

    Posté par  . Évalué à 2.

    En ce qui me concerne, j'ai encore moins de chance puisque ça ne fonctionne pas non plus avec mplayer...

    Comme mes tests étaient infructueux, je me suis dit que la configuration de mon firewall (entre la freebox et la linuxette) ne devait pas convenir. J'ai tout tripatouillé, RTFMé à mort, et toujours rien.

    Alors je me suis décidé à l'ultime solution: relancer sous l'XP poussiéreux qui est sur mon ordinateur (vous savez cette histoire de vente liée...). De nombreuses m-à-j automatiques de Windows plus tard, j'installe VLC et... Ça marche très bien sous Windows.

    Récapitulons: chez moi, ça marche très bien sous Windows. Sur la même machine, avec la Mandriva 2006 (sans firewall) et la version plf de vlc (la même que sous Windows) ça ne marche pas, avec mplayer non plus.

    Symptômes de vlc: il fonctionne avec des fichiers locaux (son, vidéo). Mais quand je place le lien vers la liste de lecture freetv dans «ouvrir un fichier (avancé)», aucun flux n'apparaît.
    Dans la fenêtre des listes de lecture, toutes les chaînes sont pourtant correctement affichées (et France 2 sélectionnée).
    Le terminal duquel j'ai lancé vlc est bien entendu rempli... Il se termine notamment par:
    Sending request: SETUP rtsp://212.27.38.253/freeboxtv/201 RTSP/1.0
    CSeq: 3
    Transport: RTP/AVP;unicast;client_port=32786-32787
    User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.12.23)
    Et rien après (je peux vous écrire ce qu'il y a avant si c'est necessaire). Note: les ports en question (32786 et 32787) sont bien ouverts.

    Changer de chaîne donne le même résultat (et c'est ultra lent, bien plus qu'avec Windows).

    Si d'autres Mandriviens peuvent me dire quelle genre de sortie ils ont dans le terminal (ou dans la fenêtre vue->messages de leur vlc), ça m'arrangerai pas mal...
    Ce qui m'arrangerai encore plus c'est que quelqu'un me dise ce qui cloche !

    Je ne vous parle pas de mplayer (j'ai pas testé sous Windows).
  • # plus de debug

    Posté par  . Évalué à 4.

    Essayes de lancer VLC avec vlc -vvv --color pour avoir plus de debug.
    Tu peux aussi essayer avec la version 0.8.4a voir si c'est mieux.

    ensuite tu peux poster en anglais sur http://forum.videolan.org avec les logs
    • [^] # Re: plus de debug

      Posté par  . Évalué à 1.

      Pour moi, cela fonctionne bien après installation de la VLC en suivant les instructions suivantes :
      http://forum.videolan.org/viewtopic.php?t=15358
      MAIS A CONDITION que je supprime le parefeu...
      Par contre, je ne sais pas trafiquer les ports avec le Parefeu installé (Mandriva 2006) et je ne comprends pas trop comment regler les UDP... Pouvez vous être plus explicite... Merci
      Claude
  • # enregistre la multiposte de free avec linux

    Posté par  . Évalué à 1.

    1) Creation d'un petit shell : -----------> enregistre.sh
    2) Lancement du shell avec les bons arguments : on aura deux arguments le nom du film et l'heure de fin


    1) Nom du shell : enregistre.sh

    #$1 Nom du film
    #$2 correspond a l'heure de fin

    #Permet de lancer vlc sous X11
    if [ -z "$DISPLAY" ]; then
    export DISPLAY=":0.0"
    fi
    #Permet de tuer tous les processus appartenant à vlc
    echo "sudo killall vlc" | at $2

    #Enregistrement de la chaine France 2
    vlc rtsp://mafreebox.freebox.fr/freeboxtv/201 --sout file/ts:/home/sabrina/$1.avi

    2) Lancement du shell

    en ligne de commande on tape

    sh enregistre.sh nomfilm 15:16 | at 14:15

    15:16 : correspond a l'heure de fin
    14:15 : correspond a l'heure de debut

    il suffira pour visualiser le film de taper en ligne de commande

    vlc nomfilm.avi






    • [^] # Re: enregistre la multiposte de free avec linux

      Posté par  . Évalué à 1.

      Interessant ce script, dommage qu'il lance une fenêtre, n'y a t'il pas moyen de le faire purement en console? Pour pouvoir faire des enregistrements à distance par exemple.

      Concernant mplayer, j'ai quelques petits problèmes, il lit la tv mais parfois il y a des problème de lenteur avec commen message dans la console :

      Votre système est trop LENT pour jouer ce fichier!

      L'autre problème avec mplayer est que dès que j'arrete la lecture il plante sur cette erreur :

      *** glibc detected *** double free or corruption (!prev): 0x0000000000c16c60 ***
      MPlayer interrompu par le signal 6 dans le module: free_demuxer

      Si quelqu'un à ces problème et qu'il à réussi à les résoudres je suis preuneur.
      Pour info je suis sous gentoo amd64.
      • [^] # Re: enregistre la multiposte de free avec linux

        Posté par  . Évalué à 2.

        Je suis dans le même cas que toi.

        J'ai résolu le problème de corruption glibc en utilisant la dernière version cvs de mplayer.


        Pour le problème de lenteur il n'y a pas à ma connaissance de réelle solution dans mplayer (j'ai posté un message sur la mailing list de mplayer, mais apparement personne n'est au courant).

        La solution provisoire que j'ai trouvé est d'utiliser l'outil openRTSP de la bibliothèque live555 pour enregistrer le flux sur le disque et le lire en même temps avec mplayer :

        Dans une console :

        cd /tmp (par exemple, ou un répertoire où l'on peut écrire)
        openRTSP rtsp://mafreebox.freebox.fr/freeboxtv/nnn

        Dans une autre console :

        cd /tmp (le même que ci-dessus)
        mplayer video-... (le nom du fichier qui grossit, regarde avec un ls)


        Le désavantage de cette méthode c'est la taille du fichier sur le disque ; l'avantage c'est que si l'émission te plaisait elle est directement enregistrée !


        En attendant une version de mplayer qui fonctionne...

        Thibault
        • [^] # Re: enregistre la multiposte de free avec linux

          Posté par  . Évalué à -1.

          Pour installer VLC sous gentoo, il faut activer la variable live dans les USEFLAGS :
          soit dans /etc/make.conf,
          soit installer vlc comme tel: $ USE="live" emerge -v vlc

          Chez moi, ça marche avec.
          ( Par contre, mplayer plante lamentableblement )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.