FMLE低流量低畫質實況設定 - 實況

Lydia avatar
By Lydia
at 2014-01-05T07:43

Table of Contents

前言

Adobe Flash Media Live Encoder (FMLE),作為一套老字號的串流直播軟體,

雖然有著高系統資源消耗的缺點,仍然在實況直播的社群中保持著相當的市佔率─特

別是停留在WindowsXP的使用者和Mac的使用者,對他們來說沒有選擇OBS和FFSplit的

機會。(XSplit那個明明就用別人家的x264還要收錢的東西,雖然市佔率高到爆炸,

但是我實在不想放在這裡比較...)



2013年12月中的影片系統更新之後,聽到不少朋友反應說FMLE沒辦法用啦、一直

斷線啦、畫面都馬賽克啦,之類的狀況。因為覺得這跟用哪個軟體應該沒有關係,所

以決定裝上FMLE來實際測試一次。(雖然我猜大概有不少人仍然在繼續用FMLE而且沒

感受到任何問題。...至於為什麼必須要用FMLE,當然是因為沒有Win7可以裝。...)



這篇文章會分成兩個部分。前半部描述FMLE要怎麼樣調整設定值來進行低畫質實

況,後半部描述進行低畫質實況的理由、和一些安排畫面的考量方式。



研究動機

某實況主表示十二月底開始就沒辦法用FMLE開台給友人PK丸(pk152)看。



研究目標

能夠讓PK丸看到的影像順暢播放。(PK丸的下傳流量最大值約600kbps)



實作方法與結果

假定要讓下傳600k的PK丸能夠順暢播放,那目標應該是把傳輸量控制在80%以下

──因為他很可能還是會一邊開個其他網頁或是丟訊息,所以目標設定在480k附近。

因此採用以下三種情況,並附上實測影片片段。

(以下的xxx+64kbps的xxx是影像的頻寬,64kbps是聲音的頻寬)



(1) 240p低畫質: http://twitch.tv/append/c/3494901
320x240@30fps 350+64kbps H264 Profile:Main Level:2.0 KeyFrame:2sec

(2) 360p中低畫質: http://twitch.tv/append/c/3494922
480x360@20fps 400+64kbps H264 Profile:Main Level:2.1 KeyFrame:2sec

(3) 360p中低畫質寬螢幕: http://twitch.tv/append/c/3494941
640x360@15fps 400+64kbps H264 Profile:Main Level:2.2 KeyFrame:2sec



軟體除了FMLE 3.2進行編碼以外,畫面擷取是用SCFH DSF 0.4.1。

H264的Profile固定為Main,Level盡可能選擇最小值(反正太低FMLE會告訴你),

Keyframe Frequency固定為2 seconds,

聲音的設定固定為MP3/Mono/44100Hz/64kbps。



討論

Twitch對於實況的要求其實很少:影像只要求H264、固定位元率(CBR)和2秒的關

鍵影格間格,聲音只要求44100Hz,AAC或MP3,設定上限─但是壓低流量的情況下顯

然會自動滿足。對於先天滿足CBR的FMLE來說,需要更動的部分其實非常少。



如果仔細看會發現我在放大解析度的同時把FPS降低了。這讓畫面不那麼流暢,

不過這是為了在盡可能的節省頻寬的情形下維持影片的可讀性。特別是寬螢幕的情況

下,為了讓影像從480拓寬到640,只好讓FPS照比例縮小到3/4,從20fps變成15fps。

然而,人眼只要FPS超過10-12左右,就會認為影像是連貫的[1],所以我相信15fps雖

然對注重畫質的人來說雖然差強人意,但是這個妥協點應該會被大多數人接受。



上面列出了三組不同解析度的設定值,然而影像解析度在不同狀況的時候應該要

開多高呢?在這點上我多描述一些我對於實況串流的想法。我覺得一個實況主有義務

要適當的安排自己的畫面,計算清楚自己的畫面要用多大的解析度,還有觀眾在觀看

的時候會佔多大的版面。上面這三點可以分開來討論:



(1) 播放什麼畫面or玩什麼樣的遊戲:

舉例來說,玩紅白機馬利歐或洛克人,卻開1080p或是720p實況的,實在令人難

以忍受──紅白機的原生解析度是256x240,開到360p以上根本就是放大畫面來增加

