我有一张显示为/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和视频/音频编解码器的新手,所以我可能在这里做一些愚蠢的事情(请指出!)。是否有更好的视频/音频/多路复用编解码器?
答案 0 :(得分:3)
尝试在音频分支中添加audiorate元素,在视频分支中添加videorate元素,看看是否有所不同,或尝试使用其他多路复用器,如qtmux或matroskamux。