Я запускаю mplayer в другом процессе
cmdline = ['mplayer', '-noconsolecontrols', '-nocache', '-']
player = subprocess.Popen(cmdline, stdin=subprocess.PIPE,
stderr=subprocess.PIPE)
Я получаю аудиоданные из websocket и передаю аудиоданные в mplayer, записывая в stdin процесса:
player.stdin.write(audiodata)
Это работает, но звук задерживается от 4 до 5 секунд.Я почти уверен, что задержка вызвана mplayer, так как я вижу, что mplayer не воспроизводит аудио сразу, но ждет, пока получит немало партии аудиоданных.Я уже выключил кеш, поэтому я подозреваю, что mplayer все еще нужно определенное количество данных, прежде чем он сможет декодировать?
Код написан на python и работает на Ubunbtu.Интересно, смогу ли я, чтобы mplayer воспроизводил звук сразу же после его получения?
Большое спасибо