我正在尝试制作一个简单的GStreamer程序,将来自v4l2摄像机和ALSA音频的视频拼接在一起。然而,我有很多问题的穆克塞。下面是我使用的命令:
$ gst-launch -e matroskamux name="muxer" ! filesink location=test.mkv v4l2src !
video/x-raw-yuv, framerate=10/1, format=\(fourcc\)YUY2, width=640, height=480 !
videorate ! ffmpegcolorspace ! x264enc ! muxer. alsasrc ! audioconvert !
lamemp3enc target=1 bitrate=64 cbr=true ! muxer.所创建的文件具有完美的视频,但控制台输出的消息如下:
WARNING: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Can't record audio
fast enough
Additional debug info:
gstbaseaudiosrc.c(840): gst_base_audio_src_create (): /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
Dropped 10584 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.视频是无声的。将"alsasrc“替换为"audiotestsrc”使文件具有相同的完美视频,并且测试音调没有错误。如果我使用“video”而不是"v4l2src“,并再次尝试用alsasrc记录,我可以看到测试视频,没有出现错误,但是声音被破坏了;它是分段播放的,随意跳来跳去,常常保持沉默。如果我使用avimux而不是Matroska,这些问题也会发生。alsasrc没有什么问题,因为我可以用
gst-launch -e alsasrc ! audioconvert ! lamemp3enc target=1 bitrate=64 cbr=true !
filesink location=audio.mp3我试过在alsasrc之后添加一个队列,但是没有帮助。配音也不是。我能做些什么来修复这条管道?
发布于 2014-02-17 00:03:12
不过,我用pulsesrc代替alsasrc来解决这个问题。
https://stackoverflow.com/questions/21818256
复制相似问题