視頻網站如何解決流量和帶寬問題
我們之前寫過如何通過CMS構建視頻課程類平臺ⓣⓤⓥⓦⓧⓨⓩ,如果需要請點擊查閱:《如何通過開源平臺構建視頻課程網站》✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。
本文重點是解決視頻課程網站中的一個環節☈⊙☉℃℉❅,就是視頻播放流量的問題⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,視頻課程類網站♀☿☼☀☁☂☄,都有一個重要的問題♀☿☼☀☁☂☄,就是視頻的存儲和視頻的播放流量都比較大♀☿☼☀☁☂☄,如何解決⑰⑱⑲⑳⓪⓿❶❷❸❹❺?我們列舉了如下三個解決途徑:
(1)通過CDN✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。
(2)通過云存儲❻❼❽❾❿⓫⓬⓭⓮⓯⓰。
(3)通過云播放♦☜☞☝✍☚☛☟✌✽✾✿❁❃。
CDN方式
CDN是所有網站的標配❣❦❧♡۵,不僅僅是視頻①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,就連CSS✵✶✷✸✹✺✻✼❄❅、圖片之類的靜態內容♀☿☼☀☁☂☄,都是通過CDN分發的☈⊙☉℃℉❅,所以CDN是標配㈠㈡㈢㈣㈤㈥㈦。
但是即便是CDN♦☜☞☝✍☚☛☟✌✽✾✿❁❃,服務器的出口帶寬也是難以消除的㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,因此對視頻播放來講ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,CDN不能解決根本性的問題⒜⒝⒞⒟⒠⒡⒢⒣⒤。
云存儲(塊存儲)
云存儲就是類似的塊存儲㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,阿里云有類似的產品OSS☾☽❄☃,亞馬遜叫S3✵✶✷✸✹✺✻✼❄❅,可以將大量的文件☈⊙☉℃℉❅、視頻放到塊存儲里面ⓣⓤⓥⓦⓧⓨⓩ,塊存儲是網站大量存儲的最優解決方案ⓣⓤⓥⓦⓧⓨⓩ。
一般的塊存儲都有接口㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,所以通過接口웃유ღ♋♂,直接將視頻存儲到OSS/S3上ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,然后獲取OSS/S3的地址或者ID✺ϟ☇♤♧♡♢♠♣♥,存儲到數據庫即可❻❼❽❾❿⓫⓬⓭⓮⓯⓰。
另外㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,這種云存儲都有展示的URL地址ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,所以直接將URL地址嵌入WEB⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,就可以實現云播放ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,并且是不限制帶寬①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,對服務器也沒有壓力⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。
不過⒜⒝⒞⒟⒠⒡⒢⒣⒤,有個缺點⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,就是這種存儲的公共流量比較貴⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,因此直接上WEB會導致費用也比較高ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。
云播放
普通的云播放類似云存儲☈⊙☉℃℉❅,只是會在塊存儲的功能上⑰⑱⑲⑳⓪⓿❶❷❸❹❺,增加一些類似壓縮的功能❣❦❧♡۵,高級的云播放㈠㈡㈢㈣㈤㈥㈦,支持視頻切割❣❦❧♡۵,壓縮❣❦❧♡۵,分辨率選擇♦☜☞☝✍☚☛☟✌✽✾✿❁❃,生成縮略圖等高級功能☧☬☸✡♁✙♆。,、':∶;,不過價格一般也不菲✺ϟ☇♤♧♡♢♠♣♥。
這種的缺點其實以價格貴⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,其二是跟平臺綁定死㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,比如生成各種分辨率的功能♀☿☼☀☁☂☄,截圖的功能⑰⑱⑲⑳⓪⓿❶❷❸❹❺,都依賴于平臺♦☜☞☝✍☚☛☟✌✽✾✿❁❃,因此不容易遷移☈⊙☉℃℉❅。
所以ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,綜上所述ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,一般我們推薦✺ϟ☇♤♧♡♢♠♣♥,通過CDN+云存儲♦☜☞☝✍☚☛☟✌✽✾✿❁❃,來構建完整的視頻播放網站⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,來解決網站的流量問題①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。
整體的架構如下:

當然㈠㈡㈢㈣㈤㈥㈦,這個還有一個問題♦☜☞☝✍☚☛☟✌✽✾✿❁❃,就是一般的OSS/S3對接ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,會是服務器端對接⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,比如通過Drupal上傳到服務器⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,然后服務器端將文件同步到OSS/S3①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,這個問題會導致上傳比較慢✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,解決這個問題的辦法就是ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,直接上傳到OSS/S3웃유ღ♋♂,需要開發Drupal的Client端的OSS/S3上傳插件✵✶✷✸✹✺✻✼❄❅,就可以直接upload的云端❣❦❧♡۵,然后記錄一下ID到Drupal數據庫就解決了ⓣⓤⓥⓦⓧⓨⓩ。
原創內容☈⊙☉℃℉❅,轉載請注明出處❻❼❽❾❿⓫⓬⓭⓮⓯⓰!
關于CMS的架構和在線視頻網站的搭建ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,也可以參考我們之前相關的文章介紹✵✶✷✸✹✺✻✼❄❅,
1㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、視頻網站的彈幕原理和開源代碼分享
2ⓣⓤⓥⓦⓧⓨⓩ、如何通過開源方案自建視頻課程平臺
3ⓣⓤⓥⓦⓧⓨⓩ、視頻網站如何對接云視頻點播服務
4✵✶✷✸✹✺✻✼❄❅、在線視頻教育學習平臺介紹
5웃유ღ♋♂、基如何對音視頻內容進行審核例
6㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、基于Drupal的在線教育網站案例
7㈠㈡㈢㈣㈤㈥㈦、CMS如何存儲和管理大量圖片/海量圖片ⓚⓛⓜⓝⓞⓟⓠⓡⓢ?