ytylive模块为开发者提供rtmp视频直播流的推流功能,通过此模块可以实现视频直播的推流,推流地址video_url,推流名称video_name可以自行配置,可以使用第三方直播平台的推流地址,也可以用户自己搭建直播服务器的地址。
模块中有开始推流的按钮,点击按钮开始推流,按钮状态改变,再次点击则停止推流。
直播播放的url需要第三方平台提供,自建直播服务器的需要用户自己配置,本模块只有推流功能,其他功能不涉及。
iOS系统支持多种实时滤镜效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。
开始视频推流,video_url为推地址url,video_name为推流实例名称,如果使用第三方推流服务,则推流地址跟推流实例名称需要到第三方平台获取,如果自建直播服务器,则使用自建服务器的推流地址跟实例名称。
startVideo(params,callback(ret))
video_url:
类型:字符串
描述:推流服务器地址url
video_name:
类型:字符串
描述:推流实例名称,可加入推流密钥校验(使用用户名跟密码进行校验,防止恶意推流)
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)); }
苹果官方文档: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及更高版本