Добрый день, хабрасообщество. Ищу у вас помощи, так как сам уже отчаялся найти решение проблемы.
Пытаюсь проводить онлайн-трансляции спортивных матчей посредством ffmpeg. Проблема состоит в следующем, ffmpeg часто заканчивает работу с выводом следующего диагностического сообщения «circular_buffer: OVERRUN». Трансляци осуществляется по следующей схеме: режиссёрский пульт телевизионщиков -> какой-то аппаратный кодировщик сигнала -> soho-свитч с которого я уже и забираю сигнал, а их идёт дальше по vlan на студию. Запускаю примерно так: ffmpeg -f mpegts -i «udp://@224.2.2.2:20000?buf_size=100000000000» -vcodec libx264 -preset slow -vf crop=720:486:0:37 -maxrate 1400k -minrate 1300k -b:v 1500k -bufsize 800000k -ar 44100 -b:a 32k -acodec libfaac -deinterlace -f flv -isync -re «некий адрес rtpm-сервера». Перебрал кучи вариантов, и менял значения, и добавлял/удалял параметры. Толку ноль. Проблема однозначно не в сервере, ибо пробовал два разных оператора. Возможно проблема в кодировщике с которого я получаю сигнал, но тогда вообще абзац, ибо ради меня его никто трогать не будет. Пробовал даже запускать vlc с преобразованием в unicast видеопотока в виде эдакой буфферизирующей прослойки, но эффекта это не дало. Буду очень признателен, за любые мысли на сей счёт.