【点播】七牛点播HLS 思路

阅读: 评论:0

【点播】七牛点播HLS  思路

【点播】七牛点播HLS 思路

七牛点播HLS  思路


==我的博文相关链接 :(个人开源项目之一)

    

     dos命令行工具实现七牛云的空间备份和m3u8列表的备份与删除操作:


    

工具

  1.sewise-player开源播放器 (发觉sewise player的播放当带宽不足时,存在卡顿效果,建议可以用其他播放器进行开发)

  2.适配flash的配置l

  3.java-qiniu SDK 


空间

   要求点1.该空间是点播类型,

         2.私有空间

         3.放置有l的配置文件,已兼容浏览器使用flash播放

上传新的视频

   如果要将视频上传,需要

       1.使用fopsAPI实现转码先,加入七牛转码队列,生成需要的加密分片和m3u8文件

       2.查看控制台,假如该队列中该视频的转码完毕,(播放时候)则通过downloadAPI将存放在私有空间的链接鉴权拿到token 存放

Crossdomain的使用

<?xml version="1.0" encoding="utf-8"?>

<cross-domain-policy>

<allow-access-from domain="*.yourdomain"/>

<allow-http-request-headers-from domain="*.yourdomain" headers="*"/>

</cross-domain-policy>

Fop私有空间的转码规格

 

avthumb/m3u8/noDomain/1/vb/640k/hlsKey/xxxxxxxxQ1Ng

==/hlsKeyUrl/xxxxxxxxxxxxxxxxxxxxxxxxxxxxs

 

分片得到

#EXT-X-KEY:METHOD=AES-128,URI="domain/test/key",IV=0x9e7aaacac3e30732d4104caba7e9cff0

#EXTINF:41.400000,

/ElPSJkBWCffXykHUXYjBDg_ulrg=/lj3yTkLXOzp4wb5rm397sDhH2BLR/000000.ts

 

domian/test/key放在业务服务器中,这个地址不是七牛来访问的。 而是你的客户在访问这个视频的时候,从浏览器发起的请求。这样就需要你验证客户的身份了, 如果是非法用户就禁止其访问。

1. 、如果<HLSKey>的值为密钥明文的base64编码,那么<HLSKeyType>值为0或者不填;如果<HLSKey>的值为七牛公钥加密的密文,那么<HLSKeyType>值可以写1.0

2. <HLSKeyUrl>就填写密钥明文存放的地址,一般为你的业务服务器地址,通过业务服务器相关流程控制对这个url的访问权限。

总结:

3. 我建议加密的URL<HLSKeyUrl>不能放在七牛的公开或者私有空间里面,所以是没有限制的,什么用户都可以访问到,但我们应该将这个URL放到自己搭建的业务服务器上,比如,控制访问到这个URL必须输入一个秘钥才可以访问到,和做cookie认证控制必须注册登录的用户才有权限访问到这个URL。

4. 其实m3u8是个列表文件,所有的原始视频文件都被下载到一个隐藏文件夹了。

5. 你点击m3u8文件就会自动把这些视频文件链接在一起播放,可以用notepad++打开m3u8文件查看内容,里面是一个个本地文件的链接,这些链接指向一个个小视频文件,也就是说你找不到原来下载这个文件的网址了。

6. 如果想直接播放完整的原始视频文件就要找到那个文件夹,里面的视频文件是一段一段的,要把这些小视频文件按m3u8文件里面的顺序用qq影音合并成一个完整的视频文件,然后就可以播放了。

7. 当然,如果删除了那个隐藏文件夹,那这个m3u8文件也就没用了,点击播放会提示解析失败。

8. 那个隐藏文件夹可以直接在m3u8里面看到位于哪里,是个.开头的隐藏文件夹。

节目的列表

   每个视频的链接都需要通过授权拿到视频的地址,含有时效。

后台接口需要

1 在某个视频已经转码完成的情况下(已经含有qiniudomain/xxxx),需要授权拿到指定的私有视频的授权地址pm3u8

2 经过AES128加密过后的视频,需要通过浏览器访问一个链接,该链接直接含有明文,该链接的获取需要经过业务服务器的鉴权。

 

 
转码视频:

1.存在转码队列 例如队列名字为testvideo

2.通过转码api 自定义加密的转码规格 m3u8分片列表+AES128、

譬如   

 String bucket = "空间名字";

  String key = "视频原名";

  //设置转码操作参数   

  //hlskey 指的是AES128或者base64url加密后的字符串 未加密前要为16位  hslkeyurl为访问原密的链接(经过base64url加密)

  String fops = "avthumb/m3u8/noDomain/1/vb/640k/hlsKey/MxxxxxxxxxzQ1Ng

==/hlsKeyUrl/aHxxxxxxxxxxxxxxxxxx4ua2V5";

授权链接

1.经过调用api获取私密空间的pm3u8的列表链接

2.通过浏览器调用AES的明文链接(验证获取)

 
防止录播

添加播放器显示用户名跑马灯,类似于腾讯课堂播放器中显示用户id一样。

本文发布于:2024-02-03 06:58:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691473349386.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:思路   HLS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23