从电视调谐器/网络摄像头录制,gstreamer和音频/视频不同步

时间:2012-01-11 21:15:06

标签: linux gstreamer audio-video-sync

我有一张显示为/dev/video1的电视调谐卡。我正在尝试将一些旧的VHS磁带数字化。电视调谐器没有音频,我有一根电线连接到我的麦克风。

这是我用来捕捉视频和音频的gstreamer管道。音频并将其保存到文件中。我正在使用动作jpeg,因为我不希望它丢帧并丢失内容。我稍后会重新编码。

gst-launch-0.10 v4l2src device=/dev/video1 ! \
    queue ! \
    video/x-raw-yuv,width=640,height=480 ! \
    ffmpegcolorspace ! \
    jpegenc ! \
    avimux name=mux ! \
    filesink location=output.avi \
   pulsesrc ! \
    queue ! \
    audioconvert ! \
    audio/x-raw-int,rate=44100,channels=2 ! \
    mux.

这一切都运作良好。我有播放视频和音频的文件。但是有时候在播放输出文件时,音频&视频不同步。它发生在视频中的同一个地方,在许多不同的媒体播放器(图腾,mplayer)上。所以我认为这是我如何保存和录制文件的问题。

我可以对管道做些什么来减少音频/视频同步问题吗?我有点像gstreamer和视频/音频编解码器的新手,所以我可能在这里做一些愚蠢的事情(请指出!)。是否有更好的视频/音频/多路复用编解码器?

1 个答案:

答案 0 :(得分:3)

尝试在音频分支中添加audiorate元素,在视频分支中添加videorate元素,看看是否有所不同,或尝试使用其他多路复用器,如qtmux或matroskamux。