Шаги для воспроизведения ======================== 1. # touch input.gsm (настоящий файл не обязателен) 2. # fs_encode input.gsm output.SPEEX (запускается от имени root из-за https://bugzilla.altlinux.org/47334) Фактический результат ===================== Вывод: > Couldn't open output.SPEEX Ожидаемый результат =================== В справке отображается пример с SPEEX, поэтому либо он должен поддерживаться, либо пример должен быть другой: > # fs_encode > Usage: fs_encode [options] input output > > The output must end in the format, e.g., myfile.SPEEX > [...] Возможно, что пример должен быть таким: # fs_encode -v input.gsm output.spx -f SPEEX Но он, похоже, не (полностью) поддерживается: > # fs_encode -v input.flac output.spx -f SPEEX | grep -E 'spx|SPEEX' > [...] [CONSOLE] switch_loadable_module.c:1772 Successfully Loaded [CORE_SPEEX_MODULE] > [...] [NOTICE] switch_loadable_module.c:223 Adding Codec SPEEX 99 Speex 32000hz 20ms 1ch 44000bps > [...] [NOTICE] switch_loadable_module.c:223 Adding Codec SPEEX 99 Speex 16000hz 20ms 1ch 42200bps > [...] [NOTICE] switch_loadable_module.c:223 Adding Codec SPEEX 99 Speex 8000hz 20ms 1ch 24600bps > Opening file input.flac > Opening file output.spx > Couldn't initialize codec for spx@8000h@20i > [...] [ERR] switch_core_codec.c:670 Invalid codec spx! Воспроизводимость ================= Воспроизводится на виртуальных машинах: [p10] server-10.1-x86-64 freeswitch-daemon-1.10.9-alt1.x86_64 [sisyphus] server-10.1-x86-64 freeswitch-daemon-1.10.10-alt1.x86_64
Согласно примеру в: https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_native_file_6587161#script-to-convert-a-sound-file-to-specific-formats-to-avoid-transcoding Команда должна использоваться следующим образом: > # fs_encode -l mod_speex input.gsm output.SPEEX Но при этом происходит ошибка: > [NOTICE] switch_loadable_module.c:301 Adding Timer 'soft' > [CRIT] switch_loadable_module.c:1754 Error Loading module /usr/lib64/freeswitch/mod_speex.so > **/usr/lib64/freeswitch/mod_speex.so: cannot open shared object file: No such file or directory** > Cannot init mod_speex [module load file routine returned an error] > [WARNING] switch_core_codec.c:932 Codec is not initialized! > [WARNING] switch_core_codec.c:932 Codec is not initialized! Вероятно, что основная проблема - в отсутствии модуля (нет ни в одном пакете согласно https://beta.packages.altlinux.org/ru/sisyphus/files/?q=%2Fusr%2Flib64%2Ffreeswitch%2Fmod_speex.so). Может быть, что он загрузится автоматически, если будет присутствовать. Если нет, то возможно следует улучшить и пример, указав на необходимость ручного указания необходимого модуля.
speex пока не планируется поддерживать в пакете.