[Résolu]Mencoder: mixer la vidéo et le son de deux sources différentes

Mencoder: mixer la vidéo et le son de deux sources différentes [Résolu] - Multimédia - Linux et OS Alternatifs

Marsh Posté le 01-08-2009 à 00:20:51    

Bonjours,
 
[préambule: j'abandonne la solution de VLC, pour ceux qui aurait vu mon topic à côté. En fait je faisait allusion à un petit problème d'audio, bien il s'avère qu'il est beaucoup plus sérieux que ça et c'est plus ou moins l'objet de ce nouveau sujet]
 
Donc voilà, j'ai un boîter d'acquisition vidéo Dazzle DVC100, j'arrive parfaitement à capter la vidéo avec tvtime ou mplayer, mais je n'arrive pas du tout à capter le son. Ça fait 2 jours que je suis dessus, je suis même allé jusqu'à modifier et recompiler les sources de V4L, mais rien n'y fait. De toute façon, des quelques posts que j'ai pu lire sur le net, même quand ça marche, c'est pas top et ça dégrade la vidéo.
Donc -> plan B.
 
La vidéo toute seule, comme je l'ai dis, ça fonctionne tip top. Quant au son, bah je peux toujours brancher ma source sur l'entrée Line-In de ma carte mère.
Du coup je peux parfaitement regarder avec tvtime ou mplayer de la vidéo muette, et comme l'entrée line-in est directement recraché sur les sorties, bah j'ai le direct.  :love:  
 
Mon problème, c'est pour enregistrer. Je ne sais pas comment dire à mencoder d'enregistrer la vidéo provenant de /dev/video0 et le son provenant de l'entrée de ma carte mère.
Et c'est ici que j'aurais besoin de vos lanternes.
 
Voici une base fournie par les tutos, qui devrait normalement servir pour enregistrer la vidéo ET le son, provenant du DVC100:

Code :
  1. mencoder tv:// -tv \
  2. driver=v4l2:width=720:height=576:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:adevice=/dev/dsp1 \
  3. -o resultat.avi -ovc lavc -lavcopts vcodec=mjpeg:aspect=4/3 -aspect 4:3 \
  4. -noautoexpand -oac pcm -endpos 01:00:00


Mais comme dit, pour /dev/dsp1 c'est mort. Pas de son provenant de mon dvc. À la place j'aimerais utiliser line-in.
De ce que je commence à comprendre à force de baraguiner sur le net, faut pas que j'espère prendre un device à l'image de /dev/dsp1, mais plutôt que je récupère ce que me donne alsa.
Une idée de comment mettre ça en place?
Je vous en remercie d'avance :jap:


Message édité par wistiti68 le 01-08-2009 à 14:56:14
Reply

Marsh Posté le 01-08-2009 à 00:20:51   

Reply

Marsh Posté le 01-08-2009 à 02:53:06    

Bien, arecord -l me donne ça:

Code :
  1. **** List of CAPTURE Hardware Devices ****
  2. card 0: DVC100 [DVC100], device 0: USB Audio [USB Audio]
  3.   Subdevices: 1/1
  4.   Subdevice #0: subdevice #0
  5. card 1: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]
  6.   Subdevices: 1/1
  7.   Subdevice #0: subdevice #0
  8. card 1: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]
  9.   Subdevices: 1/1
  10.   Subdevice #0: subdevice #0
  11. card 1: NVidia [HDA NVidia], device 2: ALC1200 Analog [ALC1200 Analog]
  12.   Subdevices: 1/1
  13.   Subdevice #0: subdevice #0


 
J'ai essayer pas mal de truc, je vais pas tout détailler, mais la commande qui me semble la plus prometteuse est celle-ci:

Code :
  1. mencoder tv:// -tv driver=v4l2:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:alsa:amode=1:forcechan=2:adevice=hw.1,0 -oac copy -ovc copy -o test13.avi -endpos 00:00:05


