当前位置: 首页 > 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

相关文章:

  • C++之深拷贝和浅拷贝
  • 测试理论知识四:大型软件的测试技巧——单元测试
  • DotNet Core 在Centos上使用环境变量运行 urls 参数
  • 《每天一分钟学习C语言·七》指针、字节对齐等
  • 只更新软件,座椅为何能获得加热功能?——一文读懂OTA
  • npm的使用技巧
  • UE5 Landscape 制作GIS卫星图地形
  • docker的应用和定义
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • RTP/RTCP/RTSP/SIP/SDP/RTMP对比
  • 10 Vue3中v-html指令的用法
  • 【Matlab in VSCode】在VSCode中编辑MATLAB文件
  • Win7如何修改MAC地址
  • 油猴脚本教程案例【键盘监听】-编写 ChatGPT 快捷键优化
  • 【原理图PCB专题】原理图图纸锁定/解锁与PCB文件加密方式
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 4个实用的微服务测试策略
  • Electron入门介绍
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • leetcode46 Permutation 排列组合
  • python学习笔记-类对象的信息
  • Sass 快速入门教程
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 第2章 网络文档
  • 后端_MYSQL
  • 基于web的全景—— Pannellum小试
  • 记一次用 NodeJs 实现模拟登录的思路
  • 码农张的Bug人生 - 见面之礼
  • 前端设计模式
  • 如何用vue打造一个移动端音乐播放器
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 微信开放平台全网发布【失败】的几点排查方法
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 鱼骨图 - 如何绘制?
  • 中文输入法与React文本输入框的问题与解决方案
  • Java数据解析之JSON
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • !!java web学习笔记(一到五)
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #大学#套接字
  • (BFS)hdoj2377-Bus Pass
  • (SpringBoot)第二章:Spring创建和使用
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm码农论坛 毕业设计 231126
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (七)理解angular中的module和injector,即依赖注入
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)大型网站架构演变和知识体系
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .apk 成为历史!
  • .a文件和.so文件
  • .bat批处理(七):PC端从手机内复制文件到本地