webrtc中时间戳的计算

101 篇文章 109 订阅 ¥29.90 ¥99.00
本文档详细解析了在WebRTC中VideoStreamEncoder::OnFrame函数中如何处理和计算视频帧的时间戳。当视频帧的timestamp_us大于当前时间时,会将其重置为当前时间。同时,根据不同的条件计算ntp_time_ms,并转换为RTP时间戳。若连续两帧的ntp_time_ms相同或旧,将丢弃后续帧。建议在构造VideoFrame时设置为0,以便于在该函数中自动计算。
摘要由CSDN通过智能技术生成

一:视频部分:

具体函数:void VideoStreamEncoder::OnFrame(const VideoFrame& video_frame)

void VideoStreamEncoder::OnFrame(const VideoFrame& video_frame) {
  RTC_DCHECK_RUNS_SERIALIZED(&incoming_frame_race_checker_);
  VideoFrame incoming_frame = video_frame;

  // Local time in webrtc time base.
  int64_t current_time_us = clock_->TimeInMicroseconds();
  int64_t current_time_ms = current_time_us / rtc::kNumMicrosecsPerMillisec;
  // In some cases, e.g., when the frame from decoder is fed to encoder,
  // the timestamp may be set to the future. As the encoding pipeline assumes
  // capture time to be less than present time, we should reset the capture
  // t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinabinlang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值