基于FFMPEG的裸眼3D播放器

整个裸眼3D显示是一个很大的项目,播放器只是其中的一个工具。至于标题中的裸眼3D,并不是噱头。需要3D片源+3D播放器+3D显示器,出来的效果还是很赞的。这篇文章里,先说说播放器~当做写个总结,如果能遇到大牛给予些交流指正,也是极好的~

话不多说,先上图:

这是整个播放器的框架,可以看到用了很多不同的模块。

1. 最顶层采用的是QT,因为QT的信号槽机制使用起来特别方便,上手也比较快。

2. 最底层采用的是FFMPEG,这个没啥好说的了,做播放器的都懂的~一开始啥也不会,都是看着雷霄骅老师的博客学过来的。 其实要做一个普通的播放器并不困难,用QT自带的Multimedia类或者OpenCV,很少的代码就能做一个播放器。只不过它们把解码的过程封装得太好,如果想对底层更了解一点,或者想对数据添加一些自己的操作,还是自己用FFMPEG来解码比较好~

3. 解码出来的音频数据交给SDL来播放。这个你也可以选择其他的模块,像Directsound啥的~

4. 至于视频数据嘛,因为3D片源跟普通视频片源不一样,我们需要把解码出来的每一帧图像进行处理。我们选择的是D3D,别问我为什么不是OpenGL,因为之前D3D有写好的接口,就没用OpenGL重新写了。(如果不需要做处理的话,直接把解码出来的frame打包成QImage交给QT显示就好了,两三句代码的事。但是QT的显示能力有限,在测试过程中我们发现在普通的显示器上可以正常显示。但是在大尺寸或者高分辨率的显示器上,比如4K显示器,直接用QT来显示就比较吃力了。所以尽量还是用D3D或者OpenGL来显示吧)

播放器的整体框架和主要模块大概就这样了,至于播放器内核,多线程、音视频同步、图像处理模块等等,总结好了以后再写吧~

时间: 2024-10-16 10:38:57

基于FFMPEG的裸眼3D播放器的相关文章

基于ffmpeg+SDL2 实现简单rtsp播放器

参考资料: 编译参考:         http://blog.chinaunix.net/uid-20718335-id-2980793.html 代码参考:         http://blog.csdn.net/leixiaohua1020/article/details/8652605 实现ffmpeg在window下编译,并基于ffmpeg动态库用测试程序播放本地文件和RTSP视频流 csdn博客插个图片怎么这么麻烦,上篇辛辛苦苦截了那么多图一上传全没了,代码里想变色结果发布了一看全

Android 手机裸眼 3D 技术原理和编程实现

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> android手机裸眼3D技术原理和编程实现 - 懒人日志 - 博客频道 - CSDN.NET 懒人日志 懒人 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]流畅的Python,终于等到你!    &nbsp CSD

基于jQuery的视频和音频播放器jPlayer

jPlayer见网络上资料很少,官方英文资料太坑爹TAT,于是就写一个手记给大家参考下.据我观察,jPlayer的原理主要是用到HTML5,在不支持HTML5的浏览器上使用SWF.做到全兼容,这一点很不错.官方还说明,服务器对于MP3文件不要做GZIP压缩,只是徒增CPU而已.并且在Flash播放GZIP的MP3时会出错. jPlayer简介: 想在网页上播放背景音乐,不想用html标签的方式,因为那样只有音乐全部下载完以后才能播放,还容易出现跨浏览器兼容性的问题,于是选了一款基于jQuery的

基于MFC的Media Player的播放器的制作(1---播放器界面的布局)

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 通过上面的一些预备知识,我们现在就可以自己来制作基于MFC的播放器了,接下来我们讲的是使用MFC制作我们播放器 的界面. 首先,我们我们打开VC++ 6.0.找到工具条:  文件 ---> 新建--->在接下的操作根据图片来 上面的操作完成之后,我们可以在我们设置的保存路径处,找到我们的过程文件夹,并且可以看到VC++6.0的面板了. 如下图: 接下来,介绍界面组件的添加:如图操作 如上图将所有的组件添加好,并设置好ID和名称,我的

基于Qt Phonon模块实现音乐播放器

这次使用Qt实现的是一个本地音乐播放器,可以播放下载在计算机本地的音乐,提供了添加歌曲,歌曲列表,清空列表的功能.默认歌曲列表循环播放.音乐播放的实现主要依赖的是Qt 的多媒体框架phonon.该音乐播放器的开发环境是Qt4.8.5+Qtcreator2.8.0. 音乐播放器界面如下: 主界面 歌曲列表 一.使用Qt Phonon框架播放音乐 想要写一个音乐播放器,最基本的当然就是要知道使用这个框架来播放音乐以及一些基本的播放控制比如暂停.停止.下一首等.只有知道了这些基本的东西,后面才可以将界

干货来袭,超级震撼的裸眼3D。

大家有没认为有意思啦,反正俺是被震撼到了! 超级震撼!!,互联网的一些事" border="1" height="382" src="http://www.yixieshi.com/uploads/allimg/141116/144643B25-0.jpg" width="500" style="height:auto; max-width:680px; vertical-align:middle; bor

这才是真正的裸眼3D!超级震撼!!

大家有没认为有意思啦,反正俺是被震撼到了. 好奇异-- ! " src="http://www.yixieshi.com/uploads/allimg/141116/1446431231-1.jpg" border="1"> 长发公主,我都晕了.你不晕吗? 狗狗,你这是要干啥的节奏啊 这箭,究竟准不准啊? 超级震撼.." src="http://www.yixieshi.com/uploads/allimg/141116/1446

基于 ffmpeg 的跨平台播放器实现

https://www.qcloud.com/community/article/309889001486708756 背景: 随着游戏娱乐等直播业务的增长,在移动端观看直播的需求也日益迫切.但是移动端原生的播放器对各种直播流的支持却不是很好.Android 原生的 MediaPlayer 不支持 flv.hls 直播流,iOS 只支持标准的 HLS 流.本文介绍一种基于 ffplay 框架下的跨平台播放器的实现,且兼顾硬解码的实现. 播放器原理: 直观的讲,我们播放一个媒体文件一般需要5个基本

基于 ffmpeg时时彩源码 php 的跨平台播放器实现

随着时时彩源码 php[大神源码论坛]dsluntan.com  [布丁源码论坛]budingbbs.com 企娥3393756370 游戏娱乐等直播业务的增长,在移动端观看直播的需求也日益迫切.但是移动端原生的播放器对各种直播流的支持却不是很好.Android 原生的 MediaPlayer 不支持 flv.hls 直播流,iOS 只支持标准的 HLS 流.本文介绍一种基于 ffplay 框架下的跨平台播放器的实现,且兼顾硬解码的实现. 播放器原理: 直观的讲,我们播放一个媒体文件一般需要5个