[tuxtv 095] Exploiter les capacités TV de mplayer/mencoder v1.0pre1

Exploiter les capacités TV de mplayer/mencoder v1.0pre1 [tuxtv 095] - Multimédia - Linux et OS Alternatifs

Marsh Posté le 07-08-2003 à 19:51:56    

J'ai réalisé un script bash qui permet de :
1) regarder la Télé grâce à mplayer (changement de chaines, OSD, filtrage pour avoir une qualité excellente, petit cropping pour virer les bavures de bords d'image...).
2) programmer des enregistrements immédiats grâce à mencoder/libavcodec/lame.
3) programmer des enregistrements différés grâce à mencoder/libavcodec/lame et at.
 
Ce script permet également de cropper (16/9 et 20/9) et d'éteindre le PC.
Enfin j'y ai joints une petite gui (un truc très simple qui permet de lancer le script avec les options qui vont bien en cliquant sur un bouton).
 
Pour installer tout dans /usr/bin : "make && make install" en tant que root. Ensuite lancer "tuxtv --help" ou la gui (tuxtv_wizard) pour voir les différentes options.
 
http://tuxrip.free.fr/tuxtv/
 
4 remarques :  
1) Si vous ne voulez pas de la gui, vous pouvez lancer directement tuxtv sans faire le make.
2) mencoder génère un avi sans index (donc non seekable) lorsque celui-ci dépasse 2Go. Le script corrige cela dans le mode --direct (cad l'enregistrement immédiat) en découpant en fichier d'un peu moins de 2Go. Dans le mode --differe (enregistrement différé), il n'y a pour le moment pas de découpage !
3) ce script a été testé uniquement sur des version CVS de mplayer et nécessité libavcodec.
4) Lors de la création du fichier de "chaines", il est demandé si vous connaissez les fréquences ou les canaux. Cependant il est grandement conseillé d'utiliser les canaux car mplayer ne sait pas lire des chaines en fréquences (seul mencoder sait le faire).
 
@+  :hello:


Message édité par jotenakis le 11-09-2003 à 22:23:29

---------------
Jotenakis
Reply

Marsh Posté le 07-08-2003 à 19:51:56   

Reply

Marsh Posté le 07-08-2003 à 19:53:48    

mplayer n'a pas de filtres pour les chaines qui font mal aux yeux !  :o

Reply

Marsh Posté le 07-08-2003 à 19:55:40    

il ne lui manque que ça en effet. Porter un plug "-vop nagra" à partir de libxawdecode, des volontaires ?  :whistle:


---------------
Jotenakis
Reply

Marsh Posté le 07-08-2003 à 19:59:47    

Vous pourrez remarquer que mplayer est capable de lire un fichier en cours de capture par mencoder (ce fichier n'est évidemment pas seekable car l'index n'a pas encore été généré) !
Ceci laisse entrevoir la possibilité d'une fonction timeshifting basique à tuxtv.


Message édité par jotenakis le 07-08-2003 à 20:00:05

---------------
Jotenakis
Reply

Marsh Posté le 07-08-2003 à 20:05:55    

jotenakis a écrit :

Vous pourrez remarquer que mplayer est capable de lire un fichier en cours de capture par mencoder (ce fichier n'est évidemment pas seekable car l'index n'a pas encore été généré) !
Ceci laisse entrevoir la possibilité d'une fonction timeshifting basique à tuxtv.


 
est-il possible d'obtenir un "mauvais indexage" malgré tout et de seeker avec de mauvaises contraintes ?

Reply

Marsh Posté le 07-08-2003 à 20:12:11    

ptet avec forceidx ?


---------------
Jotenakis
Reply

Marsh Posté le 07-08-2003 à 21:25:59    

[root@localhost tuxtv]# ./install  
tuxtv_wizard.c: In function `addbutton':
tuxtv_wizard.c:125: warning: passing arg 3 of `XtAddCallback' from incompatible pointer type
/usr/bin/ld: cannot find -lXpm
collect2: ld returned 1 exit status
cp: Ne peut évaluer `tuxtv_wizard' par stat(): No such file or directory
chmod: échec d'obtention des attributs de `/usr/bin/tuxtv_wizard': No such file or directory
 
 
 :(  
 
Ca veut dire quoi ?

Reply

Marsh Posté le 07-08-2003 à 21:47:13    

data jim a écrit :

[root@localhost tuxtv]# ./install  
tuxtv_wizard.c: In function `addbutton':
tuxtv_wizard.c:125: warning: passing arg 3 of `XtAddCallback' from incompatible pointer type
/usr/bin/ld: cannot find -lXpm
collect2: ld returned 1 exit status
cp: Ne peut évaluer `tuxtv_wizard' par stat(): No such file or directory
chmod: échec d'obtention des attributs de `/usr/bin/tuxtv_wizard': No such file or directory
 
 
 :(  
 
Ca veut dire quoi ?


cannot find -lXpm
ca veut dire qu'il te faut la librairie de développement Xpm, en général appelée libxpm-devel.
 
C'est simple : cannot find -lxxx signifie qu'il te faut (en général) libxxx-devel

Reply

Marsh Posté le 07-08-2003 à 22:09:25    

zeb_ a écrit :


C'est simple : cannot find -lxxx signifie qu'il te faut (en général) libxxx-devel


 
C'est ça merçi.  
Par contre j'ai toujours les deux premières lignes d'erreurs.

Reply

Marsh Posté le 07-08-2003 à 23:07:10    

les 2 warnings ne sont pas grave...


---------------
Jotenakis
Reply

Marsh Posté le 07-08-2003 à 23:07:10   

Reply

Marsh Posté le 07-08-2003 à 23:39:02    

Si gestion du time shifting, je l'adopte tout de suite  :love:  
 
pour l'instant pas de prise tv la ou je suis (les vacances)  :cry:  
 

Reply

Marsh Posté le 08-08-2003 à 10:28:07    

:love:  
je test ça ce soir


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 08-08-2003 à 10:56:57    

je n'est pas pu m'empecher de l'essayer, mais mplayer se ferme de suite :
 
[codi@Solaris codi]$ tuxtv
+--------------+
| TUXTV v0.8   |
+--------------+
 
-->Device video detecté : /dev/v4l/video0
 
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
 
 
MPlayer 0.90rc5-3.2.2 (C) 2000-2003 Arpad Gereoffy (see DOCS)
 
CPU: Advanced Micro Devices Athlon 4 PM Palomino/Athlon MP Multiprocessor/Athlon XP eXtreme Performance (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
 
Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/codi/.mplayer/config
Error: option 'tv' has no suboption 'saturation'
 
je suis sous mdk 9.1
option de compilation de mplayer :
 
[root@Solaris MPlayer-0.90]# ./configure --enable-gui --enable-largefiles --enable-dvdnav --enable-menu --enable-vorbis --enable-xmms --enable-gl --enable-xv --enable-x11 --enable-directfb --enable-shared-pp --enable-mmx --enable-mmx2 --enable-3dnow --enable-3dnowex --enable-sse  --disable-runtime-cpudetection  --enable-xinerama --enable-fbdev --with-win32libdir=/usr/lib/win32 --with-reallibdir=/usr/lib/win32 --disable-divx4linux --enable-aa

Reply

Marsh Posté le 08-08-2003 à 11:26:11    

fo une CVS, car la 0.9 ne sait pas piloter les options contraste/luminosité... du bt.


---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 08:33:16    

yes , vraiment excellent !

Reply

Marsh Posté le 11-08-2003 à 09:42:38    


c'est cool !
Après tuxrip  :love:  
tuxTV  :love:  :love:  :love:  
 
 :jap:  à toi Jotenakis
 

Reply

Marsh Posté le 11-08-2003 à 10:29:58    

verdict après test ce WE :

  • touches de navigation entre les canaux moins pratique qu'avec xawtv (h & k pour monter descendre)
  • qualité d'image un peu meilleure (je reçois pas hyper-bien non plus)
  • l'enregistrement bouffe de la puissance (~40/50%) et chez moi ça dégrade la qualité d'image (scintillement) du coup le résultat est pénible à regarder...
  • ...surtout que ça a pas enregistré le son :/ mais c'est sans doute spécifique à mon install (impossible d'enregistrer quoi que ce soit depuis l'install d'Alsa :( carte Fortissimo II, si quelqu'un à une idée...)
  • l'enregistrement génère pleins de petit fichiers au lieu d'un seul gros -> pas très pratique


Message édité par cycojesus le 11-08-2003 à 10:31:14

---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 11-08-2003 à 11:42:43    

j'ai reuploader la version 0.8, tu auras maintenant des fichiers de 2Go.
Pour le son, aucune idée. Ta carte TV est branché sur le line-in de  la carte son ? Vérifie avec un mixer que l'enregistrement est en line-in.
Tu peux changer de chaines avec la souris et les touches + et - du clavier.
Bizarre l'histoire du scintillement, chez moi c'est parfait.


Message édité par jotenakis le 11-08-2003 à 11:43:00
Reply

Marsh Posté le 11-08-2003 à 12:12:25    

jotenakis a écrit :

j'ai reuploader la version 0.8, tu auras maintenant des fichiers de 2Go.
Pour le son, aucune idée. Ta carte TV est branché sur le line-in de  la carte son ? Vérifie avec un mixer que l'enregistrement est en line-in.
Tu peux changer de chaines avec la souris et les touches + et - du clavier.
Bizarre l'histoire du scintillement, chez moi c'est parfait.


Pour le son l'enregistrement ne marche nul part, je pense à un pb au niveau de la configuration d'Alsa, faut que je me penche dessus c'est le dernier point qui garde ma partition Windows en vie  [:ddr555]  
 
Pour le scintillement c'est la qualité de ma reception qui est pas terrible. Ca fait la même chose avec xawtv.
 
merci
 
EDIT :
ça te dirait pas un beau Makefile à la place de ./install ?
Et l'utilisation de install au lieu de cp pour par exemple tester l'existence des répertoires avant de copier. Et aussi l'utilisation d'un prefix paramétrable.
 
ça donnerait

Code :
  1. make install PREFIX=/usr/local/stow/tuxtv-0.8

 
Je ferais ça ce soir si j'y pense :hello:


Message édité par cycojesus le 11-08-2003 à 15:23:16

---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 11-08-2003 à 14:15:57    

vi ça me dirait bien, si tu sais faire je suis preneur. C'est sur que ce serait bien mieux... :jap:


---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 16:11:57    

jotenakis a écrit :

vi ça me dirait bien, si tu sais faire je suis preneur. C'est sur que ce serait bien mieux... :jap:  


voili voilou
Je l'ai testé à l'arrache (`make && make install && make uninstall`) sur cygwin (note : ça compile ! :D)
Pourquoi tu fais source -> objet puis objet -> executable ? J'ai remplacé ça par un seul passage de gcc source -> executable.
 
le PREFIX par défaut est /usr donc si on fais `make install` sans rien ça installe dans /usr/bin. Si on veux installer ailleurs il faut faire  `make install PREFIX=/on/installe/ailleurs/`
 
`make` : ça compile tuxtv_wizard
`make install [PREFIX=/usr/tralala]` : ça installe
`make uninstall [PREFIX=/usr/tralala]` : ça désinstalle (il faut le même PREFIX qu'à l'installation
`make clean` : ça efface tuxtv_wizard
`make archive` : ça crée deux archives .tar.gz et .tar.bz2 du répertoire courant dans le répertoire parent.
 
EDIT : le Makefile qui va bien


Message édité par cycojesus le 11-08-2003 à 16:45:58

---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 11-08-2003 à 16:27:32    

Vous connaissez des sites web ou on peu récupérer les fréqences ou les canaux des chaines en allemagne ??
Pour le moment j'utilise xawtv et tvtime , et dans les fichiers de config de ces 2 j'ai juste des E6 , E7 , S12 ... dans channel  , ca correspond a quoi ?
 

Reply

Marsh Posté le 11-08-2003 à 16:59:53    

ce sont les canaux.


---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 17:09:23    

merci cycojesus. :jap:  
 
http://tuxrip.free.fr/tuxtv/tuxtv-0.85.tar.bz2
 
Pour installer c'est donc maintenant :


make
su
make install

 
et pour desinstaller :

 
su
make uninstall

 


---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 17:50:50    

Pour le son : tu as compile mencoder avec support de libfame ?

Reply

Marsh Posté le 11-08-2003 à 18:10:15    

jotenakis a écrit :

ce sont les canaux.


ah alors j'ai un pb , qd je fais tuxtv --chaine , que je choisi canal et que je rentrer nom:Das Erste  cannal:E6 par exemple , il me marque syntaxe incorrecte.
 :??:


Message édité par psebcopathe le 11-08-2003 à 18:10:55
Reply

Marsh Posté le 11-08-2003 à 18:21:01    

Tu peux poster le résultat de  


mplayer -vo xv -tv driver=v4l:device=/dev/v4l/video0:input=0:norm=pal:channels=E6-machin:width=512:height=384 tv://

 
stp ?
 
EDIT : en adaptant à ton device v4l, bien entendu.


Message édité par jotenakis le 11-08-2003 à 18:22:23

---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 18:47:25    

ouai ben je viens d'exectuer cette commande et ca a bien marché , j'ai eu la tv .
c ds le script de config des chaines que j'ai erreur de syntaxe qd je tapes E6 pour canal.

Reply

Marsh Posté le 11-08-2003 à 21:13:07    

psebcopathe a écrit :

ouai ben je viens d'exectuer cette commande et ca a bien marché , j'ai eu la tv .
c ds le script de config des chaines que j'ai erreur de syntaxe qd je tapes E6 pour canal.
 


dans ce cas c'est moi qui ai fait une boulette. Nouvelle release demain matin pour corriger ça. Désolé. :(


---------------
Jotenakis
Reply

Marsh Posté le 11-08-2003 à 21:28:46    

soit pas désolé , c pas grave :D

Reply

Marsh Posté le 11-08-2003 à 21:55:18    

je n'arrive pas a installer
 
 

Code :
  1. damien:~/Desktop/Tuxtv# make
  2. gcc -o tuxtv_wizard tuxtv_wizard.c -O2 -L/usr/X11R6/lib -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 -I/usr/X11R6/include
  3. tuxtv_wizard.c:16:29: X11/Xaw/Command.h : Aucun fichier ou répertoire de ce type
  4. tuxtv_wizard.c:17:26: X11/Xaw/Form.h : Aucun fichier ou répertoire de ce type
  5. tuxtv_wizard.c:18:27: X11/Xaw/Label.h : Aucun fichier ou répertoire de ce type
  6. tuxtv_wizard.c: Dans la fonction « makemenu »:
  7. tuxtv_wizard.c:76: error: `formWidgetClass' undeclared (first use in this function)
  8. tuxtv_wizard.c:76: error: (Each undeclared identifier is reported only once
  9. tuxtv_wizard.c:76: error: for each function it appears in.)
  10. tuxtv_wizard.c: Dans la fonction « addlabel »:
  11. tuxtv_wizard.c:111: error: `labelWidgetClass' undeclared (first use in this function)
  12. tuxtv_wizard.c:112: error: `XtNfromHoriz' undeclared (first use in this function)
  13. tuxtv_wizard.c:113: error: `XtNfromVert' undeclared (first use in this function)
  14. tuxtv_wizard.c: Dans la fonction « addbutton »:
  15. tuxtv_wizard.c:121: error: `commandWidgetClass' undeclared (first use in this function)
  16. tuxtv_wizard.c:122: error: `XtNfromHoriz' undeclared (first use in this function)
  17. tuxtv_wizard.c:123: error: `XtNfromVert' undeclared (first use in this function)
  18. tuxtv_wizard.c:125: attention : passage de l'argument n°3 de « XtAddCallback » d'un type pointeur incompatible
  19. make: *** [tuxtv_wizard] Erreur 1
  20. damien:~/Desktop/Tuxtv#

Reply

Marsh Posté le 12-08-2003 à 09:08:35    

dam1330 a écrit :

je n'arrive pas a installer
 
 

Code :
  1. damien:~/Desktop/Tuxtv# make
  2. gcc -o tuxtv_wizard tuxtv_wizard.c -O2 -L/usr/X11R6/lib -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 -I/usr/X11R6/include
  3. tuxtv_wizard.c:16:29: X11/Xaw/Command.h : Aucun fichier ou répertoire de ce type
  4. tuxtv_wizard.c:17:26: X11/Xaw/Form.h : Aucun fichier ou répertoire de ce type
  5. tuxtv_wizard.c:18:27: X11/Xaw/Label.h : Aucun fichier ou répertoire de ce type
  6. tuxtv_wizard.c: Dans la fonction « makemenu »:
  7. tuxtv_wizard.c:76: error: `formWidgetClass' undeclared (first use in this function)
  8. tuxtv_wizard.c:76: error: (Each undeclared identifier is reported only once
  9. tuxtv_wizard.c:76: error: for each function it appears in.)
  10. tuxtv_wizard.c: Dans la fonction « addlabel »:
  11. tuxtv_wizard.c:111: error: `labelWidgetClass' undeclared (first use in this function)
  12. tuxtv_wizard.c:112: error: `XtNfromHoriz' undeclared (first use in this function)
  13. tuxtv_wizard.c:113: error: `XtNfromVert' undeclared (first use in this function)
  14. tuxtv_wizard.c: Dans la fonction « addbutton »:
  15. tuxtv_wizard.c:121: error: `commandWidgetClass' undeclared (first use in this function)
  16. tuxtv_wizard.c:122: error: `XtNfromHoriz' undeclared (first use in this function)
  17. tuxtv_wizard.c:123: error: `XtNfromVert' undeclared (first use in this function)
  18. tuxtv_wizard.c:125: attention : passage de l'argument n°3 de « XtAddCallback » d'un type pointeur incompatible
  19. make: *** [tuxtv_wizard] Erreur 1
  20. damien:~/Desktop/Tuxtv#

 


 
il te manque les includes de Xaw. Regarde si y'a pas un package xaw-devel ou quelque chose dans ce genre et si oui installe le.


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 12-08-2003 à 10:00:10    

la version 0.86 devrait corriger ton problème "psebcopathe".
 
http://tuxrip.free.fr/tuxtv
 
 :hello:


---------------
Jotenakis
Reply

Marsh Posté le 12-08-2003 à 11:08:19    

Lut :hello:
 
ton script est très intéressant mais je me demande comment fais tu pour passer à mencoder les parametres saturation, bright, etc... dans -tv ???
 
j ai la version 0.90rc5-3.2.2 et il ne me les prend pas.
Pour modifier la saturation j utililes un filtre -vop eq2.

Reply

Marsh Posté le 12-08-2003 à 11:20:58    

normal il faut une CVS récente, les anciennes versions ne savent pas toucher aux paramètres du chipset BT.


---------------
Jotenakis
Reply

Marsh Posté le 12-08-2003 à 13:44:31    

ok pas trop buggé la derniere version :D

Reply

Marsh Posté le 12-08-2003 à 13:45:49    

aucun soucis avec le tarball du 11/08.


---------------
Jotenakis
Reply

Marsh Posté le 12-08-2003 à 13:56:33    

ok je fonce l installer :)

Reply

Marsh Posté le 12-08-2003 à 14:00:14    

n'oublie pas que pour les cvs, libavcodec n'est pas inclu...


---------------
Jotenakis
Reply

Marsh Posté le 12-08-2003 à 14:35:15    

j ai un package libffmpeg ca devrait faire l affaire

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed