您好,登錄后才能下訂單哦!
本篇內容介紹了“基于s3cmd的視頻存儲方案有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1. 需要支持rtmp播放,盡量少的改動現有構架
2. 使用S3替代現有的本地存儲方式,盡可能降低對本地存儲的依賴。
3. 視頻需要支持防盜鏈、防下載。
方案概述:將視頻文件(只支持mp4、flv)上傳到S3,并設置其訪問權限為public,使用rtmp模塊的play指令進行播放。
將mp4或者flv文件上傳到S3的movie這個bucket,比如上傳的文件名稱為"video.mp4",并設置訪問權限為"public-read",注意設置對應的content-type,以s3cmd為例
s3cmd put video.mp4 s3://movie --acl-public
配置nginx的rtmp模塊,在nginx.conf中新增如下內容
rtmp { server { listen 1935; application vod_http { play http://s3.ceph.wor/movie; } }
方案概述:將視頻文件(只支持mp4、flv)上傳到S3,并設置其訪問權限為public,后端需要借助ffmpeg將S3的HTTP數據流推送到nginx,再經由rtmp模塊轉換成HLS。
將mp4或者flv文件上傳到S3的movie這個bucket,比如上傳的文件名稱為"video.mp4",并設置訪問權限為"public-read",注意設置對應的content-type,以s3cmd為例
s3cmd put video.mp4 s3://movie --acl-public
/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的視頻存儲方案有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。