我正在使用gstreamer从视频中提取音频并将音频重新采样到不同的采样率。我的管道用于文件到文件的对话,但我无法正确设置流式传输案例以将其链接到插孔接口:
文件归档(效果很好):
gst-launch-0.10 filesrc location = / data / Opinion.flv! flvdemux! audio / mpeg! decodebin! audioconvert! audio / x-raw-int,channels = 1!听觉样本! audio / x-raw-int,rate = 16000,depth = 16! wavenc! filesink location =。/ recordingOut2.wav
要传输的文件(不起作用):
gst-launch-0.10 filesrc location = / data / Opinion.flv! flvdemux! audio / mpeg! decodebin! audioconvert! audio / x-raw-int,channels = 1!听觉样本! audio / x-raw-int,rate = 16000,depth = 16! jackaudiosink
警告:错误的管道:无法将audioresample0链接到jackaudiosink0
以下管道运行,但输出的采样率错误:
gst-launch-0.10 filesrc location = / data / Opinion.flv! flvdemux! audio / mpeg! decodebin! audioconvert!听觉样本! jackaudiosink
你看到我做错了什么?
可以将音频和管道重新采样到流输出吗?
我已经搜索过而没有找到任何相关的解决方案。非常感谢您的任何见解/指针!
答案 0 :(得分:1)
jackaudiosink只接受audio / x-raw-float。你可以从
看到这个gst-inspect-0.10 jackaudiosink
答案 1 :(得分:0)
如同建议,请尝试将您的管道更改为:
gst-launch-0.10 filesrc location = / data / Opinion.flv! flvdemux! audio / mpeg! decodebin! audioconvert! audio / x-raw-float,channels = 1!听觉样本! audio / x-raw-float,rate = 16000,depth = 16! jackaudiosink
虽然你可能会删除flvdemux! audio / mpeg的一部分,因为decodebin也会为你插入一个多路分离器。