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é, ...)
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
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
> 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)
manatlan.com
[^]Re: Enregistrement
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
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
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 ...
manatlan.com
[^]Re: Enregistrement
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
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
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
manatlan.com
[^]Re: Enregistrement
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
En fait, c'est dans [config] qu'il faut ajouter la ligne, pas dans [common] comme indiqué.
[^]Re: Enregistrement
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