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

2016-10-04 Nginx

最近工作上有一個需求是希望影片可以在最後停留在最後的畫面,由於 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

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