LINUX.ORG.RU

Получение времени и даты(или только времени) фрейма в RTSP playback(Gstreamer + qt)

 


0

1

Здравствуйте, не могу найти ответ на вопрос как получить временную метку, которая рисуется в углу на стриме, я пишу проигрыватель записей с камер, видео транслирую через rtsp, вендор hikvision, смотрел дамп rtp пакетов, декодил payload, там нет, смотрел в gstramerе в decodebin параметр stats, там тоже нет, гуглил всё что можно, но пока не нашёл зацепок, неужели нигде вместе с фреймом не передаётся время его записи?

Дата в углу кадра рендерится поверх изображения. Это картинка, а не метаинформация.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Странно, а как в приложениях вендоров в Avigilon cc7, в hikvision веб приложении, на записях с камер есть таймлайн и маркер который по таймлайну точно с временем камеры ходит, как то реализовали, неужели секундомер обычный ставят и запускают со стартом потока

Deymos_s
() автор топика
Ответ на: комментарий от Deymos_s

В настройках камеры есть возможность включить ntp. На компе тоже можно включить ntp. Тогда часы на обоих устройствах будут синхронизированы. И ты при получении кадра на компе можешь брать системное время и оно будет такое же как и на камере. Только учти, что есть задержка. Т.е. картинка на компе на несколько секунд опаздывает.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

У меня playback а не live стрим, тоесть playback по rtsp, в этом и сложность, если бы нужно было вывести время лайв стрима, было бы куда проще, но надо такое провернуть с записью(

Deymos_s
() автор топика
Ответ на: комментарий от Deymos_s

Блин. Я не про то подумал. Ну посмотри rtsp протокол https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol

Там есть такое в ответе на команду DESCRIBE

a=range:npt=0-7.741000
a=length:npt=7.741000

Может поможет. Я работал только с live потоками.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

ну ладно, видимо придётся асинхронный таймер заводить и с ним и работать, костыли конечно, спасибо за ответ!

Deymos_s
() автор топика

в RTP пакетах приходит таймкод. Рядом идет поток RTCP пакетов, в них есть RTCP SR, в котором идет привязка таймкода к NTP времени.

Если камеру делали не совсем отбитые ушлепки, а ещё и время на ней настроили по NTP, то точности достаточно, чтобы привязать губы к соседнему микрофону.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

совсем отбитые ушлепки this. если в хиквижене ещё отдаёт что то типо npt-start=(guint64)3884827207000000000 то в трассире 0

Deymos_s
() автор топика
Ответ на: комментарий от Deymos_s

ты смотришь кажется в хедеры, куда смотреть можно, но на практике там зачастую мусор. Вот этот ntp-start у хика выглядит адекватным (там микро или наносекунды с 1900 года), у трассира или поленились заполнять, или ты смотришь на VOD

max_lapshin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.