千家信息网

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

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容介绍了"基于s3cmd的视频存储方案有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!改造
千家信息网最后更新 2024年11月23日基于s3cmd的视频存储方案有哪些

本篇内容介绍了"基于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的视频存储方案有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0