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

本文主要是介绍高RTSP兼容RTSP播放器网页无插件流媒体播放器EasyPlayer-RTSP-Win64位代码编译升级调试过程介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

EasyPlayerRTSP.png

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

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

1.新建64位编译平台

51.jpg

所有依赖库编译成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://www.jianshu.com/p/3902dbc36b9d

这篇关于高RTSP兼容RTSP播放器网页无插件流媒体播放器EasyPlayer-RTSP-Win64位代码编译升级调试过程介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930882

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n