gstreamer:交错 2 个音频 - 链接错误
Posted
技术标签:
【中文标题】gstreamer:交错 2 个音频 - 链接错误【英文标题】:gstreamer: interleaving 2 audios - link error 【发布时间】:2010-02-21 16:57:54 【问题描述】:我正在尝试按照交错 GStreamer 文档中的说明交错两个音频文件:
gst-launch interleave name=i ! audioconvert ! wavenc ! filesink location=file.wav filesrc location=file1.wav ! \
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i.sink0 filesrc location=file2.wav ! \
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i.sink1
但是执行这个命令会报如下错误:
0:00:00.125000000 2264 00332BC0 ERROR GST_PIPELINE grammar.tab.c:656:gst_parse_perform_link: 无法将 queue0 链接到 i
如果我删除第二个filesrc
相关命令,即“filesrc location=file2.wav”之后的所有命令,该命令运行正常。上述命令有什么问题?
谢谢
【问题讨论】:
【参考方案1】:试试
gst-launch interleave name=i ! audioconvert ! wavenc ! filesink location=file.wav filesrc location=file1.wav ! \
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i. filesrc location=file2.wav ! \
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i.
interleave 元素的 sink pads 只是请求,所以我打赌当 gst-launch 尝试链接元素时 i.sink0 pad 不存在。留下一个句号 (i.) 告诉 gst-launch 尝试所有的 pad,直到找到合适的。
除了最基本的示例之外,您最好使用简单的高级语言(如 python)手动创建管道。
另见
man gst-launch
【讨论】:
以上是关于gstreamer:交错 2 个音频 - 链接错误的主要内容,如果未能解决你的问题,请参考以下文章