2016年10月4日 星期二

Nginx 利用 http_mp4_module 控制 mp4 影片的開始結束

最近工作上有一個需求是希望影片可以在最後停留在最後的畫面,由於 Nginx 預設在播放 mp4 播完結束後就會呈現黑色畫面,所以如果要實現將影片停在最後一個畫面,那不就是"暫停"了嗎

 

在 Nginx 的 http_mp4_module 本身就提供了這樣的功能,官方提到可以控制 .mp4 .m4v .m4a 等這類型的檔案支援

 

確認你的 Nginx 是否支援 http_mp4_module


$ nginx -V | grep http_mp4_module

 

在你的 server {} 加入 mp4 module
$ vim /etc/nginx/conf.d/video.com.conf 

server {
...

location / {
mp4;
mp4_buffer_size 10m;
mp4_max_buffer_size 100m;
}

...
}


 

mp4_buffer_size 設定在記憶體內的初始值大小,而 mp4_max_buffer_size 則是記憶體內的最大 buffer,若是你的超過則會出現
"/some/movie/file.mp4" mp4 moov atom is too large: 12583268, you may want to increase mp4_max_buffer_size

 

除此之外 http_mp4_module 還提供了 mp4_limit_rate 去限制你的影片。

 

在設定檔啟動了 mp4 module 之後可以使用 URL Get 的方式控制 mp4 影片

 

Example:
# 從第5秒開始播放 
http://example.com/home.mp4?start=5.0

# 從第5秒開始播放並且停在9.99秒
http://example.com/home.mp4?start=5.0&9.99

 

 

 

 

參考資料:

Module ngx_http_mp4_module

Orignal From: Nginx 利用 http_mp4_module 控制 mp4 影片的開始結束

沒有留言:

張貼留言