1

我有一张显示为/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.

这一切都很好。我有播放有视频和音频的文件。但是,有时在播放输出文件时,音频和视频会不同步。它发生在视频中的同一位置,在许多不同的媒体播放器(totem、mplayer)上。所以我认为这是我如何保存和记录文件的问题。

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

4

1 回答 1

2

尝试在音频分支中添加一个 audiorate 元素,并在视频分支中添加一个 videorate 元素,看看是否会有所不同,或者尝试使用不同的复用器,例如 qtmux 或 matroskamux。

于 2012-01-11T21:35:36.917 回答