Я пишу программу на C ++, в которой я обрабатываю видеопоток в режиме реального времени с помощью библиотеки ffmpeg.
Частота кадров на входе составляет 25 кадров в секунду в среднем. Разрыв между двумя кадрами может составлять 10, 20, 40 миллисекунд, но иногда он может составлять около 80 миллисекунд.
В те времена, когда разрыв составляет около 80 миллисекунд, видео кажется прерывистым или застрявшим,
Когда я открываю тот же поток с проигрывателем ffplay (используя ffplay.exe), используя простой
Команда «ffplay.exe udp: // ip: port», видео имеет небольшую задержку (около 50 миллисекунд) по отношению к исходному потоку, но работает намного более плавно.
Могу ли я установить время буферизации или любую минимальную задержку, чтобы задержка между кадрами была намного более устойчивой в моей программе на С ++?
Если так, как я могу это сделать?
Спасибо,
Joel
Задача ещё не решена.
Других решений пока нет …