iOS开发之集成雄迈视频FunSDK步骤

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC"; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC"; min-height: 20.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC" }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC"; color: #000000; background-color: rgba(0, 0, 0, 0); min-height: 20.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC"; color: #000000; background-color: rgba(0, 0, 0, 0) }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 17.0px; font: 14.0px "PingFang SC"; color: #000000; background-color: rgba(0, 0, 0, 0) }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC"; color: #ed719e; background-color: rgba(0, 0, 0, 0) }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #000000; background-color: rgba(0, 0, 0, 0) }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #000000; background-color: rgba(0, 0, 0, 0); min-height: 20.0px }
p.p10 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 14.0px "PingFang SC Semibold"; color: #000000; background-color: rgba(0, 0, 0, 0) }
span.s1 { color: #000000 }
span.s2 { background-color: rgba(0, 0, 0, 0) }
span.s3 { }
span.s4 { background-color: rgba(0, 0, 0, 0) }
span.s5 { color: #000000; background-color: rgba(0, 0, 0, 0) }
span.s6 { font: 14.0px "PingFang SC" }

1、打开雄迈官方网站:https://open.xmeye.net

2、进入后台,创建应用,获取uuid、AppKey、AppSecret和moveCard四个值。

注册成为开发者  —》 完善资料  —》 添加应用App  —》等待审核 —》 开始与测试

3、下载SDK:开放平台 —》资源中心  —》下载中心  —》FunSDK —》下载IOS版

4、导入SDK

【1】SDK文件说明

FunSDK.framework

【2】在工程中导入雄迈第三方库,添加系统依赖库

FunSDK.framework、OpenAL.framework、libresolv、libiconv、libbz2、libz

【3】在工程中Build Setting配置参数

1、Build Active Architure Only :YES

2、Enable Bitode :NO

3、Enable Testability:NO

4、Other Linker Flags :-ObjC

5、C Language Dialect : Compiler Default

6、C++ Language Dialect :Compiler Default

7、C++ Standard Library : Compiler Default

8、Preprocessor Macros : Debug:DEBUG=1 OS_IOS=1 FORMAL=1

Release :OS_IOS=1 FORMAL=1

【4】添加其它系统依赖库

AVKit、AssetsLibrary、UserNotification、AudioToolBox、CoreMedia、OpenAL、MediaPlayer、AVFoundation、OpenGLES、GLKit、VideoToolbox、 libz.tbd、libstdc++.6.0.9.tbd、libz2.tbd、libresolv.tbd

【5】注意:如果需要集成鱼眼设备的用户,可以添加鱼眼库libvrsoft.a。由于维迈所提供的FunSDK是C++混编的,so 需要对工程中所有需要本类,以及方法的地方都需支持C++。将需要用到FunSDK的.m文件直接重命名为.mm文件。

5、基本功能执行

【1】FunSDK初始化

a> 库初始化1 : Fun_Init();

b> 库初始化2: Fun_InitNetSDK();

c> 设置App文件存储路径

d> 设置本地登录, AP模式登录及P2P模式登录的参数

-(void)initFunSDK{

SInitParam pa;

pa.nAppType = H264_DVR_LOGIN_TYPE_MOBILE;

//库初始化

FUN_Init(0, &pa);

//后台参数

NSString *uuid = @"jufeng";

NSString *appkey = @"a16ea8f9d5164d1d830e8dbc66a71e24";

NSString *appSecret = @"672f645441b14a259356d027a6b8853f";

int moveCard = 5;

//注册api

//NSString* strAppKey = @"6356f3673b134e53983798cfb7a0adf3";

//NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];

//NSString *strUuid = [infoDictionary objectForKey:@"CFBundleIdentifier"];

//FUN_RegistAPI([strAppKey UTF8String], [strUuid UTF8String]);

//错误码初始化

FUN_InitNetSDK();

//初始化云平台

FUN_XMCloundPlatformInit([uuid UTF8String], [appkey UTF8String], [appSecret UTF8String], moveCard);

//设置用于存储设备信息等的数据配置文件

NSArray *pathArray = NSSearchPathForDirectoriesInDomains(

NSCachesDirectory, NSUserDomainMask, YES

);

NSString *path = [pathArray lastObject];

//设置配置文件存储目录

FUN_SetFunStrAttr(

EFUN_ATTR_CONFIG_PATH, [[path stringByAppendingString:@"/Configs/"] UTF8String]

);

//设置升级文件存储目录

FUN_SetFunStrAttr(

EFUN_ATTR_UPDATE_FILE_PATH,[[path stringByAppendingString:@"/Updates/"] UTF8String]

);

//设置临时文件存储目录

FUN_SetFunStrAttr(

EFUN_ATTR_TEMP_FILES_PATH,[[path stringByAppendingString:@"/Temps/"] UTF8String]

);

//设置本地登录设备相关信息保存文件的位置

FUN_SysInit(

[[path stringByAppendingString:@"/LocalDevs.db"] UTF8String]

);

//设置AP模式(app直连设备热点)下设置设备信息保存文件位置

FUN_SysInitAsAPModel(

[[path stringByAppendingString:@"/APDevs.db"] UTF8String]

);

//设置云服务

FUN_SysInit(constStrServerAddrs, constIntServerPort);

}

【2】设备登录

无论是哪种模式(本地,AP,还是P2P)登录登出均采用同一套登录登出接口,而不同登录方式登录登录设备只是devid参数不同;

本地登录与AP方式登录devId均填写 为 "ip:port" 的格式。例如设备ip地址为192.168.1.12 设备tcp端口设置为34567(普通设备默认值) 则devid为 "192.168.1.12:34567"。 AP模式,因为设备作为网关,所以devid 一般填写为 "192.168.10.1:34567"这种格式;

P2P方式devid 为设备的序列号;其他需要用到devid参数的接口也是如此;在访问设备之前要先调用设备登录接口:

int FUN_DevLogin(

UI_HANDLE hUser, const char *szDevId, const char *szUser, const char *szPwd, int nSeq

);

设备登出接口:

int FUN_DevLogout(UI_HANDLE hUser, const char *szDevId);

【3】监控设备视频播放

设备播放实时视频接口:

int MediaRealPlay(

int hUser, String devId, int  nChnIndex, int  nStreamType, Object hWnd, int  nSeq

);

设备播放视频停止接口:

int MediaStop(int hPlayer, int  nSeq = 0);

参数说明:

参数1 hUser 为接口调用结果返回消息接收者,参数2 devId 为 设备id(同登录登出)。参数3 nChnIndex 为通道号,从0开始。 参数4 nStreamType 为码流类型 0-主码流(高分辨率)1-副码流(低分辨率),参数5 hWnd 为视频显示view指针。 返回值为 播放器句柄hPlayer;

【4】设备报警消息

开放平台登录后,进入控制台页面,IOS证书上传,请按照要求上传IOS的推送证书。后台会添加证书到服务器,然后按照demo集成接口就能实现报警推送功能。(没有上传证书,推送功能无效)

6、接口说明

【1】调用流程

Start  —》FunSDK.init()  —》FunSDK.RegWnd() —》FunSDK.xxx()其它接口 —》代理方法OnFunSDKResult函数打印回调结果 —》FunSDK.UnRegWnd() —》FunSDK.UnInit()

【2】库方法

初始化、反初始化、初始化服务(本地登录)、初始化服务(AP模式)、初始化服务(云登录)、初始化服务(错误码)、反初始化服务(错误码)、初始化app证书、初始化服务器ip和port

【3】系统功能方法

【4】设备功能方法

【5】媒体功能方法

【6】日志功能方法

【7】报警功能方法

【8】广告功能方法

【9】语言功能方法

【10】JPEG转MP4方法

【11】云存储功能方法

【12】DSS服务相关方法

【13】媒体文件编译方法

【14】枚举及结构体

【15】错误码说明

【16】部分配置使用说明

原文地址:https://www.cnblogs.com/yuhao309/p/9431894.html

时间: 2024-11-09 00:20:37

iOS开发之集成雄迈视频FunSDK步骤的相关文章

【iOS开发】使用iFrameExtractor实现视频直播

这是去年的时候做项目写的一篇文章了,项目背景是有一个IP摄像头(拥有网络服务器),在iPad端实现视频的实时监控,最开始去理解RTP.RTSP.H.264等等一些专业概念,经过TCP握手建立连接接收数据,最后的结果是接收到数据不知道怎么用FFMpeg进行解析,后来使用第三方程序iFrameExtractor跳过了这些麻烦的步骤,提供一个rtsp://...服务器地址即可播放视频.以下是文章内容: iOS平台视频直播功能的实现主要使用了第三方类库FFMpeg,此类库提供了视频编解码解决方案.但是该

iOS开发之集成ijkplayer视频直播

ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功! 编辑:Bison 投稿: jianshu_wl 一. 下载ijkplayer ijkplayer下载地址 下载完成后解压, 解压后文件夹内部目录如下图: 二. 编译 ijkplayer 说是编译 ijkplayer, 其实是编译 f

iOS开发支付集成之微信支付

这一篇是<iOS开发之支付>这一部分的继支付宝支付集成,银联支付集成第三篇,微信支付.在集成的时候建议都要去下载最新版的SDK,因为我知道的前不久支付宝,银联都更新了一次,微信的不太清楚更新了没. 在被支付宝.银联坑过之后,发现其实微信支付的集成并没有想象中的那么困难,像支付宝那样简单地调用个方法就行,重要的难的部分都是后台来做的.微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在服务器上做签名,逻辑也比较好理解). 集成前首先要看看文档,开发

iOS开发精选知识点讲解 - 视频等 iOSStrongDemo是由@李刚维护,总结一些iOS开发精选知识点。每一个知识点都有相应的测试代码,非常适合iOS初学者。

https://github.com/worldligang/iOSStrongDemo iOSStrongDemo是由@李刚维护,总结一些iOS开发精选知识点.每一个知识点都有相应的测试代码,非常适合iOS初学者. 涉及功能点 iOS9横竖屏设置的处理方法和实例讲解 iOS开发之如何跳到系统设置里的WiFi界面 iOS视频播放器 UIWebView用法详解及代码分享 使用UIDataDetectorTypes自动检测电话.网址和邮箱 iOS开发之NSTimer使用初探 iOS开发之NSStri

iOS开发之集成iOS9中的Core Spotlight Framework搜索App的内容

转载自:  http://www.cnblogs.com/ludashi/p/4867511.html Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight.集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面.因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档.可以说,集成Spotlight

IOS开发支付宝集成思路

一般情况下支付功能的交互流程 比如我们去某个APP去支付一个产品,流程为:1.用户点击支付->2.客户端请求服务器用户支付->3.服务器接收请求生成金额订单等要给第三方支付的一切信息,并生成回调参数传给客户端->4.客户端接收信息(一般会再让用户确认支付或者干脆购买后是生成订单,然后才是付款)并将服务器给的信息分别传入SDK需要的参数中,调用SDK的支付方法->5.由SDK向SDK自己的服务器发出支付请求,SDK自己的服务器接收支付请求处理成功后,给客户端本身与公司的后台都发送一条

iOS开发——App集成短信验证码

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制.对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便:如果是在手机上,那么使用短信验证就比较方便.这篇博客我们将会在iOS应用中实现短信验证码的功能.实例demo我已经集成到  https://github.com/chenyufeng1991/iOS-Oncenote . 这里我将会使用mob 的短信验证码 SDK来开发.官网地址为: http://www.mob.com/#

iOS开发之集成百度地图

由于iOS MapKit框架很多情况并不能满足我们的需求,我们可以选择集成百度地图,那该如何操作呢? 申请Key 登录百度API管理中心申请Key http://lbsyun.baidu.com/apiconsole/key 创建一个应用 箭头所指就是我们所要用到的Key 下载SDK http://developer.baidu.com/map/static/doc/output_ios/BaiduMap_IOSSDK_v2.6.0_All.zip 开发指南 如何使用开发包可以参考开发指南 ht

iOS开发——使用技术OC篇&amp;视频和音频简单总结

视频和音频简单总结 1.音效播放(短时间的音频文件) 1> AudioServicesCreateSystemSoundID 2> AudioServicesPlaySystemSound 2.音乐播放(长时间的音频文件)1> AVAudioPlayer 只能播放本地的音频文件 >MPMusicPlayerControllerm 3.视频播放 1> AVPlayer(也可以播放音频) 能播放本地.远程的音频.视频文件 基于Layer显示,得自己去编写控制面板 2> MP