首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用muxer会破坏来自ALSA的输入。

使用muxer会破坏来自ALSA的输入。
EN

Stack Overflow用户
提问于 2014-02-16 23:28:43
回答 1查看 867关注 0票数 2

我正在尝试制作一个简单的GStreamer程序,将来自v4l2摄像机和ALSA音频的视频拼接在一起。然而,我有很多问题的穆克塞。下面是我使用的命令:

代码语言:javascript
复制
$ 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.

所创建的文件具有完美的视频,但控制台输出的消息如下:

代码语言:javascript
复制
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没有什么问题,因为我可以用

代码语言:javascript
复制
 gst-launch -e alsasrc ! audioconvert ! lamemp3enc target=1 bitrate=64 cbr=true !
 filesink location=audio.mp3

我试过在alsasrc之后添加一个队列,但是没有帮助。配音也不是。我能做些什么来修复这条管道?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-17 00:03:12

不过,我用pulsesrc代替alsasrc来解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21818256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档