我在 Twitch 平臺直播程式設計的經驗
去年 7 月我進行了第一次直播。不像大多數人那樣在 Twitch 上進行遊戲直播,我想直播的內容是我利用個人時間進行的開源工作。我對 NodeJS 硬體庫有一定的研究(其中大部分是靠我自學的)。考慮到我已經在 Twitch 上有了一個直播間,為什麼不再建一個更小更專業的直播間,比如 由 JavaScript 驅動的硬體 ;) 我註冊了 我自己的頻道 ,從那以後我就開始定期直播。
我當然不是第一個這麼做的人。Handmade Hero 是我最早看到的幾個線上直播程式設計的程式設計師之一。很快這種直播方式被 Vlambeer 發揚光大,他在 Twitch 的 Nuclear Throne live 直播間進行直播。我對 Vlambeer 尤其著迷。
我的朋友 Nolan Lawson 讓我 真正開始做 這件事,而不只是單純地 想要做 。我看了他 在週末直播開源工作 ,做得棒極了。他解釋了他當時做的每一件事。是的,每一件事,包括回覆 GitHub 上的 問題 ,鑑別 bug ,在 分支 中除錯程式,你知道的。這令我著迷,因為 Nolan 使他的開源庫得到了廣泛的使用。他的開源生活和我的完全不一樣。
你甚至可以看到我在他影片下的評論:
我大約在一週或更久之後建好了自己的 Twitch 頻道,並摸清了 OBS 的使用方法,隨後開始了自己的直播。我當時用的是 Avrgirl-Arduino ,現在我依然經常用它直播。第一次直播十分粗糙。我前一天晚上排練得很晚,但直播時我依然很緊張。
那個星期六我極少的幾個聽眾給了我很大的鼓舞,因此我堅持了下去。現在我有了超過一千個聽眾,他們中的一些人形成了一個可愛的小團體,他們會定期觀看我的直播,我稱呼他們為 “noopkat 家庭” 。
我們很開心。我想稱呼這個即時程式設計部分為“多玩家線上組隊程式設計”。我真的被他們每個人的熱情和才能觸動了。一次,一個團體成員指出我的 Arduino 開發板不能隨同我的軟體工作,因為板子上的晶片丟了。這真是最有趣的時刻之一。
我經常暫停直播,檢查我的收件箱,看看有沒有人對我提及過但沒有時間完成的工作發起 拉取請求 。感謝我 Twitch 社群對我的幫助和鼓勵。
我很想聊聊 Twitch 直播給我帶來的好處,但它的內容太多了,我應該會在我下一篇部落格裡介紹。我在這裡想要分享的,是我學習的關於如何自己實現直播程式設計的課程。最近幾個開發者問我怎麼開始自己的直播,因此我在這裡想大家展示我給他們的建議!
首先,我在這裡貼出一個給過我很大幫助的教程 “Streaming and Finding Success on Twitch” 。它專注於 Twitch 與遊戲直播,但也有很多和我們要做的東西相關的部分。我建議首先閱讀這個教程,然後再考慮一些建立直播頻道的細節(比如如何選擇裝置和軟體)。
下面我列出我自己的配置。這些配置是從我多次的錯誤經驗中總結出來的,其中要感謝我的直播同行的智慧與建議。(對,你們知道就是你們!)
軟體
有很多免費的直播軟體。我用的是 Open Broadcaster Software (OBS) 。它適用於大多數的平臺。我覺得它十分直觀且易於入門,但掌握其他的進階功能則需要一段時間的學習。學好它你會獲得很多好處!這是今天我直播時 OBS 的桌面截圖(題圖)。
你直播時需要在不用的“場景”中進行切換。一個“場景”是多個“素材”透過堆疊和組合產生的集合。一個“素材”可以是照相機、麥克風、你的桌面、網頁、動態文字、圖片等等。 OBS 是一個很強大的軟體。
最上方的桌面場景是我程式設計的環境,我直播的時候主要停留在這裡。我使用 iTerm 和 vim ,同時開啟一個可以切換的瀏覽器視窗來查閱文獻或在 GitHub 上分類檢索資料。
底部的黑色長方形是我的網路攝像頭,人們可以透過這種更個人化的連線方式來觀看我工作。
我的場景中有一些“標籤”,很多都與狀態或者頂欄資訊有關。頂欄只是新增了個性化資訊,它在直播時是一個很好的連續性素材。這是我在 GIMP 裡製作的圖片,在你的場景裡它會作為一個素材來載入。一些標籤是從文字檔案裡新增的動態內容(例如最新粉絲)。另一個標籤是一個 custom one I made ,它可以展示我直播的房間的動態溫度與溼度。
我還在我的場景裡設定了“鬧鐘”,當有人粉了我或者給了打賞,它會顯示在最前方。我使用 Stream Labs 網路服務來實現它,將它作為一個瀏覽器網頁素材引進我的場景。 Stream Labs 也會在頂欄裡給出我最新粉絲的動態資訊。
我直播的時候,也會使用一個備用場景:
當我輸入密碼和 API keys 的時候,我另外需要一個場景。它會在網路攝像頭裡展示我,但是將我的桌面用一個娛樂頁面隱藏起來,這樣我可以做一些私密的工作:
正如你看到的,我直播的時候沒有把視窗填的太滿,但我讓我的觀眾儘可能多地看到我的內容。
但現在有一個現實的秘密:我使用 OBS 來安排我螢幕的底部和右側,同時影片保持了 Twitch 要求的長寬比。這讓我有了空間在底部檢視我的事件(訂閱數等),同時在右側觀看和回覆我的頻道聊天室。 Twitch 允許新視窗“彈出”聊天室,這很有用。
這是我完整的桌面看起來的樣子:
我幾個月前開始做這個,還沒有回顧過。我甚至不確定我的觀眾們有沒有意識到我進行的這些精心的設定。我想他們可能會把“我可以看到每個東西”視作理所應當,而事實上我常常忙於敲程式碼,而看不到正在直播的東西!
你可能想知道為什麼我只用一個顯示器。這是因為兩個顯示器在我直播的時候太難以管理了。我很快意識到這一點,並且恢復了單屏。
硬體
我從使用便宜的器材開始,當我意識到我會長期堅持直播之後,才將它們逐漸換成更好的。開始的時候儘量使用你現有的器材,即使是隻用電腦內建的攝像頭與麥克風。
現在我使用 Logitech Pro C920 網路攝像頭,和一個固定有支架的 Blue Yeti 麥克風。花費是值得的。我直播的質量完全不同了。
我使用大屏顯示器(27"),因為我之前說的,使用兩個螢幕對我來說不方便。我常常錯過聊天,因為我經常不檢查我的第二螢幕。你可能覺得使用兩個螢幕很方便,但對我來說,把所有東西放在一個螢幕上有利於我對所有事情保持注意力。
這基本上就是硬體部分的大部分內容了。我沒有使用複雜的設定。
如果你感興趣,我的桌面看起來不錯,除了刺眼的麥克風:
建議
最後這裡有一些我透過實踐得出的一般性建議,這使我的直播從整體來看變得更好,更有趣。
佈告板
花點時間建立一個好的佈告版。佈告板是位於每個人頻道底部的小內容框。我把它們看作新的個人空間視窗(真的)。理想的佈告板可以有類似於聊天規則,有關直播內容的資訊,你使用的電腦和裝置,你最喜歡的貓的種類,等等這樣的東西。任何關於個人形象的內容都可以。我們可以看看其他人(尤其是熱播播主)的理想的佈告板是什麼樣的!
一個我的佈告板的例子:
聊天
聊天真的很重要。你可能會被中途觀看你直播的人一遍又一遍地問同樣的問題,如果可以像現實生活中那樣聊天那樣會很方便。“你正在做什麼?”是我敲程式碼的時候別人最常問我的問題。我用 Nightbot 設定了一個聊天快捷命令。當你輸入一些像 whatamidoing(我正在做什麼) 這樣的單詞時,會自動給出我事先設好的解釋。
當人們問問題或者給出一些有趣的評論時,要回復他們!和他們說謝謝,說他們的 Twitch 用的很好,他們會感謝你的關心和認可。一開始的時候很難對這些都保持注意力,但你做得多了之後,你會發現同時做這幾件事變得更容易了。嘗試著每兩分鐘就花幾秒去關注聊天室。
當你程式設計的時候,解釋你正在做的事 。多說點。開開玩笑。即使我碰到了麻煩,我也會說:“哦,糟糕,我忘了這個方法怎麼用了,我 Google 一下看看”。人們一般都很友好,有時他們還會和你一起尋找解決的辦法。這很有趣,讓人們一直看著你。
如果播主一直安靜地坐在那敲程式碼,不去聊天,也不管他新粉絲的資訊,我會很快對他失去興趣。
很可能你 99% 的觀眾都很友好,並且都有好奇心。我偶爾還是會碰到挑釁的人,但 Twitch 提供的檢查工具可以有效避免這種情況。
準備時間
儘量將你的配置“自動化”。我的終端是 iTerm ,它可以讓你儲存視窗排列和字型大小的配置,這樣你以後就可以再現這些配置。我有一個直播時的配置和一個不直播時的配置,這非常省事。我輸入一個命令,所有東西就都在合適的位置並保持最完美的尺寸,並可以使用了。
還有其他的應用可以用來自動化你的視窗位置,看看有沒有對你有用的。
讓你的字型在終端和編輯器中儘可能的大,這樣所有人都能看清。
定期直播
讓你的日程表更有規律。我一週只直播一次,但總是在同一時間。如果你臨時有事不能在你平常直播的時間直播,要讓人們知道。這讓我保持了一些固定觀眾。一些人喜歡固定的時間,這就像和朋友在一起一樣。你和你的社群在一個社交圈子裡,所以要像對待朋友一樣對待他們。
我想要提高我更新直播的頻率,但我知道因為旅遊的緣故我不能適應超過一週一次的直播頻率。我正在嘗試找到一種可以讓我在路上也能高質量地直播的方法。或許可以臨時將我聊天和寫程式碼的過程儲存起來,週末直播的時候再放出來。我仍然在探索這些辦法!
緊張心理
當你即將開始的時候,你會感覺很奇怪,不適應。你會在人們看著你寫程式碼的時候感到緊張。這很正常!儘管我之前有過公共演說的經歷,我一開始的時候還是感到陌生而不適應。我感覺我無處可藏,這令我害怕。我想:“大家可能都覺得我的程式碼很糟糕,我是一個糟糕的開發者。”這是一個困擾了我 整個職業生涯 的想法,對我來說不新鮮了。我知道帶著這些想法,我不能在釋出到 GitHub 之前仔細地再檢查一遍程式碼,而這樣做更有利於我保持我作為開發者的聲譽。
我從 Twitch 直播中發現了很多關於我程式碼風格的東西。我知道我的風格絕對是“先讓它跑起來,然後再考慮可讀性,然後再考慮執行速度”。我不再在前一天晚上提前排練好直播的內容(一開始的三、四次直播我都是這麼做的),所以我在 Twitch 上寫的程式碼是相當粗糙的,我還得保證它們執行起來沒問題。當我不看別人的聊天和討論的時候,我可以寫出我最好的程式碼,這樣是沒問題的。但我總會忘記我使用過無數遍的方法的名字,而且每次直播的時候都會犯“愚蠢的”錯誤。一般來說,這不是一個讓你能達到你最好狀態的生產環境。
我的 Twitch 社群從來不會因為這個苛求我,反而是他們幫了我很多。他們理解我正同時做著幾件事,而且真的給了很多務實的意見和建議。有時是他們幫我找到了解決方法,有時是我要向他們解釋為什麼他們的建議不適合解決這個問題。這真的很像一般意義的組隊程式設計!
我想這種“不管重要不重要,什麼都說”的情況對於直播這種媒介來說是一種優勢,而不是劣勢。它讓我想的更多。理解一個觀念很重要,那就是沒有完美的程式設計師,也沒有完美的程式碼。對於一個新手程式設計師來說這是令人耳目一新的經歷,對我這個老手來說卻是微不足道的。
總結
如果你想過在 Twitch 上直播,我希望你試一下!如果你想知道怎麼邁出第一步,我希望這篇部落格可以幫的到你。
如果你週日想要加入我的直播,你可以 訂閱我的 Twitch 頻道 :)
最後我想說一下,我自己十分感謝 Mattias Johansson 在我早期開始直播的時候給我的建議和鼓勵。他的 FunFunFunction YouTube channel 也是一個令人激動的定期直播頻道。
另:許多人問過我的鍵盤和其他工作裝置是什麼樣的, 這是我使用的器材的完整列表 。感謝關注!
via: https://medium.freecodecamp.org/lessons-from-my-first-year-of-live-coding-on-twitch-41a32e2f41c1
作者:Suz Hinton 譯者:lonaparte 校對:wxy
相關文章
- 國外直播平臺Twitch是怎樣盈利模式模式
- 經驗分享:iOS平臺設計規範iOS
- 直播平臺開發經驗分享——直播平臺搭建環境配置詳解及分析
- 我從程式設計總結的 22 個經驗程式設計
- 零程式設計經驗的我是如何找到工作的程式設計
- 我2年學習程式設計的經驗總結程式設計
- 大資料平臺建設經驗大資料
- 最大個人直播平臺Twitch如何實現99.99%高可用性?
- 程式設計師的管理經驗程式設計師
- 搭建直播平臺,情景模式介面設計模式
- Twitch 知名主播 Ninja 跳槽微軟後,微軟直播平臺 Mixer 下載量翻倍微軟
- 程式設計教育平臺程式設計
- 程式設計師體驗——我在 RightCapital 的工作程式設計師API
- 一個程式設計師在Elance上的外包經驗分享程式設計師
- 程式設計師面試經驗程式設計師面試
- plsql 程式設計經驗---引用SQL程式設計
- 利用Twitch直播平臺進行品牌互動營銷時需考慮的7個方面
- 從我一年程式設計生涯中得到的經驗教訓程式設計
- 風雨20年:我所積累的20條程式設計經驗程式設計
- 從平臺到中臺 | Elasticsearch 在螞蟻金服的實踐經驗Elasticsearch
- 非計算機專業如何轉行做程式設計師:我的經驗計算機程式設計師
- 一個程式設計師在IBM的開發經驗 (轉)程式設計師IBM
- 騰訊在美直播平臺Trovo曝光
- 程式設計平臺-北郵程式設計
- 直播平臺開發,直播各個分類單例設計展示單例
- 程式設計師:增加程式設計經驗的3種途徑程式設計師
- 網易資料基礎平臺建設經驗談
- 程式設計師程式設計知識經驗總結程式設計師
- VB程式設計經驗點滴程式設計
- 回顧15年程式設計師生涯,我總結的7點經驗程式設計師
- 雲端設計平臺Coohom在生產環境中使用istio的經驗與實踐
- 程式設計師接私活平臺程式設計師
- SAP ABAP 平臺新的程式設計模型程式設計模型
- 經驗貼,作為程式設計師,我是怎麼月薪3W的:程式設計師
- 我在Facebook學到的10個經驗
- 走開 我們在程式設計程式設計
- 程式設計15年的技術大神之經驗告白,樣樣實在程式設計
- 19歲程式設計師在谷歌學到的5條經驗教訓程式設計師谷歌