目錄
- 1 前言
- 1.1 關(guān)于視頻
- 1.2 關(guān)于圖片
- 2 搭建圖片服務(wù)器
- 2.1 配置文件
- 2.2 顯示效果
- 3 搭建視頻服務(wù)器
- 3.1 添加視頻模塊
- 3.2 配置文件
- 3.3 展示
1 前言
首先是倆故事:
1.1 關(guān)于視頻
好幾年前,我還在上上家公司就職的時候,工作電腦是不連外網(wǎng)的,內(nèi)網(wǎng)開發(fā),真滴難受,查啥資料的時候,只能用手機。有啥不會的,查到代碼了,只能對著一個一個敲。
有一天,俺們接待了一個客戶,想給他看我們新產(chǎn)品的的宣傳視頻,但是視頻剛弄好,還在內(nèi)網(wǎng),他們坐在會議室聊著天等著看視頻,俺們老大出來取視頻,拿著筆記本,傻愣愣的,視頻在內(nèi)網(wǎng),臺式機又全部把usb口屏蔽了。忒緊急,不曉得咋辦,從內(nèi)網(wǎng)取東西,又需要郵件一層層審批。這個時候,俺站出來了,用nginx將視頻通過我們和三方聯(lián)調(diào)開放的端口轉(zhuǎn)發(fā)到外網(wǎng)了,客戶看完了,很高興。結(jié)果我挨了一頓批,說我不符合公司流程啥的,最后俺老大把責任擔了。。。過程很美好,結(jié)果不咋地。
1.2 關(guān)于圖片
還有一次,是在之后一家公司,做車抵貸業(yè)務(wù)的,用戶信息頁面,顯示人的,車的,發(fā)票的,行駛證的,亂七八糟加起來要顯示50多張圖片,上傳是客戶上傳的,但是運營要在審批頁查看照片審批。現(xiàn)在的手機都賊好,相機拍攝的都7M,8M的。一個頁面光圖片顯示都要400M,這還是一個用戶的,當時圖片是在阿里的OSS上存儲的,下載下來極慢。這時候,老大不高興了,運營人員審批一個人的資料得5分鐘,四分半在等圖片加載,技術(shù)是干什么吃的。然后壓力來到了前端哥們那邊,在上傳圖片的時候進行壓縮。但是最多到2M3M左右,實在下不去了。苦苦研究了好幾天偶然被我聽到了,我就說這用nginx不是很美嗎,直接搞一個本地靜態(tài)資源服務(wù)器,擱本地存圖片,直接內(nèi)網(wǎng)訪問不是很快。 老大也很開心,就這么搞出來也很舒服,但是問題是,服務(wù)器1T磁盤,用戶量也不小,可能沒幾天就滿了。但是沒幾天,國家整治小貸公司,用戶不還款,沒等到服務(wù)器滿,公司沒了。過程也很美好,結(jié)果更不咋地,但這次不怪我。
下面我就簡單介紹下這兩個部署步驟吧。
2 搭建圖片服務(wù)器
這個簡單,配置一下就好,但要注意gzip的壓縮對圖片視頻等資源是沒用的,開啟了不但不會減小還占用cpu資源。這里為了演示,直接將圖片文件放在html下了。
2.1 配置文件
server { listen 8081; server_name somename alias another.alias; location /image { root html; autoindex on; } }
2.2 顯示效果
直接地址加端口加文件名訪問
139.155.71.11:8081/image/test1.jpeg
3 搭建視頻服務(wù)器
這個就有幾點需要注意了
- 想要在chrome播放,視頻編碼必須是H264的,其他的都是黑屏,只有聲音,沒有圖像。
- 需要添加mp4模塊
3.1 添加視頻模塊
備份nginx的配置文件,注意,一定要備份,make的時候搞沒了你會傷心的。
在nginx的解壓目錄執(zhí)行如下命令,當然,要是本來就有其他的模塊,也要一起添加上然后執(zhí)行。
./configure --with-http_mp4_module
然后
make make install
將備份的配置文件放好,重啟nginx就行
3.2 配置文件
server { listen 8082; server_name somename alias another.alias; location /video { root html; mp4; mp4_buffer_size 1m;#處理mp4初始內(nèi)存大小 mp4_max_buffer_size 50m;#處理mp4最大內(nèi)存大小 limit_rate 150k; #限速 limit_rate_after 20m; #在20m后限速 } }
3.3 展示
訪問地址加端口加文件名就可以訪問到想要的視頻了。
139.155.71.11:8082/video/test4.mp4
視頻效果如下: