歡迎光臨
每天分享高質量文章

我在 Twitch 平臺直播程式設計的經驗 | Linux 中國

最近幾個開發者問我怎麼開始自己的直播,因此我在這裡想大家展示我給他們的建議!
— Suz Hinton


本文導航
編譯自 | https://medium.freecodecamp.org/lessons-from-my-first-year-of-live-coding-on-twitch-41a32e2f41c1 
 作者 | Suz Hinton
 譯者 | Lonaparte_CHENG

去年 7 月我進行了第一次直播。不像大多數人那樣在 Twitch 上進行遊戲直播,我想直播的內容是我利用個人時間進行的開源工作。我對 NodeJS 硬體庫有一定的研究(其中大部分是靠我自學的)。考慮到我已經在 Twitch 上有了一個直播間,為什麼不再建一個更小更專業的直播間,比如 由 JavaScript 驅動的硬體JavaScript powered hardware 😉 我註冊了 我自己的頻道[1] ,從那以後我就開始定期直播。

我當然不是第一個這麼做的人。Handmade Hero[2] 是我最早看到的幾個線上直播程式設計的程式員之一。很快這種直播方式被 Vlambeer 發揚光大,他在 Twitch 的 Nuclear Throne live[3]直播間進行直播。我對 Vlambeer 尤其著迷。

我的朋友 Nolan Lawson[4] 讓我 真正開始做 這件事,而不只是單純地 想要做 。我看了他 在週末直播開源工作[5] ,做得棒極了。他解釋了他當時做的每一件事。是的,每一件事,包括回覆 GitHub 上的 問題issues ,鑒別 bug ,在 分支branches 中除錯程式,你知道的。這令我著迷,因為 Nolan 使他的開源庫得到了廣泛的使用。他的開源生活和我的完全不一樣。

你甚至可以看到我在他影片下的評論:

我大約在一週或更久之後建好了自己的 Twitch 頻道,並摸清了 OBS 的使用方法,隨後開始了自己的直播。我當時用的是 Avrgirl-Arduino[6] ,現在我依然經常用它直播。第一次直播十分粗糙。我前一天晚上排練得很晚,但直播時我依然很緊張。

那個星期六我極少的幾個聽眾給了我很大的鼓舞,因此我堅持了下去。現在我有了超過一千個聽眾,他們中的一些人形成了一個可愛的小團體,他們會定期觀看我的直播,我稱呼他們為 “noopkat 家庭” 。

我們很開心。我想稱呼這個即時程式設計部分為“多玩家線上組隊程式設計”。我真的被他們每個人的熱情和才能觸動了。一次,一個團體成員指出我的 Arduino 開發板不能隨同我的軟體工作,因為板子上的晶片丟了。這真是最有趣的時刻之一。

我經常暫停直播,檢查我的收件箱,看看有沒有人對我提及過但沒有時間完成的工作發起 拉取請求pull request 。感謝我 Twitch 社群對我的幫助和鼓勵。

我很想聊聊 Twitch 直播給我帶來的好處,但它的內容太多了,我應該會在我下一篇部落格裡介紹。我在這裡想要分享的,是我學習的關於如何自己實現直播程式設計的課程。最近幾個開發者問我怎麼開始自己的直播,因此我在這裡想大家展示我給他們的建議!

首先,我在這裡貼出一個給過我很大幫助的教程 “Streaming and Finding Success on Twitch”[7] 。它專註於 Twitch 與遊戲直播,但也有很多和我們要做的東西相關的部分。我建議首先閱讀這個教程,然後再考慮一些建立直播頻道的細節(比如如何選擇裝置和軟體)。

下麵我列出我自己的配置。這些配置是從我多次的錯誤經驗中總結出來的,其中要感謝我的直播同行的智慧與建議。(對,你們知道就是你們!)

軟體

有很多免費的直播軟體。我用的是 Open Broadcaster Software (OBS)[8] 。它適用於大多數的平臺。我覺得它十分直觀且易於入門,但掌握其他的進階功能則需要一段時間的學習。學好它你會獲得很多好處!這是今天我直播時 OBS 的桌面截圖(題圖)。

你直播時需要在不用的“場景scenes”中進行切換。一個“場景”是多個“素材sources”透過堆疊和組合產生的集合。一個“素材”可以是照相機、麥克風、你的桌面、網頁、動態文字、圖片等等。 OBS 是一個很強大的軟體。

最上方的桌面場景是我程式設計的環境,我直播的時候主要停留在這裡。我使用 iTerm 和 vim ,同時開啟一個可以切換的瀏覽器視窗來查閱文獻或在 GitHub 上分類檢索資料。

底部的黑色長方形是我的網路攝像頭,人們可以透過這種更個人化的連線方式來觀看我工作。

我的場景中有一些“標簽”,很多都與狀態或者頂欄資訊有關。頂欄只是添加了個性化資訊,它在直播時是一個很好的連續性素材。這是我在 GIMP[9] 裡製作的圖片,在你的場景裡它會作為一個素材來載入。一些標簽是從文字檔案裡新增的動態內容(例如最新粉絲)。另一個標簽是一個 custom one I made[10] ,它可以展示我直播的房間的動態溫度與濕度。

我還在我的場景裡設定了“鬧鐘”,當有人粉了我或者給了打賞,它會顯示在最前方。我使用 Stream Labs[11] 網路服務來實現它,將它作為一個瀏覽器網頁素材引進我的場景。 Stream Labs 也會在頂欄裡給出我最新粉絲的動態資訊。

我直播的時候,也會使用一個備用場景:

當我輸入密碼和 API keys 的時候,我另外需要一個場景。它會在網路攝像頭裡展示我,但是將我的桌面用一個娛樂頁面隱藏起來,這樣我可以做一些私密的工作:

正如你看到的,我直播的時候沒有把視窗填的太滿,但我讓我的觀眾盡可能多地看到我的內容。

但現在有一個現實的秘密:我使用 OBS 來安排我螢幕的底部和右側,同時影片保持了 Twitch 要求的長寬比。這讓我有了空間在底部檢視我的事件(訂閱數等),同時在右側觀看和回覆我的頻道聊天室。 Twitch 允許新視窗“彈出”聊天室,這很有用。

這是我完整的桌面看起來的樣子:

我幾個月前開始做這個,還沒有回顧過。我甚至不確定我的觀眾們有沒有意識到我進行的這些精心的設定。我想他們可能會把“我可以看到每個東西”視作理所應當,而事實上我常常忙於敲程式碼,而看不到正在直播的東西!

你可能想知道為什麼我只用一個顯示器。這是因為兩個顯示器在我直播的時候太難以管理了。我很快意識到這一點,並且恢復了單屏。

硬體

我從使用便宜的器材開始,當我意識到我會長期堅持直播之後,才將它們逐漸換成更好的。開始的時候儘量使用你現有的器材,即使是隻用電腦內建的攝像頭與麥克風。

現在我使用 Logitech Pro C920 網路攝像頭,和一個固定有支架的 Blue Yeti 麥克風。花費是值得的。我直播的質量完全不同了。

我使用大屏顯示器(27″),因為我之前說的,使用兩個螢幕對我來說不方便。我常常錯過聊天,因為我經常不檢查我的第二螢幕。你可能覺得使用兩個螢幕很方便,但對我來說,把所有東西放在一個螢幕上有利於我對所有事情保持註意力。

這基本上就是硬體部分的大部分內容了。我沒有使用複雜的設定。

如果你感興趣,我的桌面看起來不錯,除了刺眼的麥克風:

建議

最後這裡有一些我透過實踐得出的一般性建議,這使我的直播從整體來看變得更好,更有趣。

佈告板

花點時間建立一個好的佈告版。佈告板是位於每個人頻道底部的小內容框。我把它們看作新的個人空間視窗(真的)。理想的佈告板可以有類似於聊天規則,有關直播內容的資訊,你使用的電腦和裝置,你最喜歡的貓的種類,等等這樣的東西。任何關於個人形象的內容都可以。我們可以看看其他人(尤其是熱播播主)的理想的佈告板是什麼樣的!

一個我的佈告板的例子:

聊天

聊天真的很重要。你可能會被中途觀看你直播的人一遍又一遍地問同樣的問題,如果可以像現實生活中那樣聊天那樣會很方便。“你正在做什麼?”是我敲程式碼的時候別人最常問我的問題。我用 Nightbot[12] 設定了一個聊天快捷命令。當你輸入一些像 whatamidoing(我正在做什麼) 這樣的單詞時,會自動給出我事先設好的解釋。

當人們問問題或者給出一些有趣的評論時,要回覆他們!和他們說謝謝,說他們的 Twitch 用的很好,他們會感謝你的關心和認可。一開始的時候很難對這些都保持註意力,但你做得多了之後,你會發現同時做這幾件事變得更容易了。嘗試著每兩分鐘就花幾秒去關註聊天室。

當你程式設計的時候,解釋你正在做的事 。多說點。開開玩笑。即使我碰到了麻煩,我也會說:“哦,糟糕,我忘了這個方法怎麼用了,我 Google 一下看看”。人們一般都很友好,有時他們還會和你一起尋找解決的辦法。這很有趣,讓人們一直看著你。

