• 高RTSP兼容RTSP播放器网页无插件流媒体播放器EasyPlayerRTSPWin64位代码编译升级调试过程介绍


    大多数RTSP的播放都面向直播场景,如果延迟过大会严重影响体验。所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP播放延迟控制在几百毫秒,VLC在几秒。

    除了H.264,还需要支持H.265,目前市面上的RTSP H.265摄像头越来越多,支持H.265的RTSP播放器迫在眉睫,此外,单纯的播放H.265还不够,还需要可以能把H.265的数据能录制下来。

    EasyPlayer-RTSP-Win64位代码编译升级

    大牛直播SDKRTSP播放器EasyPlayer-RTSP-Win支持多路拉流播放,而拉流解码的过程需要占用系统资源,而我们都知道32位程序最多只能利用4G的内存,而现在动则8G,16G的内存空间是完全不能被利用的;所以,为了充分利用内存资源,EasyPlayer-RTSP-Win也将会升级到64位版本。

    1.新建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位

    2.程序编译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")
    #endif
    

    目前x64的系统已广泛使用,未来主流程序都应该是64位的,为了充分利用内存资源,也建议大家都将目前的32位程序升级成64位;最新兼容64和32位的EasyPlayer-RTSP-Win也将发布。

    本文转自:https://blog.csdn.net/TsingSee/article/details/102682467

  • 相关阅读:
    Linux I2C驱动程序设计
    I2C裸机驱动程序设计
    Linux串口驱动程序设计
    Linux平台总线设备驱动
    Linux总线设备驱动模型
    Linux内核同步机制
    Linux设备驱动开发基础--阻塞型设备驱动
    模型评估方法和性能指标
    机器学习——XGBoost
    机器学习——GBDT
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/11719887.html
Copyright © 2020-2023  润新知