Я не уверен, что это будет делайте то, что хотите, но это поможет немного отладить проблему:
В начале вашего скрипта: включите управление заданиями (по умолчанию отключено в скриптах) с помощью: set -m
Затем внутри clean_up функция, измените disown
на disown% 1 2> & 1 | tee /path/to/logfile.log
Также в этой функции добавьте sleep 3
перед строкой quit
, если вы хотите иметь время для просмотра сообщений при запуске скрипт вручную.
Если вам просто нужен необработанный битовый поток, используйте
ffmpeg -i in.mp3 -ar 44100 -ac 2 -f s16le out.pcm
где вывод не имеет заголовков или других метаданных. Это необработанный битовый поток. Два канала чередуются, т.е.{образец -образец ch1 -образец ch2 -ch1...}
Формат CDDA представляет собой 16-битную ИКМ с прямым порядком байтов со знаком и двумя каналами с частотой 44,1 кГц. Итак, вам нужно что-то вроде
-acodec pcm_s16le -ar 44.1k -ac 2
(не проверено ). Кстати, вы можете увидеть все кодеки, включая PCM, с помощью ffmpeg -codecs
.