影音同步修正

影音同步由播放器自动修正,本套软件改进思路如下:

1. 产生误差的原因

1.1 非同源时钟:当两个定时器非同一个时钟源时,彼此产生积累误差。由于音频和视频数据性质不同,分音频和视频两套播放系统,需要两个定时器。

1.2 非整数帧:Windows系统最高定时精度为1ms,帧间延时非整数时,积累产生误差。比如24帧视频,帧间延时为1000ms / 24帧 = 41.66ms,系统只能定时41ms,每帧0.6ms误差,播放一会,影音逐渐不对照。

2. 同步是必须的,同步思路是音频定时器修正视频定时器,音频定时器固定一秒,即每一秒修正一次。视频定时器每播放一秒后停止,为了消除误差,最后一帧不播放,即每秒减少最后一帧定时次数,音频定时器除完成自己的工作,还触发播放一个视频帧,同时重新启动视频定时器,完成同步工作。

3. 示意图:

4. 这个想法经实际测试,可以正常播放视频,未发现异常。

时间: 2024-10-10 01:21:14

影音同步修正的相关文章

x264 - 高品质 H.264 编码器

转自:http://www.5i01.cn/topicdetail.php?f=510&t=3735840&r=18&last=48592660 H.264 / MPEG-4 AVC 是优秀的视讯编码格式就目前已成熟的视讯编码格式而言,H.264的压缩率是最佳的.压缩率极高,可以只用很低 bitrate 提供堪用画质. 而 x264 为免费开放原始码的 H.264 / MPEG-4 AVC 编码器,是目前编码效率最高的开放原始码 H.264 编码器. 此文只是基础知识,说明只是大略

转载:ffmpeg 音视频合成分割

http://blog.csdn.net/jixiuffff/article/details/5709976 当然先安装了 gentoo 下一条命令搞定 emerge  ffmpeg 格式转换 (将file.avi 转换成output.flv) ffmpeg -i  file.avi   output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi 两个命令                     ( video2.av

FFmpeg 维基百科

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影.转换.流功能[1],包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库. "FFmpeg"这个单词中的"FF"指的是"Fast Forward"[2].有些新手写信给"FFmpeg"的项目负责人,询问FF是不是代表“Fast Free”或者“Fast Fourier”等意思,"F

MVP演化论

本文是翻译MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java(Mike Potel)文章的摘要.该文介绍了从MVC到MVP的思想演化过程. SmallTalk编程模型 在该项目中,使用了MVC来实现GUI(graphical user interface)对象. 使用3个抽象来代表一个GUI对象(checkbox/textbox). Model.代表对象对应的底层数据.(checkBox的on-off

【详解】如何编写Linux下Nand Flash驱动

From: http://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html 版本:v2.2 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了

[JQuery]分页插件PageList

虽然已经有了[JQuery]分页插件jQuery pager plugin功能扩展,可惜蛋疼的UI不一样,只能重做一个,唉 基本上与pager类似,只不过跳转方式有所变化,以下是具体的js,其中defaultSettings为相关参数设定,其中要注意的是renderPerCall,这个参数如果设为false,将不执行html重绘 $.fn.pageList = function (arg, methodName) { if (typeof methodName === "string"

录屏大师下载|录屏大师app下载

录屏大师是我非常喜欢的一款录屏软件,因为该软件是针对游戏录屏的,因为该软件是,提供了两种的的录屏方式,横屏录制跟竖屏录制.大家可以根据所玩游戏的实际情况,选择录屏方式,以便获得更好的录屏效果.小编现在需要录屏的游戏是楚留香,这是一款横屏游戏,因此我们选择[横屏录制]录屏大师下载链接应用简介录屏大师app是一款目前非常实用的录屏软件,可以帮你轻松录制你想要录制的视频.游戏等,轻松便捷,不占资源,非常简单的录制游戏精彩瞬间,并不会影响你的手机体验,还拥有编码技术,高清流畅,体积小,更附带了视频剪辑功

FFMpeg音视频操作命令

如果没有安装ffmpeg,请参考:Mac 配置FFmpeg环境 FFmpeg官网:FFmpeg GitHub FFmpeg-Android-Java:FFmpeg-Android-Java 命令参数 可以通过命令帮助查看: ffmpeg -h 全局选项: -y:覆盖输出文件 -n:永远不会覆盖输出文件 -ignore_unknown:忽略未知的流类型 stats:编码期间打印进度报告 -vol volume:改变音量(256 =正常) 每个文件的主要选项: -f fmt:强制格式,设置输出格式

多线程中volatile关键字的作用

原文链接:https://blog.csdn.net/xuwentao37x/article/details/27804169 多线程的程序是出了名的难编写.难验证.难调试.难维护,这通常是件苦差事.不正确的多线程程序可能可以运行很多年也不出一点错,直到满足某些临界的条件时,才出现意想不到的奇怪错误. 不用说,编写多线程程序的程序员需要使用可能得到的所有帮助.这期专栏将专注于讨论竞争条件(race conditions)——这通常是多线程程序中各种麻烦的根源——深入了解它并提供一些工具来防止竞争