Мне нужно разбить многоканальный wav-файл и закодировать каждый канал в mp3-файлы.gstreamer разделяет многоканальный wav-файл на отдельные каналы и кодирует каждый канал как mp3, alac и т. Д. И сохраняет файл
Я знаю об обратном перемещении плагина для gtresamer, но я не уверен, как его использовать для wav-файла и как кодировать поток канала.
Я предпочитаю решение на основе gtreamer (или ffmpeg), поскольку мне нужно ограничить ввод-вывод. I.e, я не хочу, чтобы промежуточные одноканальные wav-файлы записывались в хранилище.
ffmpeg может использоваться для этого в this way. Но оба переключателя недоступны в ubuntu ffmpeg.
решения snsonic выбросил следующую ошибку:
(gst-launch-0.10:2218): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstpng.so': libpng12.so.0: cannot open shared object file: No such file or directory
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal data flow error.
Additional debug info:
gstwavparse.c(1982): gst_wavparse_loop(): /GstPipeline:pipeline0/GstWavParse:wavparse0:
streaming task paused, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
(gst-launch-0.10:2218): GStreamer-CRITICAL **: gst_caps_unref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
Когда я тестировал с использованием одного файла канала WAV без обратного перемежения, был создан mp3 файл, но это был только шум.