169 похожих чатов

Всем привет. Пытаюсь разобраться с задержкой в видео, но пока

безуспешно.

Принцип работы такой. Подключаюсь по вебсокету, все байты видео потока отправляю на локальный адрес "tcp://localhost:port", Остальные данные парню как данные json или файлы
Потом через ffmpeg декодирую данные из tcp://localhost:port в rtp. Вот команда которую я запускаю в ffmpeg '-re -y -i tcp://localhost:localPort -c copy -f rtp_mpegts -ss 0 rtp://localhost:{localPort + 1}'
После же через VlcPlayer подключаюсь к rtp адресу "rtp://localhost:{localPort + 1}"

Я замечаю что разница в видео между мобилкой и вебом 2 секунды, что говорит о том, что веб на 2 секунды быстрее все отображает. У меня есть предположение что декодирование ffmpeg съедает первые 2 секунды (Примерно) От чего все видео сдвигается на 2 секунды вперед и PTZ работает с сильной задержкой.

Я бы хотел узнать, может вы сможете что-то предложить? А также хотел бы узнать как реализовался плеер на вебе, чтобы попробовать сделать реализацию на основе веба

Я отправлял это сообщение заказчикам, но тут подробно описан принцип работы воспроизведения видеопотока, может кто сможет что-то подсказать?

Видео приходит в h264 формате

4 ответов

15 просмотров

Размер буфера уменьшите

Темирлан-Алмасов Автор вопроса
Kerrigan
Размер буфера уменьшите

Через ффмпег? Или vlc? Вообще пробовал разные флаги связанные с буффером и конфиги в плеере тоже, заметных изменений я не видел

Видеонаблюдение?

Темирлан-Алмасов Автор вопроса

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Any electron dev here?
Sayanth Tezro
12
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
Карта сайта