2021/1/20
以前的时候,碰到的问题,想把萤石云视频介入到TRTC,但是...
萤石云的IOS接口中没有相应的解码播放库,也就是找不到PlayerSDK对应部分,怎么做呢?
一个是坐等萤石云开放这部分接口,可能以后有,但现在没有。
另一个就是尝试使用海康包中的接口直接调用
因为IOS萤石云包libEZOpenSDK.a大小为340378K,这么大的库包中,可能包含大量的库文件,只是接口没有放而已。
这一点可使用ar x*.a,就能看得到里面是否包含播放库,
或者直接把播放头文件包含到IOS开发环境和萤石云的头文件放到一起使用,调用一下就知道是否包含过。
查看并找到对应构架的a文件
bash
lipo -info /Users/***/Desktop/libEZOpenSDK.a
lipo -thin arm64 /Users/***/Desktop/libEZOpenSDK.a -output
/Users/***/Desktop/libEZOpenSDK_arm64.a
此时在ios系统中直接可以解压libEZOpenSDK_arm64.a文件
bash
ar -v -t /Users/***/Desktop/libEZOpenSDK_arm64.a (发送3000个.o文件)
nm PlayCtrl_shell.o > PlayCtrl_shell.m
发现确实存在PlayM4_***函数,放到ios可以成功解码,解码流程和其他端一模一样。
HCNetSDKV6.1.6.3_build20200925_iOS_ZH中对应HCNetSDKV6.1.6.3_build20200925_android_ZH
在HCNetSDK中找到包含PlayM4_***函数的头文件plaympeg4.h,按照定义进行调用。没写过ios程序,但是写过的人自然是懂的。