В настоящее время используется библиотека от FFPMEG для потоковой передачи некоторого видео MPEG2 TS (с кодировкой h264). Потоковая передача осуществляется через многоадресную рассылку UDP.
Проблема, с которой я сталкиваюсь в настоящее время, состоит в двух основных вещах. Существует долгое начальное время подключения/отображения видео (поток также содержит метаданные, и этот поток немедленно обнаруживается моим медиа-инструментом).
Как только видео начинает работать, все в порядке, но оно всегда задерживается из-за этого начального времени подключения.
Я стараюсь максимально приблизиться к LIVE-трансляциям.
В настоящее время используются параметры av_dict_set(&dict, "tune", "zerolatency", 0) и "profile" -> "baseline".
размер GOP = 12;
Сначала я подумал, что проблема связана с i-frame, но первоначальная задержка возникает, если gopsize равен 12 или 250 по умолчанию. хорошо с этого момента.
Согласно документации, опция с нулевой задержкой должна отправлять много i кадров, чтобы ограничить первоначальные задержки синхронизации.
Я начинаю думать, что это проблема типа буферизации, так как, когда я закрываю приложение и оставляю медиаплеер включенным, он затем быстро перематывается вперед через задержку, пока не дойдет до того места, где файл перестает передаваться.