Gstreamer:从视频(flv),重采样率和管道到流水槽提取音频 - 无法重新采样到流

时间:2013-06-25 06:13:59

标签: audio audio-streaming gstreamer resampling jack

我正在使用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

你看到我做错了什么?

可以将音频和管道重新采样到流输出吗?

我已经搜索过而没有找到任何相关的解决方案。非常感谢您的任何见解/指针!

2 个答案:

答案 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也会为你插入一个多路分离器。