Здравствуйте.
Читаю фрагмент отсюда -
https://lmtools.com/content/rtp-timestamp-calculation:
Typically in video case there are 30 frames per second or 24 frames per second video. Lets consider a typical case, where sampling rate is 90kHz and fps is 30.
Then video RTP packet timestamp incremental value = 90kHz / 30 = 90,000Hz / 30 = 3000.
Hence each video RTP frame timestamp should be incremented by 3000.
In practice, one video frame may be sent as more than one RTP packet because of bigger size. Say one video frame you are sending as 3 RTP packets. For all these 3 RTP packets, you need to keep timestamp same. For next video frame you can increase RTP timestamp by 3000.
In certain cases, if you do not know fps, probably you need to go for system clock time and derive timestamp.
1) Зачем сэмплировать видео? Для синхронизации с аудио? В чем смысл?
2) Почему такая частота, а не скажем, 90Hz, чтобы шаг был 3? Не все ли равно какая частота сэмплирования?
Заранее благодарю.
Здравствуйте, andrey.desman, Вы писали:
S>>1) Зачем сэмплировать видео? Для синхронизации с аудио? В чем смысл?
AD>Вопрос именно в термине? Так называется параметр rtp потока, это еще от аудио.
Нет, зачем это нужно вообще. Если про аудио понятно, то зачем это для видео --
Разве только
легаси.
Здравствуйте, Sharov, Вы писали:
S>Нет, зачем это нужно вообще. Если про аудио понятно, то зачем это для видео -- Разве только
S>легаси.
Так я и написал: и легась, и для pts, которые могут быть очень разных fps, которых в свою очередь в rtp нет.
https://datatracker.ietf.org/doc/html/rfc3551#section-5
S>Нет, зачем это нужно вообще. Если про аудио понятно, то зачем это для видео -- Разве только
S>легаси.
Тут речь идет не о разбиении видео на сэмплы (фреймы), а именно о разбиении в контексте присвоения меток времени. И, как коллега уже упомянул, 90 килогерцовые тики пошли из MPEG-2 TS исторически, плюс, это дает вполне приемлемую точность.
И все это нужно для аудио-видео синхронизации. Ну она очевидно для чего нужна. Особенно, кстати, это важно на стриминге 24/7 либо же просто достаточно длительной трансляции. Там даже мелкая погрешность приведет к разъезжанию картинки и звука уже через несколько часов, не говоря уж о днях.