傳輸的困難;放大畫面應該交給對方的瀏覽器來辦到,來節省傳輸所需的資料量。但

是如果玩的遊戲是LoL,原生解析度1080p,畫面中又充滿了文字,那720p很可能就是

必須的,或是壓到480p的同時利用Lanczos壓縮的特性來強調文字的邊緣,讓文字稍

微清晰一些。



(2) 畫面上除了遊戲以外,有那些東西必須要清楚的放出來:

這邊講的其實主要是"文字"。現在有很多實況主會喜歡把聊天室放到畫面上,
例如:http://i.imgur.com/uBlIJDM.png (聊天室+點歌系統)

輸出之後文字在畫面上佔多少像素才能夠清楚的看到,用無襯線的粗體比較不怕

糊,這些都應該事先計畫好。然而,官方預設的聊天室常常無法滿足這些需求,因此

上面例子中的聊天室使用的是"IRCBalloonJ",是個為了TTV/JTV聊天室而設計的IRC

軟體。現在網路上能夠找到的IRC軟體很多,例如繁體中文區常見的IRCBalloon、擁

有大量腳本的mIRC、能夠搭配NicoLime形成彈幕的LimeChat、還有我現在較常使用簡

單乾淨的JTChat,都能夠配置成不錯的版面。例子中還有正上方的一行當前歌曲播放

名稱,那其實是NightBot的點歌系統,然後用OBS內建文字擷取來放在畫面上的。



另外,由於最近Twitch加長了延遲時間,有一些Twitch實況主開始嘗試移動到

Hitbox上進行實況;由於Hitbox的聊天室目前並不是使用IRC協定,所以是沒有辦法

用這些IRC聊天室軟體來安排在畫面上的。雖然OBS使用者很可能可以透過CLR瀏覽器

+CSS修正來做出類似的效果,但是Hitbox官方表示聊天室正在大幅修改,所以我目

前暫時沒有仔細研究的打算。



(3) 要給那些人看這個畫面:

這牽涉兩個層次。第一個是如同本文一開始舉的例子:我想讓友人PK丸看實況,

他的下傳最高只有600kbps,所以我控制在80%,也就是480kbps附近。雖然光纖寬頻

已經算是常見的,但是仍然有不少使用者沒有很好的網路─特別是那些跟邪惡P2P使

用者住在同一個屋簷下的勇者們。頻寬控制的越低,能夠無壓力的觀看的人就越多。



第二個是,收看者會用什麼畫面來看實況影片。舉Twitch的例子來說,官方介面

旁邊是有聊天室的;如果你相信你的觀眾平常都會開著聊天室,或你期待你的觀眾參

與聊天,他們勢必不會開著全螢幕的影片。也就是說,1080p的影片根本就不會完整

的被人看到。



下面舉些常見的例子,來檢查一下實際上大概到底有多少空間可以用。

Twitch官方介面(功能列開啟):可視空間1280x720
http://i.imgur.com/TVDbZMc.jpg

Twitch官方介面(功能列關閉):可視空間1470x800
http://i.imgur.com/RYVHE3D.jpg

GNBOX介面:可視空間1610x870
http://i.imgur.com/g58lJeM.jpg

皮克直播介面:可視空間1596x892
http://i.imgur.com/XpU7Hjs.jpg

從以上數據看起來,假設你的觀眾有很大部分看皮克實況,那設定1600x900就有

意義──這數值非常接近了。但是如果你的觀眾會從官方介面來,超過720p的部分就

很難看到,那樣就只是純粹在浪費大家的頻寬。就算是在玩1080p的遊戲,原尺寸輸

出也沒什麼意思──除非你希望你的觀眾放棄聊天室。



結語

這篇文章以FMLE和友人PK丸為例,描述了低頻寬低畫質實況的設定方式;根據友

人PK丸表示,三組設定值的播放都相當順暢。同時,這篇文章也討論了一些畫面安排

上的考量方式,希望能夠避免掉一些無謂的頻寬浪費。



平常我們常說節約用電、節約用水、節約使用自然資源之累的事情,我覺得在現

在這個時代中,「網路流量」也已經是一種並非私人所有的共用資源;以Twitch為例