Mais l'enregistrement reste muet. :??:  
Je suis vraiment à cour d'idée là. (en même temps, vu l'heure, c'est peut-être normal :sleep: )
 
 
Edit:
Et Mplayer me renvoyait ça au début:

Code :
  1. MEncoder SVN-1.rc2.23.r28791.2plf2009.1-4.3.2 (C) 2000-2009 MPlayer Team                             
  2. success: format: 9  data: 0x0 - 0x0                                                                   
  3. TV file format detected.                                                                             
  4. Selected driver: v4l2                                                                                 
  5. name: Video 4 Linux 2 input                                                                         
  6. author: Martin Olschewski <olschewski@zpr.uni-koeln.de>                                             
  7. comment: first try, more to come ;-)                                                                 
  8. Selected device: Pinnacle Dazzle DVC 90/DVC 100                                                       
  9. Capabilites:  video capture  audio  read/write  streaming                                           
  10. supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4 = NTSC-443; 5 = PAL; 6 = PAL-BG; 7 = PAL-H; 8 = PAL-I; 9 = PAL-DK; 10 = PAL-M; 11 = PAL-N; 12 = PAL-Nc; 13 = PAL-60; 14 = SECAM; 15 = SECAM-B; 16 = SECAM-G; 17 = SECAM-H; 18 = SECAM-DK; 19 = SECAM-L; 20 = SECAM-Lc;                     
  11. inputs: 0 = Composite1; 1 = S-Video;                                                                 
  12. Current input: 0                                                                                     
  13. Current format: YUYV                                                                                 
  14. v4l2: ioctl set format failed: Invalid argument                                                       
  15. v4l2: ioctl set format failed: Invalid argument                                                       
  16. v4l2: ioctl set format failed: Invalid argument                                                       
  17. Selected input hasn't got a tuner!                                                                   
  18. Video buffer shorter than 3 times audio frame duration.                                               
  19. You will probably experience heavy framedrops.                                                       
  20. [V] filefmt:9  fourcc:0x32595559  size:640x480  fps:25.000  ftime:=0.0400                             
  21. videocodec: framecopy (640x480 24bpp fourcc=32595559)                                                 
  22. audiocodec: framecopy (format=1 chans=2 rate=44100 bits=16 B/s=176400 sample-4)                       
  23. Forcing audio preload to 0, max pts correction to 0.                                                 
  24. Pos:   0.0s      1f ( 0%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]


Message édité par wistiti68 le 01-08-2009 à 02:56:31
Reply

Marsh Posté le 01-08-2009 à 14:54:43    

Ok. Donc cette commande fonctionne:

Citation :

mencoder tv:// -tv driver=v4l2:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:adevice=/dev/dsp1 -oac copy -ovc copy -o test32.avi -endpos 00:00:15


La particularité, c'est que dans KMix il faut demander à afficher les canaux "input source" et "capture".
Dans "input source" il faut sélectionner "line", et dans "capture" il faut monter le curseur et cocher la case "capture".
Après tout fonctionne. Ouf!

Reply

Marsh Posté le 19-01-2014 à 09:24:39    

Bonjour
super-post, il m'a fourni une piste très intéressante pour un autre problème très commun sur Linux. Utiliser une carte Hauppauge HVR 900. Tous les posts trouvés dans la nature proviennent de gens désespérés de ne pas avoir de son sous linux.
En fait, si, en s'inspirant des commandes citées, on peut y arriver avec mplayer.
La commande ci-après permet d'efficher la vidéo et le son de l'entrée composite de ce dispositif, aussi bien que sous windows:
mplayer -fps 25 -tv driver=v4l2:width=720:height=570:device=/dev/video1:input=1:audiorate=48000:immediatemode=0:forceaudio:alsa:amode=1:forcechan=2:adevice=hw.1,0 tv:// -aspect 16:9 -vf pp=lb -ao sdl
On doit pouvoir utiliser mencoder pour enregistrer les vidéos avec le même genre de paramètres. C'est ma prochaine étape.

Reply

Sujets relatifs:

Leave a Replay

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