Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : fricorder : magnetoscope pour flux freebox

Posté par manatlan (Jabber id, page perso, ) le 06 janvier 2006
Voilà, ça ne concerne que les linuxiens qui possèdent une freebox, et qui ont le multiposte d'actif ...
Ce n'est pas de la pub (d'ailleurs peut on parler de pub pour un produit gpl ?!), mais c'est le genre de journal que j'aurai voulu voir icc bas ... ça m'aurait évité de devoir le developper moi même ;-)

comme le dit le titre : c'est une magnetoscope numerique, réalisé en python/gtk, qui permet de programmer des enregistrements de flux freebox (rtsp) sur son ordinateur.
C'est une sorte de frontend à "at", qui lance un script (de ce genre http://linuxfr.org/%7E11010010/20437.html), pour enregistrer le flux via un vlc qui bien ... (merci à David Decotigny pour l'idée du script)

tout est dispo là :
http://manatlan.online.fr/fricorder.php
(plus d'infos sur la pauvre page)

ça existait, assez rapidement pour les plateformes win32, et en voilà un pour gnu/linux (gtk) ... et qui permet, en plus, d'utiliser un guide tv (fichier xmltv, issu de tv_grab_fr), pour faciliter la saisie des enregistrements ... (je crois savoir qu'il y en a aucun sous win qui possède déjà cette fonctionnalité) ...

ça marche plutôt bien ;-), et c'est la version 0.5 (avant ça se nommait freecorder) ...

si ça peut servir à d'autres ... j'accepte aussi les patchs ...
et si il y a des gens qui arrivent à enregistrer dignement en mpeg4 avec VLC : je suis également prenneur (les tests que j'ai fait, il était le plus souvent illisible par autre chose que vlc, sous sans son, ou sans video, et quand il y avait les 2 : c'était souvent décalé) ...

Il y aura bientôt, une interface web, pour un pilotage distant, en utilisant l'excellent nouveau web.py ( http://webpy.org/ ) ... et qques menus corrections (nom de l'emission enregistré, ...)

> Lire le journal (40 commentaires, moyenne: 1,8).  

Vous avez demandé le commentaire #669102.

Enregistrement

Posté par Jérôme Audu () le 06/01/2006 à 10:01. (lien). Évalué à 2.

