阅读README很重要
欢迎大家来参与主页
http://wang-bin.github.io/QtAV 2015.12.21 QtAV 1.9.0
QtAV 1.9.0 发布了,该版本改进内容包括:
- 支持Windows Store。应用商店搜索
qtav - 给
FFmpeg提交了winrt多线程支持的补丁,性能大有提升,已合并至
上游- 修复iOS部署和运行
错误一些
问题- XAudio2 崩溃问题
- Android: 支持content协议,修复从相册打开无法播放问题;windows上
编译、部署问题修复
- VA-API: 改善n卡支持;加入hevc, vp9,未测;EGL零拷贝渲染支持,性能最好,需要va-api 0.38(ubuntu15.10)和Qt>=5.5及intel显卡。其他一些改进
- 使用OpenGL, GLSL新接口,OpenGL ES3优化
- 支持播放前一帧
- QMLPlayer: 可以按住预览框拖动,处理安卓的home键、返回键...
- 其他更新请看
这下载2014.12.27 QtAV 1.4.2
- 提高seek速度。要感谢wm4(mpv主力开发者)的指点
- 优化音视频同步逻辑,软解播放高分辨率高帧率视频完胜其他
播放器。其他播放器几乎不能看,包括硬解,除了mpv+vaapi。以后将有更好的优化。windows下效果略差。4k 120fps测试视频:
http://pan.baidu.com/s/1sj6s40l- 修复VA-API解码图像下方多出一条模糊的线问题。修复使用libav9时vaapi可能不工作的问题。
- ffmpeg运行时支持hevc dxva硬解的话就启用硬解。目前要使用LAVFilters的ffmpeg。
- Cedarv硬解优化
- 增加可扩展的视频输入源接口。支持qrc资源
文件里的音视频播放(QtMultimedia还不支持)
- 异步加载
- 修复使用openal时多个播放器实例播放音频不正常问题
- 修复播放下一帧问题
- 修复截图不是当前帧问题。简化截图接口
- 修复qml视频画面抖动问题
- 正确处理文件名中的特殊字符。
- libass改为动态加载。依赖
https://github.com/wang-bin/capi- 支持链接到ffmpeg静态库
- rgb48支持。opengl只支持rgb48le
2014.09.10 QtAV 1.4.0
下载:
https://sourceforge.net/projects/qtav/files/release/1.4.0- OpenGL优化,支持更多的格式,支持QML,对于Qt>=5.4支持opengl动态切换
- VAAPI: GLX直接渲染支持,性能大幅提升。检测显卡是否4k以防止系统崩溃.
- DXVA: 更多解码表面以提升性能防止画面抖动
- OSX的VDA硬解支持
- Android支持,部署更简单
- 字幕支持,包括qml
- OpenAL 改进,支持大多数平台
- FFmpeg的libavfilter支持
- 音频播放接口改变
- 简化OSX的部署和
安装包制作
- bug修复
2014.05.30 QtAV1.3.4
- CUDA:修复播放时花屏、画面顺序跳动等问题
- VAAPI,DXVA:之前VAAPI的性能很差。现在intel gpu使用sse4.1来拷贝解码
数据,性能提升明显。 VAAPI支持drm
- 使用ffmpeg新的硬解接口
- 修复切换解码器后画面
显示不对甚至崩溃问题
- 加入avcodec、avformat和各解码器的一些高级选项。
- metadata 支持
- 优先使用流信息里的显示比例。感谢 Sandro Cavazzoni
- 修复文件名编码问题。之前貌似日语文件名打不开
- 修复带
图片的音频不显示图片和不能拖动进度的问题
- 支持将QtAV安装为Qt的模块方便开发应用
详情见
http://wang-bin.github.io/qtav.org/blog/1.3.4.html
2014.01.29 QtAV 1.3.1
库相关:
- OpenAL初步支持
- 修复硬件解码时seek、网络丢包等情况下崩溃问题
- CedarX硬解支持。可以在pcDuino上硬解。感谢 Miroslav Bendik. 可以看他的视频
http://www.youtube.com/watch?v=u3mvDe3GBPI- FFmpeg log和错误处理
- AVDictionary 支持
- Hi10bits 使用软解
- 还有其他诸多改进
播放器相关:
ctrl+滚动滚轮进行缩放,禁止屏保等
同时加入了
界面更加 cool 的 QMLPlayer例子,在windows、mac、linux上都有不错的体验

2013.12.19 QtAV 1.3.0 发布
- windows下dxva硬解初步支持,目前拖动时间可能会有崩溃问题。vaapi目前性能很差
- 可选择音轨
- 可调节亮度、饱和度等
- 循环播放、播放列表、历史记录
- HEVC支持(FFmpeg)
- 优化网络电视界面、其他界面等
以下功能是库里支持但player未加ui的
- 一个视频播放多个输出
窗口支持,支持裁剪,自定义filter
2013.07.04 QtAV1.2.2
改进的是音频播放,之前播放mp3和部分视频爆音的问题已无
任意控制播放速度(见图,或Ctrl+上/下来加减速度)
音量控制控件
1.2.1主要更新:
视频显示质量控制
修复显示比例不正确的问题。可以设为任意比例
修复一些崩溃、内存泄漏等错误
2013.05.27 QtAV1.2.0发布:
更新很多东西,主要有
1. player例子加入gui界面,易于操控。自带一些网络电视
2. 独创的播放时渲染引擎无缝动态切换。可以方便地对比各种渲染引擎的cpu使用率
3. X11下XV的支持(Qt4 only)
4. bug修复等
2013-03015
新增了几个渲染方式,如opengl, direct2d, gdi。在我电脑上direct2d对性能提升非常明显。增加了OSD(现在的设计很烂),原来的O键改成了切换OSD。Ctrl+O是打开文件。
切换视频大小比例按R。
完善了qmake的工程框架,移植了很多Qt5里qmake内置函数到Qt4,用qmake语法写的,支持编译检测。若要重新配置请删除编译目录里的.qmake.cache再qmake,mingw可能qmake一次不够,需要两次(还没找到原因,我的pro写得太复杂了)。linux下支持make deb来生成安装包。
支持VC(我vs2010编译出来的无法运行,2012正常,不解),方法见github 上的wiki。支持Qt5
命令行:player [-vo qt|gl|d2d|gdi] [url/path]filename
或者把player改名成player-gl, player-d2d, player-gdi也可以
2013-01-13更新
已经比较稳定了。目前有一些国内外的开发者在使用了,用来显示摄像头实时视频蛮多的。
还有很多东西要开发,比如组件化、硬件加速等
源码:
https://github.com/wang-bin/QtAV由于github即将关闭文件上传的功能,所以在
sourceforge上也建了一个,可以下载mingw下编译所需的库
win下编译要用到的库如ffmpeg,portaudio可以在https://sourceforge.net/projects/qtav/files/depends 下载
希望对大家有所帮助。
了解了下视频解码和音视频同步的原理,于是一口气写了个播放器,感觉并不难。音频播放使用portaudio,在linux上貌似有问题。功能还比较简单,能正常播放视频。对比了mplayer、迅雷看看播放4G大小的视频的资源使用,它们都要200多M的内存,我的只要50多点,挺意外的。
支持快进快退、暂停继续、音量调节、单帧控制、截图等 TODO:字幕,长宽比例 etc

