架設 media server
因為工作上負責開放式課程網頁的關係,為了提供影音課程播放的平台,有一些架設影音伺服器上的經驗,在此稍作整理,供有需要的人參考。
假如將影音檔放在普通的網頁伺服器上,只能從頭開始播放。要能讓使用者隨意的由任何時間開始播放,首先,要有個 streaming server,才能提供 Video On Demand 的功能。streaming server 的首選當然是 Adobe 公司的 Flash Media Server (FMS),目前為 Adobe Media Server。另外的選擇是 Wowza Media Server,或者是更低成本的 pseudo streaming server。依各人的經驗,Adobe 的 FMS 比較能夠提供穩定的服務,假若只需具有播送功能,還是值得投資的,可以避免因技術性的障礙而使得使用者觀看影片的意願降低。
配合 FMS, Client 端需判斷瀏覽器的能力,決定使用 rtmp、hls、http 的協定。
使用 JW Player 6.4 為例
<center><div
id="myElement" >Loading the player...</div></center>
<script
type="text/javascript" src="/getcdb/extension/bitstream-display/jwplayer.js"></script>
<script
type="text/javascript" src="/getcdb/extension/bitstream-display/key.js"></script>
<script
type="text/javascript">
jwplayer("myElement").setup({
playlist: [{ image:'video-logo.png', sources: [{ file: 'rtmp://fms.tst.org/vod/mp4:cou01/video1.mp4', type: 'rtmp'
},{ file: 'http://fms.tst.org/hls-vod/cou01/video1.mp4.m3u8', type: 'hls'
},{ file: 'http://fms.tst.org/vod/cou01/video1.mp4'
}], }], primary: 'flash', width: '480',
height: '340',
autostart: 'false'
});
</script>
上述 script,三種 type 都指向同一個檔案,/webroot/vod/cou01/video1.mp4
。FMS 伺服器會依網址決定使用 rtmp、hls、或 http 的協定。
影片檔案需為 H.264 的格式,考量網路頻寬及品質,影像的 bit rate 設定為 800Kb,為洽當的選擇。
使用 FFMPEG 轉檔,指令如下
ffmpeg -i video.wmv -c:v libx264 -b:v 800k -threads 6 video.mp4
在個人的實際經驗中,使用固定 bit rate,在透過 HLS 協定傳送時,能夠比較順利的播放。