EasyPlayer rtsp播放器源码解析之64位编译方案
来源:互联网 发布:杭州市行知小学 编辑:程序博客网 时间:2024/06/02 03:35
EasyPlayer支持多路拉流播放,而拉流解码的过程需要占用系统资源,而我们都知道32位程序最多只能利用4G的内存,而现在动则8G,16G的内存空间是完全不能被利用的;所以,为了充分利用内存资源,我们准备将EasyPlayer改成64位版本。
新建64位编译平台
所有依赖库编译成64位
1> gpac库编译64位
官网下载gpac源码,通过cmake生成对应的VS版本,然后编译64位平台即可;
2> libEasyAACEncoder库编译64位
3> ffmpeg编译64位
ffmpeg可从官网下载源码,通过交叉编译或者cmake编译64位;
4> IntelHardCodec编译64位
5> SaveJPGDll库编译64位
6> FFDecoder编译64位
7> D3DRender编译64位
这里郑重感谢Gavin大神百忙之中抽出时间帮忙编译64位版本库;
8> EasyRTSPClient编译64位- 程序编译64位并兼容32位调试
程序编译很简单,指定编译平台,然后附加对应平台的依赖项的头文件和库文件即可;
通过本次编译64位版本,遇到的几个问题及注意事项:
(1)程序依赖的DLL库编译64位的通过要注意其所依赖的库(系统的或者第三方的)都要编译的64位支持;
(2)如果没有源码,由第三方提供的库,如果需要兼容编译,可以通过宏定义的方式解决,如:
#ifdef _WIN64#include "D3DRender\include\x64\D3DRenderAPI.h"#pragma comment(lib, "EasyRTSPClient/lib/x64/libEasyRTSPClient.lib")#pragma comment(lib, "FFDecoder/lib/x64/EasyDecoder.lib")#pragma comment(lib, "./D3DRender/lib/x64/D3DRender.lib")#pragma comment(lib, "IntelHardCodec/lib/x64/IntelHardCodec.lib")#pragma comment(lib, "libEasyAACEncoder/lib/x64/libEasyAACEncoder.lib")// 增加MP4box和SaveJPG库的支持 [9/20/2016 dingshuai]// JPGSave#pragma comment(lib, "SaveJPGDll/lib/x64/SaveJpgDll.lib")#else#include "D3DRender\include\x86\D3DRenderAPI.h"#pragma comment(lib, "EasyRTSPClient/lib/x86/libEasyRTSPClient.lib")#pragma comment(lib, "FFDecoder/lib/x86/EasyDecoder.lib")#pragma comment(lib, "D3DRender/lib/x86/D3DRender.lib")#pragma comment(lib, "IntelHardCodec/lib/x86/IntelHardCodec.lib")#pragma comment(lib, "libEasyAACEncoder/lib/x86/libEasyAACEncoder.lib")// 增加MP4box和SaveJPG库的支持 [9/20/2016 dingshuai]// JPGSave#pragma comment(lib, "SaveJPGDll/lib/x86/SaveJpgDll.lib")#endif
目前x64的系统已广泛使用,未来主流程序都应该是64位的,为了充分利用内存资源,也建议大家都将目前的32位程序升级成64位;最新兼容64和32位的EasyPlayer将在近期发布。
阅读全文
1 0
- EasyPlayer rtsp播放器源码解析之64位编译方案
- EasyPlayer RTSP播放器源码解析系列之效率优化方案
- EasyPlayer RTSP播放器源码解析系列之H264一帧多NAL写MP4录像花屏问题解决方案
- EasyPlayer RTSP Windows播放器OSD字幕叠加接口方法和使用效果全解析
- EasyPlayer RTSP/RTMP/HTTP/HLS全功能播放器
- EasyPlayer Android RTSP流媒体播放器结构浅析
- EasyPlayer RTSP安卓Android播放器架构简析
- EasyPlayer Android RTSP播放器延迟再优化策略
- EasyPlayer windows RTSP播放器OCX插件使用说明
- EasyPlayer源码解析系列之支持H265
- EasyPlayer RTSP播放器对RTSP播放地址url的通用兼容修改意见
- EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)
- EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)
- EasyPlayer RTSP Android安卓播放器修复播放画面卡在第一帧bug
- EasyPlayer源码解析系列之录像写MP4
- EasyPlayer开源流媒体移动端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版
- EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别
- EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别
- EKF2学习之控制融合模式
- 数组Array、对象Object、json格式常用的方法小结。
- java 多态 成员变量
- eclipse创建maven项目
- Installing & Building Spark Environments
- EasyPlayer rtsp播放器源码解析之64位编译方案
- 个人总结php笔试题四
- java-同步锁synchronized
- MySql主从复制
- IDEA中SonarLint的配置
- ajaxfileupload上传文件,返回json数据报错的问题。 Resource interpreted as Document but transferred with MIME type ap
- QT 取消ui->PushButton的边框
- mkdir -p
- public protected private区别