Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从电视调谐器/网络摄像头录制,gstreamer和音频/视频不同步_Linux_Gstreamer_Audio Video Sync - Fatal编程技术网

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

Linux 从电视调谐器/网络摄像头录制,gstreamer和音频/视频不同步,linux,gstreamer,audio-video-sync,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 ! \

我有一个电视调谐器卡,显示为
/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和视频/音频编解码器的新手,所以我可能在这里做了一些愚蠢的事情(请指出!)。有更好的视频/音频/muxer编解码器吗?

尝试在音频分支中添加一个audiorate元素,在视频分支中添加一个videorate元素,看看这是否有区别,或者尝试不同的muxer,如qtmux或matroskamux