【问题标题】:gstreamer: interleaving 2 audios - link errorgstreamer:交错 2 个音频 - 链接错误
【发布时间】: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”之后的所有命令,该命令运行正常。上述命令有什么问题?

谢谢

【问题讨论】:

    标签: c# c++ python gstreamer


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-09-15
      • 2012-09-15
      • 2013-03-05
      • 2021-10-11
      • 2018-06-21
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多