当前位置: 首页 > news >正文

【WebRTC---源码篇】(二十五)音视频同步

RTC音视频同步场景:

音视频不在同一个时间点开始采集,如在视频先采集,音频后采集的情况下。我们不能贸然的认为音频起点来对齐视频起点,这种情况下,如何对音视频进行处理,就涉及到了音视频同步的知识。

解决思路:

通过现有条件,我们拥有RTP和SR,那么是不是可以用这两个东西做文章呢?答案是,当然可以

首先关注几个关键词:
capture time,render time,rtp的 timestamp,sr,计算ntp

相关内容可以参考另一篇文章内容详解

我们把重点聚焦在EncodedImageCallback::Result RtpVideoSender::OnEncodedImage

  // 这段代码是重头戏,设置rtcp timestamp和ntp的对应关系,用于生成srif (!rtp_streams_[stream_index].rtp_rtcp->OnSendingRtpFrame(encoded_image.Timestamp(), encoded_image.capture_time_ms_,rtp_config_.payload_type,encoded_image._frameType == Vid
http://www.lryc.cn/news/265116.html

相关文章:

  • 鸿蒙开发之统一样式, @Styles 复用样式
  • 解决java内存问题
  • 分享5款为你生活带来便捷的小工具
  • 【Java JVM】JVM 分析工具
  • 融资项目——vue之双向数据绑定
  • 『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值
  • 姿态识别、目标检测和跟踪的综合应用
  • 数据结构考试测试编程题
  • 力扣每日一题day37[113.路径总和ii]
  • Keras使用sklearn中的交叉验证和网格搜索
  • docker--Prometheus、Grafana、node_exporter的安装配置及Springboot集成Prometheus示例
  • 数据结构和算法笔记2:二分法
  • Mybatis3系列课程8-带参数查询
  • IDEA shorten command line介绍和JAR manifest 导致mybatis找不到接口类处理
  • 泽攸科技SEM台式扫描电子显微镜
  • 华为交换机配置BGP的基本示例
  • 数据分析基础之《numpy(4)—ndarry运算》
  • 分享一个项目——Sambert UI 声音克隆
  • ES6 语法精粹简读
  • uniapp整合echarts(目前性能最优、渲染最快方案)
  • 解决Electron应用中的白屏问题的实用方法
  • 大数据---34.HBase数据结构
  • 【工具使用-有道云笔记】如何在有道云笔记中插入目录
  • 用户管理第2节课-idea 2023.2 后端一删除表,从零开始---【本人】
  • 如何添加jar包到本地Maven项目中
  • 智能优化算法应用:基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【MATLAB第85期】基于MATLAB的2023年智能进化算法/元启发式算法合集(持续更新)
  • [Realtek sdk-3.4.14b]RTL8197FH-VG+RTL8812F WiFi使用功率限制功能使用说明
  • Vue中为什么data属性是一个函数而不是一个对象?(看完就会了)
  • Linux中一些知识积累(持续补充)