如果播主一直安靜地坐在那敲程式碼,不去聊天,也不管他新粉絲的資訊,我會很快對他失去興趣。

很可能你 99% 的觀眾都很友好,並且都有好奇心。我偶爾還是會碰到挑釁的人,但 Twitch 提供的檢查工具可以有效避免這種情況。

準備時間

儘量將你的配置“自動化”。我的終端是 iTerm ,它可以讓你儲存視窗排列和字型大小的配置,這樣你以後就可以再現這些配置。我有一個直播時的配置和一個不直播時的配置,這非常省事。我輸入一個命令,所有東西就都在合適的位置並保持最完美的尺寸,並可以使用了。

還有其他的應用可以用來自動化你的視窗位置,看看有沒有對你有用的。

讓你的字型在終端和編輯器中盡可能的大,這樣所有人都能看清。

定期直播

讓你的日程表更有規律。我一週只直播一次,但總是在同一時間。如果你臨時有事不能在你平常直播的時間直播,要讓人們知道。這讓我保持了一些固定觀眾。一些人喜歡固定的時間,這就像和朋友在一起一樣。你和你的社群在一個社交圈子裡,所以要像對待朋友一樣對待他們。

我想要提高我更新直播的頻率,但我知道因為旅遊的緣故我不能適應超過一週一次的直播頻率。我正在嘗試找到一種可以讓我在路上也能高質量地直播的方法。或許可以臨時將我聊天和寫程式碼的過程儲存起來,週末直播的時候再放出來。我仍然在探索這些辦法!

緊張心理

當你即將開始的時候,你會感覺很奇怪,不適應。你會在人們看著你寫程式碼的時候感到緊張。這很正常!儘管我之前有過公共演說的經歷,我一開始的時候還是感到陌生而不適應。我感覺我無處可藏,這令我害怕。我想:“大家可能都覺得我的程式碼很糟糕,我是一個糟糕的開發者。”這是一個困擾了我 整個職業生涯 的想法,對我來說不新鮮了。我知道帶著這些想法,我不能在釋出到 GitHub 之前仔細地再檢查一遍程式碼,而這樣做更有利於我保持我作為開發者的聲譽。

我從 Twitch 直播中發現了很多關於我程式碼風格的東西。我知道我的風格絕對是“先讓它跑起來,然後再考慮可讀性,然後再考慮執行速度”。我不再在前一天晚上提前排練好直播的內容(一開始的三、四次直播我都是這麼做的),所以我在 Twitch 上寫的程式碼是相當粗糙的,我還得保證它們執行起來沒問題。當我不看別人的聊天和討論的時候,我可以寫出我最好的程式碼,這樣是沒問題的。但我總會忘記我使用過無數遍的方法的名字,而且每次直播的時候都會犯“愚蠢的”錯誤。一般來說,這不是一個讓你能達到你最好狀態的生產環境。

我的 Twitch 社群從來不會因為這個苛求我,反而是他們幫了我很多。他們理解我正同時做著幾件事,而且真的給了很多務實的意見和建議。有時是他們幫我找到瞭解決方法,有時是我要向他們解釋為什麼他們的建議不適合解決這個問題。這真的很像一般意義的組隊程式設計!

我想這種“不管重要不重要,什麼都說”的情況對於直播這種媒介來說是一種優勢,而不是劣勢。它讓我想的更多。理解一個觀念很重要,那就是沒有完美的程式員,也沒有完美的程式碼。對於一個新手程式員來說這是令人耳目一新的經歷,對我這個老手來說卻是微不足道的。

總結

如果你想過在 Twitch 上直播,我希望你試一下!如果你想知道怎麼邁出第一步,我希望這篇部落格可以幫的到你。

如果你週日想要加入我的直播,你可以 訂閱我的 Twitch 頻道[1] 🙂

最後我想說一下,我自己十分感謝 Mattias Johansson[13] 在我早期開始直播的時候給我的建議和鼓勵。他的 FunFunFunction YouTube channel[14] 也是一個令人激動的定期直播頻道。

另:許多人問過我的鍵盤和其他工作裝置是什麼樣的, 這是我使用的器材的完整串列[15] 。感謝關註!


via: https://medium.freecodecamp.org/lessons-from-my-first-year-of-live-coding-on-twitch-41a32e2f41c1

作者:Suz Hinton[17] 譯者:lonaparte 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

Lonaparte_CHENG(lonaparte) ? ?
共計翻譯:2 篇
貢獻時間:37 天


推薦文章

< 左右滑動檢視相關文章 >

點選圖片、輸入文章 ID 或識別二維碼直達

贊(0)

分享創造快樂