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 ответов

41 просмотр

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта