快速上手打造專屬直播平台

2022/11/14

當網紅、Youtuber、直播這些名詞開始不斷出現在你的生活中,你是否也曾想過要不要成為當中的一份子?或是因業務工作場合中需要快速提供影音直播服務? 像是遊戲實況直播、賽事球類直播、現場互動叫賣、線上小學堂..等。直播雖然很吸引人,但其實有直播經驗的網紅都知道,自己架設影音直播系統系統是不可能的,背後要準備一堆影音器材、剪輯軟體、網路系統..等,還沒開始直播就先買了一堆設備,等全部都搞定後才發現直播卡卡,網路不順暢,使用者體驗超差的,真的浪費時間浪費金錢。

相信這不是大家所想看到結果,還好騰訊雲直播一站式提供服務,將我們上面所有的煩惱全部都免去了,透過完善的騰訊雲直播解決方案,可以更有效的執行直播作業,並支援許多種拉流方式,讓使用者能透過多種平台收看直播,也支援即時儲存影片、即時編輯轉碼等功能。這裡提供一個基本騰訊雲直播架構給大家參考。


- 騰訊直播雲架構圖

騰訊直播雲架構圖








- 實務操作

本次操作將使用騰訊雲一站式直播作為主要服務,同時直播源會透過本機配合OBS來進行推流,並將錄影結果直接存檔至騰訊雲的COS儲存設備,並以支援的多媒體播放器來同步播放。在使用直播服務之前必須準備好網域名稱,後面會需要CNAME域名配置。以下我們就開始實作吧!


首先登入Tencent Cloud平台

https://console.intl.cloud.tencent.com/

登入Tencent Cloud平台



在雲產品中搜尋直播,如下圖所示。

“在雲產品中搜尋直播"


步驟1: 配置CNAME域名

在進行直播架設之前,必須準備好推流域名和直播域名。

點選【域名管理】>【添加域名】按鈕一一進行新增。

“一一進行新增"


首先下拉選取【推流域名】類型以及自訂域名名稱。

“自訂域名名稱"


再下拉選取【播放域名】類型、【加速區域】以及自訂直播域名。

“自訂直播域名"

小提醒: 如果直播域名類型在中國境內或全球(含中國),記得將您的域名在中國工信部完成域名備案才行。



在騰訊雲直播控制台接入加速域名後,系統會給對應的域名分配一個以 .tlivepush.com為後綴的域名(作為推流)以及一個以 .tlivecdn.com為後綴的域名(作為播流)。用戶需要在域名服務供應商裡去配置一條CNAME記錄,記錄生效後,域名解析的工作就正式轉向騰訊雲雲直播,該域名所有的請求都將轉向騰訊雲直播的邊緣節點。


如下圖為完成CNAME域名配置。

“完成CNAME域名配置"


步驟2: 快速獲取推流位址

請點選【地址生成器】進入設定畫面,如下圖所示。

“地址生成器進入設定畫面"

- 選擇生成類型為推流域名,並選擇您已增加到域名管理的推流域名。

- 填寫AppName,預設為:live。

- 填寫流名稱StreamName,例如:stream。

- 選擇地址過期時間,例如:2022-03-18 00:00:00。

- 單擊生成地址即可。


生成地址結果: 推流地址支援RTMP 、WebRTC和SRT協定,可透過地址生成器功能生成前綴為rtmp://、webrtc://和srt:// 的推流地址。


“生成地址結果”


步驟3: 錄製儲存設定

請點選【直播錄製】。錄製模板使用預設提供的HLS格式錄製即可。綁定域名這裡指定推流域名,將直播影片儲存至騰訊雲的儲存設備(COS)。如下圖所示。

“將直播影片儲存至騰訊雲的儲存設備(COS)”

小提醒: 直播錄製功能為付費增值服務,使用前需先開通雲點播服務。

“小提醒”


步驟4: 配置直播推流

這裡使用OBS第三方免費開源直播工具。Open Broadcaster Software(簡稱OBS)是一款好用的直播流媒體內容製作軟體,它可支援OS X、Windows、Linux操作系統,適用多種直播場景,滿足大部分直播行為的操作需求,您可以到OBS官網下載最新版本軟體。

https://obsproject.com/download?spm=a2c4g.11186623.2.15.6aac1445JPlKR8。

“OBS”


- 設定OBS線上推流

安裝完成OBS軟體後請打開OBS程式,請點選【檔案(F)】>【設定(S)】按鈕進入設定畫面,如下圖所示。

“設定OBS線上推流”


1.單擊【串流】進入串流設定,選擇服務類型為自定義流媒體服務器。

2.將剛剛獲取所得的推流地址 填寫到服務器和串流密碼中。

3.服務器:對應"OBS 推流地址",即rtmp://domain/AppName/。

4.串流密碼:對應OBS推流名稱,即StreamName?txSecret=xxxxx&txTime=62335B00。

5.單擊【確定】儲存設定。

“單擊確定儲存”


- 推流引導設定。

請點選【+】新增來源。OBS支援多種來源類型,如圖片、音訊、影片..等。這裡以視頻擷取裝置為主要來源。

“推流引導設定1”


“推流引導設定2”


新來源名稱命名。

“新來源名稱命名”


確認視頻擷取裝置,這裡預設以內建WebCam視頻為例。

“確認視頻擷取裝置”


步驟5: 開始直播

請點選【開始串流】,開始直播。

“開始串流”


如下圖為開始串流傳輸。

“開始串流傳輸”


步驟6: 快速獲取直播位址

請點選【地址生成器】進入設定畫面,如下圖所示。

1.選擇生成類型為播放域名,並選擇您已增加到域名管理的播放域名。

2.填寫AppName,預設為:live。

3.填寫流名稱StreamName,例如:stream。

4.選擇地址過期時間,例如:2022-03-18 00:00:00。

5.單擊生成地址即可。

“快速獲取直播位址”


生成地址結果: 若使用轉碼模板,生成的播放地址為轉碼後的直播播放地址。其中播放支援RTMP、FLV、HLS和Webrtc協定。可透過地址生成器生成前綴為rtmp://、http://和webrtc://的播放地址。

“生成地址結果生成的播放地址為轉碼後的直播播放地址”


步驟7: 線上觀看直播

PC端可使用VLC播放工具或者使用瀏覽器在騰訊雲視立方網站直接觀看。


- 使用VLC播放器觀看

VLC media player是一款自由、開源的跨平台多媒體播放器及框架,可用來播放大多數多媒體檔案,以及DVD、音頻CD、VCD 和各類流媒體協定。並支援OS X、Windows、Linux、iOS、Android 及Chrome OS等操作系統,適用所有常見的直播格式,包括RTMP、FLV格式以及M3U8 格式,您可以到VLC官網下載最新版本軟體 https://www.videolan.org/vlc/。

安裝完成VLC軟體後請打開VLC程式,請點選【開啟網路串流(N)】按鈕進入串流設定,如下圖所示。

“開啟網路串流”



點選【網路(N)】標籤,這裡輸入剛剛產生的直播地址,如下圖所示。

“點選網路標籤”


畫面直播中。

“畫面直播中”


- 使用騰訊雲視立方網站觀看

觀看網址URL: https://tcplayer.vcube.tencent.com/tcplayerlite?&type=webrtc。

這裡輸入剛剛產生的WebRTC直播地址,如下圖所示。

“使用騰訊雲視立方網站觀看”


好了,以上的過程,讓我們可以簡單看到整個騰訊雲直播一站式服務,只要幾分鐘就可快速搭建自己專屬的直播平台。這些都還只是基本功能,未來會再深入了解更進階的功能,達到更具有影音AI的識別技術、加密安全控管、低延遲高性能、多終端多碼率等。




一站式影音點播平台,想怎麼播就怎麼播

上一章節內容我們已完成影音直播,此時我們可能會想把剛剛的直播影片放在自己的官網或影音平台,供大家自己VOD點播來觀看,想怎麼看就怎麼看。

VOD (Video On Demand) 隨選視訊是一套可以讓使用者透過網路選擇自己想要看的視訊內容的系統。使用者選定內容後,VOD系統可以用串流媒體的方式進行即時播放,也可以將內容完全下載後再進行播放。


- 騰訊雲點播架構圖

“騰訊雲點播架構圖”


- 實務操作

首先登入Tencent Cloud平台

https://console.intl.cloud.tencent.com/

“先登入Tencent


步驟1: 開通雲點播

在雲產品中搜尋點播,進入雲點播控制台。如下圖所示。

“開通雲點播”


步驟2: 查看直播錄製的影片

請點選【視頻管理】,即可看到剛剛直播儲存的影片。

“視頻管理可看到剛剛直播儲存的影片”


步驟3: 建立浮水印模板(可選)

- 請點選【視頻處理設置】>【模板設置】。

- 在【模板設置】標籤欄中選擇【水印模板】。

- 請點選【創建水印模板】按鈕,在該頁面進行如下設置,最後單擊【創建】。

“建立浮水印模板”


設定模板名稱、浮水印類型、位置以及上傳浮水印圖檔。

“設定模板名稱和浮水印類型”


如下圖為完成浮水印模板。

“設定模板名稱和浮水印類型”


步驟4: 建立任務流(可選)

請點選【視頻處理設置】>【任務流設置】>【創建任務流】按鈕。

“建立任務流”


給予任務流名稱、任務類型配置,在普通轉碼任務配置中,添加轉碼模板,進行轉碼。

“任務流命名”


在轉碼模板/ID下拉選取【MP4-FLU(Deprecated)(10)】。如果想在影片裡加上浮水印可添加浮水印,如下圖所示。

“MP4-FLU(Deprecated)(10)”


如下圖為完成自定義任務流。

“完成自定義任務流”


步驟5: 視頻處理

請點選【視頻管理】>【勾選視頻】>【視頻處理】,進行影片編輯。

“進行影片編輯”


點選【任務流】並下拉選取【任務流模板】,最後點選【確定】即可。

“選取任務流模板”


在視訊基本訊息裡可檢視處理狀態,【正常】表示處理完成。

“影片處理完成”


步驟6:獲取播放URL位址

請點選【視頻管理】>【點選視頻】。

在標準轉碼列表中MP4-FLU(Deprecated) 對應操作欄下的複製地址,如下圖所示。

“獲取播放URL位址”


在瀏覽器URL地址欄輸入複製的URL地址,即可播放該視頻。

“瀏覽器URL地址欄輸入複製的URL地址”


以上的過程,讓我們可以簡單看到整個騰訊雲一站式影音點播解决方案。媒體資源管理、影音製作上傳、自動化轉碼、影音AI、分發加速、播放器SDK 等,一次搞定!



參考文件:

雲直播https://intl.cloud.tencent.com/zh/document/product/267

雲點播https://intl.cloud.tencent.com/zh/document/product/266


一次搞懂影音串流術語

- Live streaming: 為直播串流,在Internet上公開播出即時影像的形式。在Live Streaming與VOD的應用,常見的協定包括 HLS、RTMP、WebRTC。常見的影音編碼格式包括MPEG-4、H.264、H.265。

- VoD (Video On Demand) : 隨選視訊是一套可以讓使用者透過網路選擇自己想要看的視訊內容的系統。用戶選定內容後,VOD系統可以用串流媒體的方式進行即時播放,也可以將內容完全下載後再進行播放。

- 推流: 主播將本地視頻源和音頻源推送到騰訊視頻雲服務器,在有些場景中也被稱為“RTMP發佈”。

- 拉流: 即直播播放,指已實現直播推流之後,用指定地址將騰訊視頻雲服務器中的視頻源和音頻源拉取播放的過程。其視頻源是即時產生的,有人推流直播才有意義,一旦主播停播,直播URL也就失效了。而且由於是即時直播,所以播放器在直播視頻的時候是沒有進度條的。

- 推流域名: 指用於推送直播流的域名,必選配置,該域名必須在使用直播服務前完成註冊並備案。配置完推流域名後,直播服務會生成對應的推流URL地址。

- 播放域名: 指用於播放直播流的域名,必選配置,該域名必須在使用直播服務前完成註冊並備案。配置完播放域名後,直播服務會生成對應的播放URL地址。

- CNAME域名: 在騰訊雲直播控制台接入加速域名後,系統會給對應的域名分配一個以 .tlivepush.com為後綴的域名(作為推流)以及一個以 .tlivecdn.com為後綴的域名(作為播流)。用戶需要在域名服務供應商裡去配置一條CNAME記錄,記錄生效後,域名解析的工作就正式轉向騰訊云云直播,該域名所有的請求都將轉向騰訊雲直播的邊緣節點。

- StreamName: StreamName是一路流的標識符,通常與某個域名一起唯一標識一路流。

- AppName: 直播的應用名稱,用於區分直播流媒體檔案存放路徑,預設為live,可自定義。

- 轉碼: 轉碼是將視頻碼流轉換成另一個視頻碼流的過程,是一種離線任務。透過轉碼,可以改變原始碼流的編碼格式、分辨率和碼率等參數,從而適應不同終端和網路環境的播放。使用轉碼功能可以實現:適配更多終端:將原始視頻轉碼成擁有更強終端適配能力的格式,使視頻資源能夠在更多設備上播放。適配不同頻寬:將視頻轉換成流暢、標清、高清或超清輸出,用戶可根據當前網絡環境選擇合適碼率的視頻播放。節省頻寬:採用更先進的編碼方式轉碼,在不損失原始畫質的情況下顯著降低碼率,節省播放頻寬。

- H.264: 由ITU-T 視頻編碼專家組和ISO/IEC動態圖像專家組聯合提出的高度壓縮數位視頻編解碼器標準,使用優勢如下:可利用低於1Mbps的速度實現標清(分辨率在1280*720以下)數位圖像傳送。與其它視頻編碼標準相比,在相同的頻寬下提供更優秀的圖片品質。

- H.265: 標准在現有的H.264視頻編碼標準基礎上保留部分技術,並進行了優化。使用優勢如下:可利用1Mbps - 2Mbps的傳輸速度傳送720P(分辨率1280*720)普通高清音視頻傳送。改善碼流、編碼品質、延時和算法複雜度之間的關係,達到最優化設置。

- WebRTC(Web Real-Time Communication): 網頁即時通訊,是一個支援網頁瀏覽器進行即時語音對話或影片對話的API。它於2011年6月1日開源並在Google、Mozilla、Opera支援下被納入全球資訊網協會的W3C推薦標準。

- RTMP(Real-Time Messaging Protocol): 即時訊息協定,是最初由Macromedia為透過網際網路在Flash播放器與一個伺服器之間傳輸串流媒體音訊、影片和資料而開發的一個專有協定。

- HLS(HTTP Live Streaming): 是一個由蘋果公司提出的基於HTTP的流媒體網路傳輸協定。HLS只請求基本的HTTP訊息,與即時傳輸協定(RTP)不同,HLS可以穿過任何允許HTTP資料通過的防火牆或者代理伺服器。它也很容易使用CDN來傳輸媒體流。

- 事件消息通知: 指推流過程中,直播觸發事件通知,騰訊雲按照配置模板訊息主動發送請求到客戶的服務器,客戶的服務器負責應答驗證請求。驗證通過後即可獲取包含回調訊息的JSON封包,獲取後請解析並記錄相關訊息。

- 防盜鏈: 指推流和播放URL中的txSecret字段,可防止攻擊者偽造您的後台生成推流URL或者非法盜取您的播放地址進行謀利。

- 直播錄製: 在推流過程中,將直播原始流經過轉音視頻封裝(不修改音頻、視頻數據以及對應的時間戳等訊息)得到的視頻檔案儲存到雲點播平台。使用該功能需提前開通 雲點播服務。

- 浮水印: 在直播推流過程中,為保證視頻版權不受侵犯,在轉碼過程中將設置好的浮水印合併到視頻流中輸出一個帶有浮水印的視頻流,水印內容可以為文字或圖片。

- 截圖: 以固定時間間隔將直播推流視頻畫面截取下來,形成圖片檔案存儲在物件儲存COS中。開通截圖功能需要先在您的COS Bucket中授權雲直播服務的資料寫入權限。

- 鑑黃: 基於截圖功能,系統透過推流域名已關聯的截圖鑑黃模板,對截圖進行識別和結果回調。

- 95峰值頻寬: 取計費周期內所有的5分鐘頻寬計數點,按大小排序後去掉前5%點,剩餘95%的計數點取最大值即為月95峰值頻寬。

- FPS(Frames Per Second): 影格率測量單位:每秒顯示frame數或者每秒顯示張數。有時也以Hz頻率代稱,例如 1080p30,最後的數字30代表30Hz也就是每秒30 frame的意思。

- Resolution解析度: 泛指量測或顯示系統對細節的分辨能力。網路影音常見的解析度規格包含 Full-HD (1080p)、HD (720p)、480p、360p。其代表的意思是一個圖片的水平掃描線超過1080條。

- Bitrate: 位元速率是單位時間內傳輸送或處理的位元的數量,其單位為kbps或bps。在網路影音領域中,Bitrate通常與影像品質高低有關,越大的Bitrate代表每一個像素點所涵蓋的位元越多,影像就會越清楚。


其他訊息