1

Я использую avconv/FFmpeg для анализа видеопотока и аудиопотока в трансляции. В настоящее время он получает аудиоинформацию по протоколу UDP с параметрами -f wav -ac 1 -i udp://localhost:6613 , так как stdin занят подачей видео, а звук обрабатывается внешней программой перед получением. отправлено в местный порт.

К сожалению, если аудио-канал останавливается по какой-либо причине - наиболее распространенной из которых является то, что пользователь просто отключает этот канал - avconv просто сидит там и "блокирует", ожидая большего ввода на этом канале, и он не будет обрабатывать какие-либо дальше видео пока не получится.

Желаемый результат заключается в том, что поток просто продолжает без звука, а затем снова воспроизводит звук, как только этот канал возвращается. Мне также не обязательно использовать UDP - если есть другой способ получить поток байтов от другой программы в той же системе, я могу переключиться на это достаточно легко. Я просто предпочел бы не тратить циклы на отправку потока 0, а вместо этого обрабатывать его внутренне с помощью avconv.

0