FLV視頻已經是絕大多數視頻網站首選的視頻類型,國內外著名的視頻分享站YouTube、優酷、土豆、新浪博客、QIYI等等都是Flash播放器播放FLV/MP4視頻。
FLV有兩種發布方式
一、普通的HTTP方式:這種方式通常需要預先下載到本地才能播放,有緩沖,但下載后就不會占用服務器資源。
二、流媒體方式:無需下載,可以實時播放任意拖拽進度,用戶體驗好但很耗服務器資源。
安裝模塊
在編譯安裝Nginx的時候把Flv Stream模塊加上
make && make install
開啟flv
{
listen 80;
server_name flv.qttc.net;
index index.html;
root /web_root/flv_files;
limit_rate_after 5m;
limit_rate 1m;
location ~ \.flv
{
flv;
}
access_log off;
}
保存重啟就好。
參數說明:
limit_rate_after 5m # 開始加載不限速直到下載FLV視頻大小超過5M。
limit_rate 1m # 當超過5m后開始限制1m/s 的速度下載。
一般用戶剛打開的視頻文件的時候需要預先下載較多的字節數量,這樣的話邊看邊下載不用等待緩沖,在不影響應用戶體驗的情況下可以節省不少帶寬,這兩個值要根據實際情況微調。
拖拽實現
拖拽進度是用戶經常觸發的一種行為,默認的FLV不支持拖拽,如果要實現這個功能需要安裝額外的插件模塊得以實現。需要在制作FLV的時候往MetaData寫入關鍵幀信息。
添加關鍵幀的工具很多,如Yamdi、FlvTool2等等,至于如何添加關鍵幀可以到這些工具的社區上找找。但無論如何都是按多少秒一幀來實現,幀越多就越流暢,但耗時也長,玩過flash的都知道。