[MPlayer-users] A-V sync with mencoder/mplayer

"Ing. Daniel Rozsnyó" daniel at rozsnyo.com
Thu Dec 10 08:31:27 CET 2009


Hi,

Ken Bass wrote:
> Hi all, newbie here - so please bear with me :-)
> 
> In short, I am trying to capture video from vhs, via a tv capture card. But
> the A-V is out of sync - audio lags video. Actually, it becomes
> progresssively worse as the recording goes on.

  I've tried the same thing - recording from VHS. The problem is that
with a bad vhs tape (or a slow motor) you get rather a variable frame
rate video than an exact 25 (or 30) fps one.

  I've solved this by running VLC as a capture and encoding to mpeg2 ts
and using mplayer -dumpstream to record the stream. Both on different
computers, to avoid problems with disk buffers, etc..

  With mplayer I can not get recorded analog television either, and the
signal was better than on vhs.

  Daniel

> 
> The details:
> 
> PC: dual Xeon 3Ghz (that's 4 CPUs), with 2G memory.
> Fedora 11, with stock apps, codecs, etc (from repos - no rebuilds).
> kernel 2.6.30-9-96
> Pinnacle PCTV HD800i w/ Conexant cx23880 chipset.
> driver loaded: cx8800
> Sound Card: SB Live (EMU10K1) - driver snd_emu10k1
> 
> I have tried both ALSA and OSS. ALSA seems to work the best, but I keep
> getting XRUNS.
> 
> Also, if I just capture raw audio/video, then I also get better sync (almost
> perfect). But my i/o and disk drives can't seem to handle that much of a
> stream before the video buffer fills up and audio frames start dropping.
> 
> Since I am using V4L2 to access the capture card, I am using this tv option
> to mencoder:
> 
> -tv "input=1:alsa:adevice=hw.1,0:amode=1:immediatemode=0:mjpeg:decimation=1"
> 
> For OSS, I remove 'alsa', and change the adevice to '/dev/dsp1'.
> 
> The entire mencoder line (for raw dump) is:
> 
> mencoder -tv "{options above}" -oac copy -ovc copy -vf harddup -idx -noskip
> -mc 0 -ni -o ofile.avi tv://
> 
> I have tried using mp3lame and lavc for audio encoders, and lavc for video,
> but that just seems to make the de-syncing to happen faster.
> 
> Here is the output of mencoder when I run it:
> 
> [ken at Bugs root]$ mencoder -tv
> "input=1:alsa:adevice=hw.1,0:amode=1:immediatemode=0:mjpeg:decimation=1"
> -oac copy  -ovc copy -vf harddup -noskip -idx -ni -mc 0 -o
> /xfs/vhs-raw-test.avi   tv://
> 
> MEncoder SVN-r29701-4.4.1 (C) 2000-2009 MPlayer Team
> success: format: 9  data: 0x0 - 0x0
> TV file format detected.
> Selected driver: v4l2
>  name: Video 4 Linux 2 input
>  author: Martin Olschewski <olschewski at zpr.uni-koeln.de>
>  comment: first try, more to come ;-)
> Selected device: Pinnacle PCTV HD 800i
>  Tuner cap:
>  Tuner rxs:
>  Capabilites:  video capture  VBI capture device  tuner  read/write
> streaming
>  supported norms: 0 = NTSC-M; 1 = NTSC-M-JP; 2 = NTSC-443; 3 = PAL-BG; 4 =
> PAL-I; 5 = PAL-DK; 6 = PAL-M; 7 = PAL-N; 8 = PAL-Nc; 9 = PAL-60; 10 =
> SECAM-B; 11 = SECAM-G; 12 = SECAM-H; 13 = SECAM-DK; 14 = SECAM-L;
>  inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
>  Current input: 1
>  Current format: BGR24
> v4l2: current audio mode is : STEREO
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
>   MJP: width 704 height 576
> [V] filefmt:9  fourcc:0x59565955  size:704x480  fps:29.970  ftime:=0.0334
> videocodec: framecopy (704x480 24bpp fourcc=59565955)
> audiocodec: framecopy (format=1 chans=2 rate=48000 bits=16 B/s=192000
> sample-4)
> Forcing audio preload to 0, max pts correction to 0.
> Writing header...1f ( 0%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
> ODML: Aspect information not (yet?) available or unspecified, not writing
> vprp header.
> Writing header...
> ODML: Aspect information not (yet?) available or unspecified, not writing
> vprp header.
> Writing index...  46f ( 0%) 22.19fps Trem:   0min   0mb  A-V:0.000
> [162039:1536]
> Writing header...
> ODML: Aspect information not (yet?) available or unspecified, not writing
> vprp header.
> . . . . . . . . . . (snip out alot of the following repeated lines) . . . .
> . .
> 
> video buffer full - dropping frame
> 
> too bad - dropping audio frame !
> 
> too bad - dropping audio frame !
> 
> too bad - dropping audio frame !
> 
> too bad - dropping audio frame !
> Pos: 109.5s   3281f ( 0%) 23.37fps Trem:   0min   0mb  A-V:0.000
> [162039:1536]
> too bad - dropping audio frame !
> Writing index...3436f ( 0%) 23.83fps Trem:   0min   0mb  A-V:0.000
> [162039:1536]
> Writing header...
> ODML: Aspect information not (yet?) available or unspecified, not writing
> vprp header.
> 
> Video stream: 162039.560 kbit/s  (20254945 B/s)  size: 2322186240 bytes
> 114.648 secs  3436 frames
> 
> Audio stream: 1536.000 kbit/s  (192000 B/s)  size: 22080000 bytes  115.000
> secs
> v4l2: 4295 frames successfully processed, 29 frames dropped.
> 
> I have tried many permutations of alsa vs oss, different output coders, etc.
> But no luck.
> 
> I have been fighting with this for a long time. So any help/pointers will be
> greatly appreciated.
> 
> TIA
> 
> ken
> _______________________________________________
> MPlayer-users mailing list
> MPlayer-users at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users


More information about the MPlayer-users mailing list