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 个音频 - 链接错误的主要内容,如果未能解决你的问题,请参考以下文章

Gstreamer 音频输入到 mp3

使用 Gstreamer 接收音频流导致原因未协商错误

Gstreamer 无法通过 rtspsrc 播放音频

使用 GstDiscoverer (GStreamer) 的分段错误

关于gstreamer的问题

pocketsphinx python gstreamer 音频速率