DLNA投屏
DLNA基于一组开放的互联网标准,包括IP,UPnP(通用即插即用)和HTTP。DLNA投屏就是在这些标准的基础上实现的。一般国产电视都内置了该服务,手机客户端用第三方库集成一下,就能支持。相对于破解iOS设备的AirPlay协议会方便很多。
这两篇文章讲的很详细基于DLNA实现iOS,Android投屏:SSDP发现设备基于DLNA实现iOS,Android投屏:SOAP控制设备
源码地址原本的mrdlna库倒入项目无法成功编译,也缺失一些回调,修改之后的代码在此:github代码
投屏的流程如下:
源设备搜索目标设备:当你想要从一个源设备(如手机或电脑)投屏到另一个目标设备(如智能电视或音响)时,源设备会首先在同一网络环境下通过SSDP(简单服务发现协议)广播一个发现请求。对应源码:
12345678910111213//核心文件 CLUPnPServer、GCDAsyncUdpSocket//IPv4下的多播地址static NSString *ssdpAddres = @"239.255.255.250";//IPv4下的SSDP端口static UInt ...
iOS上M3u8加密视频防盗链实现方案
使用m3u8进行视频播放时,防盗链的方法主要有两种:一种是基于HTTP Referer的防盗链,另一种是基于token的防盗链。
HTTP Referer防盗链:服务器在返回m3u8文件或ts文件时,检查HTTP请求头中的Referer字段,只有来自指定域名的请求才会被接受。这种方法的优点是实现简单,缺点是Referer字段可以被修改,安全性不高,而且一些播放器可能不一定支持refer设置。
Token防盗链:服务器在返回m3u8文件时,在URL中添加一个token参数,这个token是根据某种算法(如HMAC)生成的,只有知道这个算法的人才能生成或验证这个token。当用户请求ts文件时,服务器会检查token是否有效,只有有效的token才能访问ts文件。这种方法的优点是安全性高,缺点是实现较复杂。
步骤
例如从地址:https://xxxx.net/drm/hls/process/vod/339131249426778112/d3363c1dfe295328e18a53e194c298c7/v.f100000.m3u8 下载的下列文件如下,其中ts不是全路径,EXT-X-KE ...
直播间开发各模块设计记录
公屏
礼物资源
礼物播放
游戏
直播接入 pk 连麦等
直播质量监控