社区
多媒体/流媒体开发
帖子详情
有关音视频同步的一个疑惑
macrojj
2010-12-14 08:00:13
假如我的音频 采样率是 8000
然后 视频是30帧/s
在发送端, 我打上时间戳。 音频包这秒的数据 0-7999个
视频包这秒的数据 0-30包
在我的接收端 按照音频同步来做
当我收到第 N个音频包的时候 判断播放 第 N/8000*30 帧的数据
问题一 是这样的吗?
问题二 我是每解一个音频包 都要判断现在播放什么视频 还是在 每 30/8000的时候判断
或者 音视频同步我理解错了?
...全文
154
10
打赏
收藏
有关音视频同步的一个疑惑
假如我的音频 采样率是 8000 然后 视频是30帧/s 在发送端, 我打上时间戳。 音频包这秒的数据 0-7999个 视频包这秒的数据 0-30包 在我的接收端 按照音频同步来做 当我收到第 N个音频包的时候 判断播放 第 N/8000*30 帧的数据 问题一 是这样的吗? 问题二 我是每解一个音频包 都要判断现在播放什么视频 还是在 每 30/8000的时候判断 或者 音视频同步我理解错了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
坚定而果敢的五岳散人
2010-12-15
打赏
举报
回复
用音频进行同步,然后隔一段时间矫正一下。
CyberLogix
2010-12-15
打赏
举报
回复
必须要有一个参考时钟,这样才能有一个时间轴
macrojj
2010-12-15
打赏
举报
回复
[Quote=引用 5 楼 dengzikun 的回复:]
引用 4 楼 macrojj 的回复:
现在我有一个疑问。
如果我按照音频来同步 寻找应该播放的视频帧。但是该视频帧,目前我还没收到怎么办。 是等待 还是继续播放。丢弃该帧的渲染。
这么做会有问题的。
首先要在接收端恢复音视频包的相对时间关系,
然后根据这个相对时间关系去安排播放。
[/Quote]
但是你考虑到这个时延怎么控制了没? 我可能都没有收到对应的包 怎么安排时间
dengzikun
2010-12-15
打赏
举报
回复
[Quote=引用 4 楼 macrojj 的回复:]
现在我有一个疑问。
如果我按照音频来同步 寻找应该播放的视频帧。但是该视频帧,目前我还没收到怎么办。 是等待 还是继续播放。丢弃该帧的渲染。
[/Quote]
这么做会有问题的。
首先要在接收端恢复音视频包的相对时间关系,
然后根据这个相对时间关系去安排播放。
macrojj
2010-12-15
打赏
举报
回复
现在我有一个疑问。
如果我按照音频来同步 寻找应该播放的视频帧。但是该视频帧,目前我还没收到怎么办。 是等待 还是继续播放。丢弃该帧的渲染。
dengzikun
2010-12-15
打赏
举报
回复
实时流同步比较简单,音视频在发送端基本都同步好了,
接收端做简单处理即可。比如视频按帧率渲染,音频按
duration播放即可,如果缓冲区上溢,则可以做简单丢包处理,
若下溢,视频可播放前一帧,音频可填入静音数据。
macrojj
2010-12-15
打赏
举报
回复
我现在是这么做的。
在接收端 视频 音频 按照一定的时间间隔渲染。
当解码完毕 丢到一个队列里面去。 如果时间到,取一个节点,播放,如果没有节点,记录下 该节点在规定时间没到,则丢弃。
需要在最初的时候发送一个同步包。设计为视频音频共同传输的一个包。 这个同步包会在传输过程中,经常出现。
如果收到这个同步包, 则更新队列 和定时器。
我觉得我这个方式 比较简单, 也比较适合实时采集 实时传输。
dengzikun
2010-12-15
打赏
举报
回复
媒体间同步,一般是把两个或几个媒体流的时间戳统一到同一个时间轴上进行
同步。统一之后,具体的渲染同步就很好理解了,到音频的播放时间点了就播放音频,
到视频的播放时间点了就播放视频。可以参考RTP,RTCP标准。
参考
dengzikun
2010-12-15
打赏
举报
回复
[Quote=引用 6 楼 macrojj 的回复:]
引用 5 楼 dengzikun 的回复:
引用 4 楼 macrojj 的回复:
现在我有一个疑问。
如果我按照音频来同步 寻找应该播放的视频帧。但是该视频帧,目前我还没收到怎么办。 是等待 还是继续播放。丢弃该帧的渲染。
这么做会有问题的。
首先要在接收端恢复音视频包的相对时间关系,
然后根据这个相对时间关系去安排播放。
但是你考虑到这个时延怎么控制了没?……
[/Quote]
恢复音视频包的相对时间关系和时延没有关系。
音视频包的相对时间关系是在发送端确定的,无论传输到哪里,这种关系是不变的。
既然已经在接收端能够恢复这种关系,同步播放也不复杂。简单地可以这样实现,
播放器在一个统一的时间轴上持续运行,收到音频包,通过其时间戳计算出在统一时间轴上的
时间,然后安排播放,如果音频包的播放时间等于播放器时间,立即播放。如果音频包的播放时间
早于播放器时间,属于晚到,可以考虑丢弃,如果音频包的播放时间晚于播放器时间,属于早到,
音频包进队列等待播放。
视频处理同音频。
macrojj
2010-12-14
打赏
举报
回复
因为采样率是8000 但是会在缓冲区满的时候再发送
于是 我音频一秒打包16个包
请问 这些音频包 视频包 怎么播放呢
H264视频编码器(H264encoder) v1.0.0.1 官方中文版.zip
H264编码器标准草案发布时,很多人都觉得H.264太复杂,不宜实用。眨眼间3年过去了,以往的论断、
疑惑
被如今的现实冲洗的干干净净。一张7.92G的1小时50分的av,分辨720*480,用Ahead dvd ripper,现在用最新的ffdshow h264编码(4线程,码率1500k),需要1小时10分左右。cpu吃不完,占用率在50%左右。 采用H.264编码,将视频文件压缩转换为MP4/3GP/F4V/AVI格式.绿色软件,使用方便,压缩速度快,图像质量好. 本软件使用Windows系统注册解码器进行视频解码.Windows Media Player能够播放的视频格式,本软件都可以进行压缩.对于不支持的视频格式,可以安装解码包,如ffdshow, 影音风暴等. H264编码器功能: 1、四路视频实时预览,也可利用Web界面对多路直播信号远程集中管理进行配置管理, 2、领先的码率控制技术(CBR/VBR),使其能轻松运作于280Kbps~ 6000Kbps之间。 3、可变的GOP结构:I,IP,IBP,IBBP。 4、PCM音频信道。 5、指纹式植入的视频流的音频处理技术,使得视音频实时
同步
。 6、支持输出文件格式:FLV,MPEG-4,MPEG-2及HTTP,RTSP,UDP网络协议。 7、支持VBR及CBR压缩方式。 8、支持多种分辨率:FULL,D1等; 9、可将录制FLV格式文件再转换为MP4格式文件进行存储; 10、支持自动录制和手工录制; 11、能设定自动录制计划,时间设定为某月某周某日时分秒,自动进行录制; 12、每路直播信号,能设定不同时段的定时任务; 13、可设定录制文件保存路径; 14、支持网络存储,如NASNAS SAN等网络环境。 H264编码器截图:
音视频
-ffplay的
音视频
同步
从ffplay学习
音视频
同步
音视频
技术(一)
音视频
播放器
这是
一个
音视频
技术的系列教程,每一季会向大家展示
一个
方面的
音视频
技术,着重简单实用。本季是实现
一个
播放器。在课程组织上并不是一上来就设计好
一个
软件架构,而是从具体的视频技术入手,一点一点的抽丝剥茧,在...
Hi3516DV300实现
音视频
同步
播放
1.
音视频
同步
1.1
音视频
帧PTS计算 有些人会
疑惑
,为什么用ffmpeg读出来的
音视频
帧的pts会是无效时间戳,时间戳都无效了,我还怎么
同步
?其实很简单,
音视频
的时间戳都是相对第0帧而言的,如果知道当前帧是第几帧,不就知道帧的时间戳了吗。因此时间戳可以如下计算: 音频帧PTS:帧长 / 采样率 * 帧编号, 帧编号从0开始,即0,1,2...... 视频帧PTS: 1 / 帧率 ...
音视频
同步
阀值
做
音视频
同步
的时候可能都会碰到
一个
问题,要达到理想的效果阀值到底设置多大,这是个经验值还是有数据依据,我想到很多人都有这个
疑惑
。最近看到一篇文章写到这个问题,而且据说是有RFC做背书的。 文章中提出了
一个
阀值及几种情况下的效果。其中提到以下三点值得参考。 1. 无法察觉:音频和视频的时间戳差值在:-100ms ~ +25ms 之间。 2. 能够察觉:音频滞后了 100ms 以上,或者超前了 2...
多媒体/流媒体开发
2,542
社区成员
20,281
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章