,台灣連到Twitch的總流量顯然有所侷限,即使沒有明確的消費或是頻寬限制進行約

束,使用者也應該要能夠掌握、同時控制流量,避免不必要的頻寬浪費。更進一步的

說,實況主如果能在合理的範圍之內降低上傳的頻寬,那觀看這個頻道所需要的門檻

就會降低一些,進而更有機會吸引到原本沒辦法看的觀眾。希望這樣一篇文章能夠對

大家有所幫助。



Append. 2014.01.04. 23:43 p.m. UTC(+0)



註:
[1] 出自"Restoration of motion picture film"第24頁。 http://goo.gl/gwEg5X

--
███◣ ◢██◣ ◢██◣ █ ◢█ ◣ ◢ ◢██◣ ◣ █
█ ██ █ ██ █ ██ █◢█◤ █◣◢█ █ ██ █◣ █
█ ██ █ ██ █ ██◤ ████ █ ██ ██◣█ @ ptt.cc
███◤ █ ██ █ ██◣ █◥◤█ ████ ████
█◥█◣ █ ██ █ ██ █◥█◣ █ ██ ◥█ 鴉片(Append)
◥█ ◥██◤ ◥██◤ █ ◥█ █ █ █ ██ twitch.tv/append

--
Tags: 實況

All Comments

Noah avatar
By Noah
at 2014-01-06T15:34
@_@,很有在看論文的味道。
Elvira avatar
By Elvira
at 2014-01-09T21:52
其實是因為真的論文寫不出來....
Noah avatar
By Noah
at 2014-01-11T07:56
原來Twitch真的把延遲加長了 悲劇
Kumar avatar
By Kumar
at 2014-01-11T14:37
鴉片推推
Connor avatar
By Connor
at 2014-01-14T23:21
推一個
Skylar Davis avatar
By Skylar Davis
at 2014-01-19T22:49
是鴉片
Margaret avatar
By Margaret
at 2014-01-22T05:45
推 請問是什麼延遲加長了@@?
Olga avatar
By Olga
at 2014-01-24T14:56
推分析
Lucy avatar
By Lucy
at 2014-01-28T17:21
多謝講解 懂了
Ursula avatar
By Ursula
at 2014-01-31T03:29
推鴉片大 寫得很詳細
Eartha avatar
By Eartha
at 2014-02-04T12:48
hitbox 最近一直遇到連不進聊天室問題
Zenobia avatar
By Zenobia
at 2014-02-08T10:26
推個鴉片

[冷靜實況]零:真紅之蝶(12點開台)

Yuri avatar
By Yuri
at 2014-01-04T23:36
直播主帳號:redeve13 國家語系:中文 今天要播什麼:零~真紅之蝶 點我連結:http://zh-tw.twitch.tv/redeve13 想跟觀眾說:全程開啟麥克風,一起歡樂打鬼吧耶嘿! 其他備註:12點開台。 -- 【貓奴養成日誌】 ...

槍彈辯駁2

Zanna avatar
By Zanna
at 2014-01-04T21:29
防雷 小豬蹄居然死掉惹... 學級裁判又回到原點 第一章就這麼長後面哪受得了 http://zh-tw.twitch.tv/hanter_live -- 不要哀求 學會爭取 若是如此 終有所獲 ...

bayonetta,魔兵驚天錄

Quintina avatar
By Quintina
at 2014-01-04T21:07
直播主帳號:dwenszh 國家語系:正體中文 今天要播什麼:bayonetta,魔兵驚天錄(好中二的名字) 點我連結:http://zh-tw.twitch.tv/dwenszh 想跟觀眾說: 初玩,新手請別太介意。 其他備註: -- - ...

戰神崛起 hd 泰坦難度

Callum avatar
By Callum
at 2014-01-04T20:41
直播主帳號:livewithwind 國家語系:繁體中文 今天要播什麼:gow asc 點我連結:http://zh-tw.twitch.tv/livewithwind 想跟觀眾說:泰坦被虐 其他備註:18X遊戲 - ...

實況時 桌面正常 supercap的擷取畫面黑屏

Harry avatar
By Harry
at 2014-01-04T19:06
實況畫面擷取整個桌面跟視訊擷取裝置都一樣全黑的 OBS XSP都一樣 我猜FME也會一樣 - ...