Вы используете live555 исключительно на клиенте?С неизмененным исходным кодом?Откуда берется информация о регистрации в вашем вопросе?
Как правило, всегда будет один скачок в отметке времени довольно близко к началу потока: это происходит, когда первый RTCP SRполученный клиентом, в этот момент клиент сбрасывает метку времени.Это необходимо для того, чтобы клиент мог синхронизировать несколько потоков, поскольку метки времени RTP как в аудио, так и в видео начинаются со случайного смещения.RTCP SR содержит отображение из метки времени RTP в NTP, что позволяет клиенту синхронизировать метки времени.Тот факт, что временная метка переходит отрицательно, не имеет значения, поскольку обе метки времени RTP и NTP не подписаны.
Live555 заботится об этой синхронизации, и поэтому вы можете увидеть скачок временной метки довольно близко к началу.У вас есть возможность либо игнорировать все выборки, полученные до синхронизации RTCP, либо вы можете выполнить более сложное отображение смещения на ноль как до синхронизации RTCP, так и после.Вы можете проверить, произошла ли синхронизация, вызвав метод live555 RtpSource::hasBeenSynchronizedUsingRTCP()
.
Если, однако, вы видите несколько прыжков, у вас может быть другая проблема.В этом случае отредактируйте свой вопрос, добавив более подробную информацию, такую как используемый сервер RTSP, клиент RTSP и т. Д.