Pour le transcodage (en regardant ou non), j'obtiens de
bon résultat (pas de décalage audio/video, et regardable partout (totem, xine, ...) en faisant:

Méthode d'encapsulation: ogg
Option de transcodage:
Codec Video: mp4v, 512kps, echelle 0.75
Codec Audio: vorb, 64kps

Ce qui donne:
:sout=#transcode{vcodec=mp4v,vb=512,scale=0.75,acodec=vorb,ab=64,channels=2}:duplicate{dst=display,dst=std{access=file,mux=ogg,url="essai.ogg"}}

j'aurrai bien mit theora comme codec Video, mais chez moi, ca plante... seg. fault...

sinon, je test ton soft dès ce soir! y-a-t il un témoin visuel qui indique
l'enregistrement en cours ?

  • [^]Re: Enregistrement

    Posté par manatlan (Jabber id, page perso, ) le 06/01/2006 à 10:15. (lien). Évalué à 2.

    > sinon, je test ton soft dès ce soir! y-a-t il un témoin visuel qui
    > indique l'enregistrement en cours ?

    oui, une progressbar (zenity), permettant d'annuler ....

    sinon, merci pour tes params vlc ...
    suis vraiment curieux de tester ça ce soir !!!! (mais il me semble que j'avais aussi essayé cette combi)

    • [^]Re: Enregistrement

      Posté par mpeponas (page perso, ) le 06/01/2006 à 19:43. (lien). Évalué à 2.

      oui, une progressbar (zenity), permettant d'annuler ....

      Chez moi, Lorsque l'enregistrment ce lance, zenity (d'apres top en tout cas) prend 100% du cpu, ce qui est assez genant.
      Des idées sur la cause de ce problème?

      • [^]Re: Enregistrement - problème sur zenity

        Posté par Julien Damon (page perso, ) le 09/01/2006 à 18:59. (lien). Évalué à 1.

        L'appel fait à zenity consomme tout le temps cpu restant.
        Pour éviter cela, on peut (par exemple) remplacer la ligne contenant "zenity" du fichier fricord.sh par le code suivant :

        (
        echo "0"
        sleep $LENGTH
        ) | zenity --display=:0.0 --progress --pulsate --title "FriCorder: Enregistrement de" --text `basename $OUTFILE` --auto-close &

    [^]Re: Enregistrement

    Posté par manatlan (Jabber id, page perso, ) le 06/01/2006 à 16:40. (lien). Évalué à 2.

    avec tes params ... j'ai uploadé une version 0.5b maintenant
    2 possibilité d'enregistrement :
    - direct : qualité direct du flux (mpeg2)
    - OGM : compression mpeg4 comme tes params ...

    • [^]Re: Enregistrement

      Posté par Jérôme Audu () le 06/01/2006 à 17:58. (lien). Évalué à 1.

      Un rapide benchmark permet de mettre en lumiere que le format TS (qui possede des paquet de seulement de 188bytes) est loin d'être optimal dans le cas d'un sauvegarde sur disque.

      Voici le resultat des different format d'encapsulation pour un même stream

      -rw-r--r-- 1 ja ja 5948161 jan 6 18:31 foo.asf
      -rw-r--r-- 1 ja ja 5896185 jan 6 18:32 foo.mpg
      -rw-r--r-- 1 ja ja 5945568 jan 6 18:30 foo.ogg
      -rw-r--r-- 1 ja ja 5898192 jan 6 18:31 foo.ps
      -rw-r--r-- 1 ja ja 6144592 jan 6 18:29 foo.ts

      la packetisation de type MPEG semble la plus efficace dans ce cas.
      Il serait donc souhaitable que tu changes ton foramt de sauvegarde "direct"
      du format MPEG TS vers MPEG1

      donc, de "#std{access=file,mux=ts,url=$OUTFILE.mpg}"
      vers "#std{access=file,mux=mpeg1,url=$OUTFILE.mpg}"

      [^]Re: Enregistrement

      Posté par humfred () le 09/01/2006 à 11:44. (lien). Évalué à 1.

      salut

      j'avais essayé une version précédente et c'est vrai que l'enregistrement en basse qualité était plutot mauvaise.
      Maintenant avec OGM l'image est meilleur mais j'ai pas le son!

      Je n'arrive pas non plus à faire fonctionner le guide avec un fichier xmltv (j'ai rajouté le chemin du fichier dans .fricorder): j'ai l'erreur ,en lançant progtv.py,
      "Vous n'avez pas specifier de cle 'xmltv' dans la section 'common' de votre ~/.fricorder"

      Humfred

      • [^]Re: Enregistrement

        Posté par manatlan (Jabber id, page perso, ) le 09/01/2006 à 11:56. (lien). Évalué à 2.

        bah, je crois que c'est clair ...
        (soit c pas bien configuré, soit le fichier existe pas)

        il faut qqchose du style, dans le fichier ~/.fricorder :
        -------------------------------------------------------------------
        [common]
        ...
        xmltv=/path/vers/un/fichier/qui/existe

        • [^]Re: Enregistrement

          Posté par humfred () le 09/01/2006 à 13:29. (lien). Évalué à 1.

          Mon fichier ~/.fricoder:

          --------------
          [config]
          minutes = "30"
          destination = /home/humfred/Video
          quality = 1


          [common]
          xmltv = /home/humfred/guide
          ------------------

          Et le fichier "guide" existe bien!
          Je comprends pas pourquoi ça marche pas.

          Humfred

          • [^]Re: Enregistrement

            Posté par Carbon Kid () le 09/01/2006 à 15:41. (lien). Évalué à 1.

            En fait, c'est dans [config] qu'il faut ajouter la ligne, pas dans [common] comme indiqué.

            • [^]Re: Enregistrement

              Posté par humfred () le 09/01/2006 à 17:31. (lien). Évalué à 1.

              Exact, merci ça marche ... presque!

              Maintenant j'ai une erreur avec de codage UTF8

              ./fricorder.py
              Traceback (most recent call last):
              File "./fricorder.py", line 514, in ?
              main()
              File "./fricorder.py", line 505, in main
              window1 = Window1()
              File "./fricorder.py", line 167, in __init__
              SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
              File "/home/fred/usr/local/fricorder/SimpleGladeApp.py", line 108, in __init__
              self.new()
              File "./fricorder.py", line 191, in new
              if not progtv.isPresent(chaineTV):
              File "/home/fred/usr/local/fricorder/libs/progtv.py", line 81, in isPresent
              if chaine in __progs.keys():
              UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-11: invalid data

              Dommage, bon programme en tout cas :)

              Humfred