2013-06-25 3 views
0

Я использую gstreamer для извлечения аудио из видео и передискретизации звука с другой частотой дискретизации. Мой трубопровод работал напильник для разговора, но я не мог настроить потоковое дело правильно связать его с интерфейсом домкрата:Gstreamer: извлечение аудио из видео (flv), скорость повторной выборки и канал для потоковой раковины - не может преобразовать в поток

файла в файл (работает хорошо):

GST-ответно-0,10 filesrc местоположение =/data/Opinion.flv! flvdemux! аудио/mpeg! decodebin! аудиоконвертер! audio/x-raw-int, channels = 1! audioresample! audio/x-raw-int, rate = 16000, depth = 16! wavenc! filesink место =/recordingOut2.wav

файла для потоковой передачи (не работает):.

GST-ответно-0,10 filesrc место =/данные/Opinion.flv! flvdemux! аудио/mpeg! decodebin! аудиоконвертер! audio/x-raw-int, channels = 1! audioresample! audio/x-raw-int, rate = 16000, depth = 16! jackaudiosink

ВНИМАНИЕ: ошибочная трубопровод: не мог связать audioresample0 с jackaudiosink0

следующие трассы трубопровода, но выход имеет неправильную частоту дискретизации:

GST-launch- 0.10 filesrc location =/data/Opinion.flv! flvdemux! аудио/mpeg! decodebin! аудиоконвертер! audioresample! jackaudiosink

Все, что вы видите, что я делаю неправильно?

Можно ли пересчитать аудио и трубу в выходной поток?

Я уже искал вокруг, не найдя подходящего решения. Любое понимание/указатель от вас будет очень признателен!

ответ

1

jackaudiosink только принимает аудио/x-raw-float. Вы можете увидеть это из

gst-inspect-0.10 jackaudiosink 
0

Как предложил ensonic, попробуйте изменить ваш трубопровод быть:

GST-ответно-0,10 filesrc место =/данные/Opinion.flv! flvdemux! аудио/mpeg! decodebin! аудиоконвертер! audio/x-raw-float, channels = 1! audioresample! audio/x-raw-float, rate = 16000, depth = 16! jackaudiosink

Хотя вы, вероятно, могли бы удалить flvdemux! audio/mpeg, поскольку decodebin также подключит к вам демультиплексор.