温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

基于s3cmd的视频存储方案有哪些

发布时间:2021-12-30 16:36:49 来源:亿速云 阅读:170 作者:iii 栏目:云计算

本篇内容介绍了“基于s3cmd的视频存储方案有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

改造目标

1. 需要支持rtmp播放,尽量少的改动现有构架

2. 使用S3替代现有的本地存储方式,尽可能降低对本地存储的依赖。

3. 视频需要支持防盗链、防下载。

方案1(后端点播模式)

方案概述:将视频文件(只支持mp4、flv)上传到S3,并设置其访问权限为public,使用rtmp模块的play指令进行播放。

操作流程

1.上传视频到S3

将mp4或者flv文件上传到S3的movie这个bucket,比如上传的文件名称为"video.mp4",并设置访问权限为"public-read",注意设置对应的content-type,以s3cmd为例

s3cmd put video.mp4 s3://movie --acl-public
2.配置nginx的rtmp模块

配置nginx的rtmp模块,在nginx.conf中新增如下内容

rtmp {
    server {
    listen 1935;
    application vod_http {
    play http://s3.ceph.wor/movie;
    }
}
3.测试访问

方案2(后端推流模式)

方案概述:将视频文件(只支持mp4、flv)上传到S3,并设置其访问权限为public,后端需要借助ffmpeg将S3的HTTP数据流推送到nginx,再经由rtmp模块转换成HLS。

操作流程

1.上传视频到S3

将mp4或者flv文件上传到S3的movie这个bucket,比如上传的文件名称为"video.mp4",并设置访问权限为"public-read",注意设置对应的content-type,以s3cmd为例

s3cmd put video.mp4 s3://movie --acl-public
2.配置nginx的rtmp模块

/etc/nginx/nginx.conf #nginx配置文件,注意替换{nginx_server}为nginx服务器IP或者域名

rtmp {
    server {
        listen 1935;

    application myapp {
                live on;
                hls on;
                hls_path /var/tmp/myapp; #hls文件临时存放目录
                hls_keys on;
                hls_key_path /var/tmp/keys; #hls的加密key存放目录
                hls_key_url http://{nginx_server}/keys/; #key的对外访问路径
                hls_fragments_per_key 10; #每10帧更新一次key
            }
    }

/etc/nginx/conf.d/hls.conf #站点配置文件

server {
    listen      80;
    location /keys {
        root /var/tmp;
    }
    location /myapp {
        # Serve HLS fragments
        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }
        root /var/tmp;
        add_header Cache-Control no-cache;
    }
}

方案对比

功能方案1方案2
前端rtmp播放支持支持
前端hls播放不支持支持
S3替代本地存储支持支持
防盗链下载支持(客户端接收的是rtmp)支持(加密HLS分片,动态key方式)

“基于s3cmd的视频存储方案有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI