製作錄影在互聯網廣播

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

大家可能看過Samba Hong Kong Open Classroom的錄影,這篇文章正是說明,我們如何發放錄影。

香港Samba協會成立的初期,我們希望把每次的 Open Classroom 拍攝,公開發放渠道方面,相信互聨網是最可行。但問題跟隨出現!!!

  • 採用那種影片格式?
  • 採用那種伺服器?
  • 是否有 Linux/Unix、Windows 的播放器或視像解碼器?
  • 有否免費的編碼器?

選擇影片格式方面:

  • MPEG 1 -- 檔案太大,不利互聯網發放。
  • MPEG 4 -- 需要安裝解碼器,播放器才可播放,用家可能有安裝問題。
  • Windows Media Video (wmv) -- Unix/Linux 的用家要另外安裝解碼器。
  • QuickTime Movie (mov) -- 沒有 Unix/Linux 的播放器。

最後,選定了 Real Media (rmvb) -- 它有 Unix/Linux、Windows、Mac 和 Mobile Devices 的播放器, 檔案很小,有免費的編碼軟體,可利用 Web Server 或 Helix Server 作串流廣播 (streaming)。

Real Media 編碼軟體

"RealProducer Basic" 是免費的 Real Media 編碼軟體,但是它沒有提供每個 Bitrate 的細微調校 ("RealProducer Plus" 才有提供),而且編碼速度比較慢。苦苦尋找下,終於在國內網站,找到一個名為 "Batch Real Producer" 的編碼軟體 (Win32)。它可由 "Mpeg 1" 或 "AVI" 編碼成 rm/rmvb 檔案,Bitrate 的設定,可細微的調校,編碼速度比 RealProducer Basic 快。

"Batch Real Producer" 的編碼軟體可到 http://cool18.comicer.com/ 下載,在 Windows 作簡單的安裝後,即可進行編碼工作。

當完成視頻編輯後,請輸出:

  • "Mpeg 1" 影像檔 -- 352 x 288 pixels、25 frame per second (PAL 制式)
  • "AVI (DV codec)" 影像檔 -- 720 x 576 pixels 、25 frame per second (PAL 制式)

"Batch Real Producer" 擁有一個簡單的圖像介面,操作絕不困難,您可下載 "用戶使用手册",了解各設定項目的特性。

以下是 OpenClassroom 的錄影 rmvb 檔編碼設定

OpenClassroom 的錄影現在採用「動態編碼率」(variable bitrate),壓縮引擎會根據媒體文件中每幅畫面的情況設置他的容量,但是基本會在「平均碼率」上下浮動,且盡量不會超過「最大碼率」,平均碼率的數字大小,會影響檔案容量大小,即數字俞大,檔案俞大。這時候生成的RM文件就是所謂的RMVB格式了。

畫面大小 720 x 576 pixels 改變輸出成 720 x 540 pixels (4 比 3 的螢幕比例),因錄影有螢幕擷取,所以會採用大一點的螢幕解像度,保持畫面清晰度。

每秒 25 畫格 (frame per second) 改變成 20 FPS,畫格太多會影響畫面質素,太小會影響畫面流暢度。

剪輯信息設置輸出RM文件的某些信息,比如標題 Title、製作人 Author、版權 Copyright 等,這些信息在用RealPlayer播放時顯示出來。 如果完成設定,請按 "開始壓縮" (Start) 執行編碼,輸出 rm 或 rmvb 視像檔案。

因我們錄影的畫面變化比較小,所以「平均碼率」可以做到 200 Kbps,如果影片畫面變化很大的話,必須把「平均碼率」調高。 畫面變化、畫面大小、每秒畫格,以上因素都會影響編碼率的大小,應視情況而調較。

設定在伺服器上廣播

最初我把 rmvb 檔案放在 Web Server 內,再在網頁,用超連結加上 rmvb 檔案如下:

 <a href="http://www.webservername.com/video.rmvb"> video name </a>

但發現 Real Player 要下載完整的 rmvb,才開始播放。問題出現,每段錄影片約有 150MB,用戶要等十多分鐘下載,才能觀看,誰也沒有這個耐性! 我唯有上 Real 的網站找尋找解決方案,RealNetworks Production Guide 內找出解決方法!原來 Real Media 有三種伺服器連給的類型:

  • HTTP in Web pages: RM 檔案在網頁內,採用 "http://" 連結上網頁伺服器或 Helix Universal Server ,但沒用串流播放的功能。
  • HTTP in SMIL and Ram: 建立 SMIL 或 Ram,採用 "http://" 把 SMIL 或 Ram 連結上網頁伺服器,有串流播放的功能,但網頁伺服器沒用 RTSP 協定 (Real-Time Streaming Protocol) 的功能。
  • RTSP in SMIL and Ram: 建立 SMIL 或 Ram,採用 "rtsp://" 把 SMIL 或 Ram 連結上 Helix Universal Server,有串流播放的功能,Helix Universal Server 採用 RTSP 協定,因應用戶的網絡頻寬變化,而改變多媒體輸出的頻寬。

我們當然選擇 "HTTP in SMIL and Ram" 這種類型,因不用架設 Helix Universal Server,而且用戶已用寬頻上網,不會有串流播放不暢順的問題。

跟來是選擇 SMIL 或 Ram

SMIL 發音 "smile",全名 "Synchronized Multimedia Integration Language",它是工業標準的標記語言 (markup language),可設定媒體播放的起始時間和完結時間、媒體資訊、播放檔案名單。當網頁瀏覽器收到 smil 檔案,便會啟動 RealPlayer,RealPlayer 閱讀 smil 檔案內的 URL、起始時間和完結時間、媒體資訊,而後播放指定的串流媒體。

Ram 是一個 .ram 檔案延伸名的純文件檔案,文件內可加上一句或多句的 URL (http 或 rtsp),當網頁瀏覽器收到 ram 檔案,便會啟動 RealPlayer,RealPlayer 閱讀 ram 檔案內的 URL,而後播放指定的串流媒體。

捨難取易的原則下,我選擇了 RAM 用作串流媒體的連接啟動檔,因它比較簡單,只需用文件編輯軟體加上 URL (http://......)即可。

假設您已在網頁伺服器,設定一個 video.rmvb 的 URL 是 "http://www.yourdomain.com/video.rmvb",您只需用文件編輯軟體開啟新的 RAM 檔,名稱是 "film.ram",檔案內容只需加上一句 video.rmvb 的 URL 如下:

 http://www.yourdomain.com/video.rmvb

儲存檔案後,把 "film.ram" 設定 URL 成 "http://www.yourdomain.com/film.ram",再在您的網頁內加上超連結,連結上 film.ram 檔如下:

 <html>
  <head>
    <title>Film HomePage</title>
  </head>
  <body>
    <a href="http://www.yourdomain.com/film.ram">
      Film
    </a>
  </body>
 </html>

當用戶安裝 RealPlayer 後,可在您的網頁內,簡單點選此連結,經互聯網播放您的錄影!

如果大家對 Real Media 需要進一步的探究,可到RealNetworks Production Guide 找尋更多的資料!

Reno@Samba Hong Kong 2005-05-10

Personal tools