作者:許凱平 / 臺灣大學計算機及資訊網路中心作業組程式設計師
什麼是「網際網路即時轉播」?就是將活動現場取得的影音編碼成串流,再透過網際網路發布到網站上供大量觀眾觀看現場實況。以整個轉播作業來說,主要可以分成編碼上傳跟下載播放兩個過程。最簡單的情境就是在智慧型手機上安裝 Google Hangout[1]、Expression Encoder[2]、UStream[3]之類的軟體,再透過相對的雲端影音串流服務(YouTube[4]、Media Server[5])讓觀眾收看。
前言
臺大身為臺灣首屈一指的大學,當然有豐富的校園活動。無論是「準」諾貝爾獎級的演講,或是校慶、畢業典禮等大型活動,大家都想讓更多人參與,讓不能親臨的朋友們能透過網路「同時」與我們體驗精彩的節目。每年都會有不少同仁或同學,想要找計中幫忙活動的現場直播。但是由於計中的人力長期短缺,目前除了校慶跟畢業典禮外,實在無法提供這項服務。不過,現在除了自己架轉播站外,也可以利用YouTube 現場活動的功能,進行現場直播。
使用iPhone或iPad等設備當然也可以進行現場直播,不過還是建議至少使用一臺筆電加上攝影機,比較能夠勝任需要穩定性的任務。使用瀏覽器以Google帳號登入YouTube後在影片管理員選擇現場活動「新增現場直播」即可。您可以選擇「立即上線」或者指定日期與時間。建立活動後,點選連結就可以取得網址放在網頁上或通知觀眾,連進去就會看到倒數計時。時間開始前打開瀏覽器登入YouTube進入這個網址,活動的時間一到就會自動開始轉播[6]。
與電視台現場直播的差異
網路轉播大量借用電視的術語,所以常常會造成一些誤解[7]。例如在畢業典禮的轉播的期間,就曾經接到這樣的諮詢電話:「我們家裝的是OO有線電視,要看你們臺大的畢業典禮轉播,是要轉到第幾台?」對於學生,尤其是住校的同學來說,有電腦的可能比有電視還多,所以透過電腦收看沒什麼問題。但對於資深家長或是阿公阿嬤來說,就不一定是這樣。不過就算是會用電腦收看的人,也會抱怨為什麼解析度那麼低,或是抱怨訊號斷斷續續的,為什麼不能做到跟電視轉播一樣好?一般來說主要原因是內容傳播網路的差別,電視轉播使用的是專屬網路,網路轉播用的是共用網路,隨時會受到其他人的流量影響。就跟用一般傳統電話打電話與用 skype 打電話的差別,skype 免費,但有時很好,有時很差,端看當時網路是否壅塞。
網路直播的組成
網路轉播的組成可以是一個人加上一台手機,或是十幾個人加上十幾台機器的大工作團隊。當然要辦到哪個等級,還是要看轉播效益,難的是通常事前很難估計會有多少人收看。下圖沒有表示出來的還有電力與網路,沒有穩定的供電,沒有快速的網路,就不可能做網路轉播。
圖一
攝影機(Camcorder):視需求而定,可以是數十萬等級的專業攝影機,或是幾百塊錢的WebCAM。近年來智慧型手機跟平板電腦也都有了攝影功能,也都有不錯的解析度。這些設備除了光學縮放跟收音的能力有所差別之外,對於轉播來說,最重要的就是轉換器或編碼器能不能收這些攝影設備的輸出。影音的訊號與接頭種類繁多,同一類的接頭除了公母之外,常常還有normal、mini、micro的差別,取得設備後,一定要整個接起來試才行。例如這幾年買的攝影機雖然大多也有 USB 介面,但普遍不支援 USB 串流[8],只能用來傳送檔案。攝影機的 HDMI介面輸出,也不能直接插到筆電有 HDMI 介面(筆電的 HDMI 也只用來輸出訊號)。WebCAM 提供的就是 USB Streaming 訊號,缺點是 WebCAM 的功能又太陽春,雖然筆電普遍有的就是 USB 介面,最為方便,但是一般來說 WebCAM 還是不適用於大型的活動轉播。智慧型手機或平板的便利性最佳,但也同樣受限鏡頭的能力。另外 WebCAM 沒有儲存裝置,沒辦法錄影,也就是說如果轉播中斷,事後也沒有錄影可以上網。
影音合成(Media Composor, 導播機):如果有多台攝影機、獨立收音、要加上字幕與配樂與插入圖片特效等混成需求,就會以影音合成(混成)設備將這些訊號編輯成一個輸出訊號。這個作業通常是要有特殊設備有導播能力的人才能勝任,一般都是請錄影傳播公司製作,轉播單位只要收他們送出的訊號即可。
轉換器(Media Converter)[9,10]:將攝影機或影音合成器的訊號轉為編碼器可以提取的訊號.如IEEE 1394 或 USB Streaming。有些高階數位攝影機直接就可以送出1394訊號,就不需要轉換設備;WebCAM 也不需要轉換器(直接送 USB Streaming)。我們最早使用(目前也是)的是類比轉數位轉換器,用來將AV(RCA, 黃白紅端子)類比訊號轉為1394(DV)數位訊號。目前繼續使用的原因很簡單,因為無論高階低階的攝影機都還是保留了AV端子。目前在測試的是 HDMI 影像擷取卡,可以用來將 HDMI 影像擷取轉換成 USB Streaming。不過要注意到視訊規格有p跟i的差別,如720p/720i,雖然都是HDMI,如果擷取卡支援的p格式,攝影機送出的是i格式,也是無法轉換。
編碼器(Encoder):影音訊號線的長度有限,所以需要先將影音訊號編碼成串流訊號才能透過網路送回影音伺服器。編碼器通常就是一台裝有編碼軟體,具有 1394 輸入的筆記型電腦。第一個問題現在很難買到有1394輸入的筆電。雖然沒有 1394 的筆電雖然可以用 PCMCIA/1394 卡擴充,但是現在要找到可以插 PCMCIA 卡的筆電也不容易。YouTube 的現場直播功能可以直接在瀏覽器上使用,也可以抓到USB Streaming 的影音訊號,但是在我們的 1394 實測中,卻只能取出影像,收不到1394的音訊,從筆電麥克風收音或從Line-in 取訊號的效果都不太好。臺大2003年第一次進行畢業典禮轉播(因應SARS疫情,不能有超過30人的大型集會),使用的是 Microsoft Media Encoder,目前使用的編碼軟體是 Microsoft Expression Encoder 4 ,免費版本不支援 Apple iPhone的編碼方式(Smooth Streaming),不過如果有學生身分的話,可以從微軟Dream Park 下載 Microsoft Expression Studio 4 Ultimat,內附的就是Microsoft Expression Encoder 4 Pro,就選擇Smooth Streaming格式。Microsoft Encoder 額外的好處是可以在筆電上也儲存一份錄影,Youtube 直播的缺點是如果直播過程中網路中斷,如果用的又是WebCAM或攝影機沒錄,就可能什麼都沒有了。
影音伺服器(Media Server):如果用的是雲端影音服務,如 YouTube 或 Azure Media Service,就不用準備這個部分。畢業典禮跟校慶的直播用的是自己架設的 Media Server (Windows 2003/2008+Media Service),缺點是只能在微軟平台使用(IE/Media Player) 不能提供 iPhone/Android 或Mac/Linux 上收看。YouTube 線上直播可以跨平台,缺點是直播訊號等於是送到美國,然後收播者也是連到美國,除了占用出國頻寬之外,也有可能會因為收看的人太多,占掉出國頻寬,造成上傳訊號也送不上去的情形。Window 2008 以後可以裝 IIS Media Services 支援 Smooth Streaming做到 iPhone可以收看的影音服務,不過到目前為止,我還沒有試成功!
Streaming Server (Proxy Server)[11]:靠一台影音伺服器,服務一個 320*240 30fps 的播放者就需要約 273kpbs的頻寬,也就是說,如果這一台影音伺服器可以用到骨幹網路100Mb的網路頻寬,也就只能服務到約300個用戶。透過接在骨幹上的 Proxy Server 提供服務的話,即使到 3,000 個用戶也沒問題。不過每多加一層會帶來更多的延遲,粗略來說,Encoder 會帶來 15sec的延遲,Media Server 30 sec的延遲,到了 Proxy Server 可能就會有累積將近45sec的延遲。延遲的原因除了影音的處理之外,還有一個重要因素就是緩衝的機制(為了讓觀看者不會覺得看起來斷斷續續的)。
收播設備(Media Player):首先當然是播放軟體或設備要跟Media Service 提供的訊號可以匹配。再來串流訊號會以壓縮的方式傳遞,播放電腦的即時解壓縮的運算能力會影響收看品質,解析度越高當然也就需要運算能力更好的電腦。除非跟有線電視業者租賃,不然是沒辦法讓阿公阿嬤透過選台器就可以看到電視直播。不過現在有不少智慧型電視,如果可以上網的話應該可以透過瀏覽器收看。
結語
網路轉播不是萬靈丹,不確定的因素很多,轉播品質與穩定性通常沒有大家想像中的好(跟電視轉播比較)。因為時間上的延遲,網路轉播也不適用於視訊會議的情境。但是如果可以接受一些風險,容忍一些不完美,相較於電視轉播高昂的費用,網路轉播還是有它的優點存在的。
參考資料
[1] Google Hangouts, http://www.google.com/+/learnmore/hangouts/
[2] Microsoft Expression Encoder,
http://en.wikipedia.org/wiki/Microsoft_Expression_Encoder
[3] UStream, http://www.ustream.tv/?lang=zh_TW
[4] YouTube 現場直播,
https://support.google.com/youtube/answer/2853700?hl=zh-Hant
[5] Microsoft Media Server, http://en.wikipedia.org/wiki/Microsoft_Media_Server
[6] 前言部分轉載自臺大計中焦點新聞, 網路轉播 DIY,
http://www.cc.ntu.edu.tw/chinese/spotlight/2014/a103005.asp
[7] 現場直播
https://zh.wikipedia.org/wiki/%E7%8F%BE%E5%A0%B4%E7%9B%B4%E6%92%AD
[8] USB video device class, http://en.wikipedia.org/wiki/USB_video_device_class
[9] SONY Media Converter, https://docs.sony.com/release/DVMCDA2.PDF
[10] USB UVC 免驅動程式HDMI 影像擷取卡,
http://febon.blogspot.com/2013/09/usb-uvc-hdmi.html
[11] proxy.ntu.edu.tw, http://proxy.ntu.edu.tw/