Всем приветы! Помогите, пожалуйста, в тонкостях кодирования я рублю слабо, а въезжать приходится с места в карьер...
Бьюсь над проблемой постоянного битрейта при кодировании UDP-потока в x264. Пробовал уйму всяких вариантов - всё равно битрейт скачет раза в полтора в обе стороны.
Вот один из вариантов, который я использовал:
ffmpeg -report -hide_banner \ -i «udp://@234.5.2.118:1234?fifo_size=1000000&overrun_nonfatal=1» \ -c:v libx264 -s 640x480 -aspect 4:3 -profile:v baseline -preset:v superfast -threads 0 -r 25 -b:v 2048k -minrate 2048k -maxrate 2048k -bufsize 2048k -ar 48000 -strict experimental -c:a aac -b:a 128k -f mpegts «udp://@239.13.2.99:5004?overrun_nonfatal_option=1&pkt_size=1316&fifo_size=100000000»
(настройки кодирования специально убогие, это тест)
При этом под рукой есть проприетарная железка, которая транскодирует сотню потоков и с удивительной точностью держит битрейт для каждого выходного потока. Лишнее выкидывает, недостающее добивает нулевыми фреймами или как их там...
Подозреваю, что я просто туплю и не учёл какой-то волшебный ключик... :-\