我正在尝试交错两个音频文件,如交错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之后的所有命令,那么命令运行正常。上面的命令有什么问题?
由于
答案 0 :(得分:0)
试
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.
交错元素的接收器只是请求,所以我打赌当gst-launch尝试链接元素时,i.sink0 pad不存在。离开一个时期(i。)告诉gst-launch尝试所有的垫子,直到找到合适的垫子。
除了最基本的例子之外,你最好用python等简单的高级语言手动创建管道。
另见
man gst-launch