某牛的QT+ffmpeg 播放器 的readme

184 篇文章 37 订阅 ¥29.90 ¥99.00
本文档介绍了使用QT和ffmpeg开发播放器的过程,包括流媒体读入、解码、播放、音视频同步等关键步骤。作者强调了不使用SDL以方便跨平台移植,并采用多线程实现多级缓冲,通过系统时钟进行音视频同步。该示例适用于QT4.6和QT4.7在Windows上的编译运行。
摘要由CSDN通过智能技术生成

http://download.csdn.net/source/2802201

write by :lbwave@sina.com
QT+ffmpeg
大名顶顶的QT ffmpeg 我就不用说了。看看影音风暴、qq影音等现在的播放器动态库,你可以发现ffmpeg使用如此广泛。

解决视频播放的步骤如下:
1、流媒体的读入。
视频流媒体大多都是音频和视频流混合。ffmpeg在读入流媒体后实际上已经把音频流和视频六分开了。详细解说见程序对AVFormatContext说明
2、解码
3、音频播放
4、视频播放
5、音视频同步

解决了以上问题,你可以轻松的写一个播放器了。

另外ffmpeg还支持读写功能的扩展、视频解码的扩展。本人在阅读ffmpeg部分源码后有很深的感触。一个用c写出来的程序,竟有如此好的结构。只能大叫佩服!!佩服!!...


1、不用SDL的理由
SDL是为游戏开发的,大量的依赖硬件加速。不用sdl是为了能方便的将程序移植到其他的平台 。
本人受条件限制未向其他系统移植。但由于没采用QT(ffmpeg)之外的其他第三方代码,相信
移植是个很小的问题。本人曾经做过arm920+qt+linux(fambuffer)的开发。
本程序仅用了Qwideg来显示,就是为了移植方便。ffmpeg用C写的可以向多种平台移植。
2、如何实现音频视频同步
本范例采用系统时钟作为主时钟,用音频时钟校正主时钟。
3、如何实现多趋缓冲
本范例采用多线程处理机制。
1、QFfmpeg :主要负责读取数据包,存入QList列表.压缩前的数据占用空间小。缓冲大小可设,按视频帧数和声卡缓冲大小决定
2、QAudioThread:音频解码
3、QVideoThread:视频解码
4、QFfPlay :播放 (没有用定时器,定时器误差太大)
4、本范例实现QT+ffmpeg播放器的基本功能,仅出于爱好开发,未进行系统排错,用于大家参考交流。
在开发期间参考了ffplay 。
5、实现在QT4.6 QT4.7forwindows版编译运行,内存无重大泄露。

本人愿提供源码和本人的研究感想,见
http://item.taobao.com/item.htm?id=8177265819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值