ytylive
来自于:开发者立即使用
模块接口
概述
ytylive模块为开发者提供rtmp视频直播流的推流功能,通过此模块可以实现视频直播的推流,推流地址video_url,推流名称video_name可以自行配置,可以使用第三方直播平台的推流地址,也可以用户自己搭建直播服务器的地址。
模块中有开始推流的按钮,点击按钮开始推流,按钮状态改变,再次点击则停止推流。
直播播放的url需要第三方平台提供,自建直播服务器的需要用户自己配置,本模块只有推流功能,其他功能不涉及。
iOS系统支持多种实时滤镜效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。
startVideo
开始视频推流,video_url为推地址url,video_name为推流实例名称,如果使用第三方推流服务,则推流地址跟推流实例名称需要到第三方平台获取,如果自建直播服务器,则使用自建服务器的推流地址跟实例名称。
startVideo(params,callback(ret))
params
video_url:
- 类型:字符串
- 描述:推流服务器地址url
video_name:
- 类型:字符串
- 描述:推流实例名称,可加入推流密钥校验(使用用户名跟密码进行校验,防止恶意推流)
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
ret.status, //返回状态码 200为成功,其他为错误
ret.message //错误码描述
}
示例代码
var ytylive = api.require('ytylive');
var param = {
video_url:"rtmp://XXX.XXX.XXX:1935/rtmplive",
video_name:"applevideo?user=user&pass=pass"
};
ytylive.startVideo(param,callBack);
function callBack(ret){
console.log(JSON.stringify(ret));
}
配置ATS(App Transport Security)
苹果官方文档:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33 以下是整个ATS配置的结构:
NSAppTransportSecurity : Dictionary {
NSAllowsArbitraryLoads : Boolean
NSAllowsArbitraryLoadsForMedia : Boolean
NSAllowsArbitraryLoadsInWebContent : Boolean
NSAllowsLocalNetworking : Boolean
NSExceptionDomains : Dictionary {
<domain-name-string> : Dictionary {
NSIncludesSubdomains : Boolean
NSExceptionAllowsInsecureHTTPLoads : Boolean
NSExceptionMinimumTLSVersion : String
NSExceptionRequiresForwardSecrecy : Boolean
NSRequiresCertificateTransparency : Boolean
}
}
}
NSAllowsArbitraryLoads:
该字段对iOS9和iOS10都有效。如果设置为true,所有的ATS网络连接限制将失效,除了NSExceptionDomains字典里面单独配置的,默认为false。注意:设置为true后提交AppStore审核时需要理由。
NSAllowsArbitraryLoadsForMedia:
该字段只在iOS10中有效。如果设置为true,使用AVFoundation框架加载媒体数据将不受ATS限制,但是应用剩余的其它部分网络请求还是受ATS约束,默认为false。注意:设置为true后提交AppStore审核时需要理由。
NSAllowsArbitraryLoadsInWebContent:
该字段只在iOS10中有效。如果设置为true,使用webView加载网页将不受ATS限制,但是应用剩余的其它部分网络请求还是受ATS约束,默认为false。注意:设置为true后提交AppStore审核时需要理由。
NSAllowsLocalNetworking:
该字段只在iOS10中有效。如果设置为true,允许加载本地资源,但是应用剩余的其它部分网络请求还是受ATS约束,默认为false。
NSExceptionDomains:
为指定的域名单独配置ATS,下面是其里面的子项各字段:
NSIncludesSubdomains:
如果设置为true,ATS配置也将适用于其所有的子域名,默认为false。
NSExceptionAllowsInsecureHTTPLoads:
如果设置为true,允许加载该域名的http资源,默认为false。注意:设置为true后提交AppStore审核时需要理由。
NSExceptionMinimumTLSVersion:
指定连接时允许使用的最小的TLS版本,默认值为TLSv1.2,取值范围为:TLSv1.0、TLSv1.1、TLSv1.2。注意:使用该字段时提交AppStore审核时需要理由。
NSExceptionRequiresForwardSecrecy:
如果设置为false,将允许不支持perfect forward secrecy (PFS)的加密,默认为true。
NSRequiresCertificateTransparency:
如果设置为true,服务端需要具有有效的Certificate Transparency,默认为false。
开启ATS,不允许所有http请求
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
</dict>
</dict>
</plist>
//开启ATS,为指定域名开放http请求
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
</dict>
</plist>
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本