c# - gstreamer:交织 2 个音频 - 链接错误

标签 c# c++ python gstreamer

我正在尝试按照交错 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 错误 GST_PIPELINE grammar.tab.c:656:gst_parse_perform_link: 无法将 queue0 链接到 i

如果我删除第二个 filesrc 相关命令,即“filesrc location=file2.wav 之后的所有命令,命令运行正常。上面的命令有什么问题?

谢谢

最佳答案

尝试

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 元素的接收器垫仅按要求提供,因此我敢打赌,当 gst-launch 尝试链接这些元素时,i.sink0 垫不存在。留下一个句点 (i.) 告诉 gst-launch 尝试所有垫子,直到找到合适的垫子。

除了最基本的示例之外,您最好使用简单的高级语言(如 python)手动创建管道。

另见

man gst-launch

关于c# - gstreamer:交织 2 个音频 - 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2306605/

相关文章:

c# - 如何从 X509Certificate2 获取组织名称?

c# - 如何重新映射程序集版本

c++ - NEON Cortex-A8 的组装示例

c++ - 用 std::generate_n 填充 std::map

python - 在 Python 3 列表中查找唯一值索引的最有效方法

python - 使用 zipfile 在 python 中执行 mysql 查询

python - 使用 matplotlib 在一个子图中绘制来自 pandas DataFrame 的两个直方图

用于 C、C#、C++ 和 Java 的 C# 代码分析器。

c++ - 从内存缓冲区初始化 C++ std::istringstream?

c# - 通用方法将委托(delegate)传递给方法?