
隨著互聯(lián)網(wǎng)用戶消費內容和交互方式的升級,支撐這些內容和交互方式的基礎設施也正在悄悄發(fā)生變革。手機設備拍攝視頻能力和網(wǎng)絡的升級催生了大家對視頻直播領域的關注,吸引了很多互聯(lián)網(wǎng)創(chuàng)業(yè)者或者成熟企業(yè)進入該領域。
通用直播模型
推流直播是指將實時視頻和音頻內容通過網(wǎng)絡傳輸?shù)接^眾端的一種直播方式。在推流直播中,直播內容會被編碼壓縮并以數(shù)據(jù)流的形式發(fā)送到直播平臺或自建服務器,然后觀眾可以通過網(wǎng)絡連接接收這些數(shù)據(jù)流并實時觀看直播內容。
推流直播設備
對于直播推流,很多人第一反應可能理解為直播推廣,這兩者沒有什么關系,推流直播指的是可以借助推流直播功能用攝像機 / 單反 / 無人機 / 云犀 BOX/ 云犀 Max 等更為專業(yè)的器材進行直播。

傳統(tǒng)的直播導播技術,是通過衛(wèi)星發(fā)射器,將視頻源發(fā)出。在互聯(lián)網(wǎng)時代,廣電級直播對帶寬要求非常高。所以在網(wǎng)絡速度一定的情況下,需要強大的智能編碼器,相當于微型導播臺,將視頻源編碼為信息流,再進行互聯(lián)網(wǎng)傳輸。
推流直播通常包括以下幾個關鍵步驟
直播 App 架構
- 攝像和錄制:使用攝像設備(如攝像機、手機等)進行實時拍攝,并同時錄制視頻和音頻內容。
- 編碼和壓縮:將攝像和錄音的內容進行編碼和壓縮,以減小文件大小和提高傳輸效率。常用的編碼格式包括 H.264、H.265 等。
視頻直播推流技術
- 推流服務器設置:設置推流服務器的相關參數(shù),包括服務器地址、端口號、推流密鑰等。推流服務器負責接收和分發(fā)推流數(shù)據(jù)。
- 推流軟件或設備設置:使用推流軟件(如 OBS Studio、XSplit 等)或推流設備,將編碼和壓縮后的數(shù)據(jù)流發(fā)送到推流服務器。在設置中需要輸入推流服務器的相關信息。
- 網(wǎng)絡傳輸:推流軟件或設備通過網(wǎng)絡將數(shù)據(jù)流發(fā)送到推流服務器。這需要穩(wěn)定的網(wǎng)絡連接,以確保數(shù)據(jù)的及時傳輸和觀眾的流暢觀看。
- 直播平臺接收:推流服務器將接收到的數(shù)據(jù)流轉發(fā)給直播平臺。直播平臺會對接收到的數(shù)據(jù)進行解碼,并將直播內容分發(fā)給觀眾端。
- 觀眾端觀看:觀眾可以通過直播平臺的客戶端、網(wǎng)頁或移動應用程序等方式,通過網(wǎng)絡連接接收并實時觀看推流直播內容。
直播 App 流程
推流直播的好處是可以實現(xiàn)實時互動和即時傳遞信息的效果,觀眾可以在直播過程中與主播進行互動、評論和送禮物等。推流直播廣泛應用于各種領域,包括娛樂、教育、商業(yè)、林業(yè)、農業(yè)、軍事等。
推流直播應用場景
下面小編再詳細講解一下什么“推流”、什么“拉流”,不然會有很多粉絲疑惑。
一句話概括就是:推流就是直播端,而拉流就是客戶端
推流和拉流全過程
什么是推流?
推流:將直播的內容推送至服務器的過程。
即指的是把采集階段封包好的內容傳輸?shù)椒掌鞯倪^程。其實就是將現(xiàn)場的視頻信號傳到網(wǎng)絡的過程。
無人機 rtmp 推流直播解決方案
“推流”對網(wǎng)絡要求比較高,如果網(wǎng)絡不穩(wěn)定,直播效果就會很差,觀眾觀看直播時就會發(fā)生卡頓等現(xiàn)象,觀看體驗很是糟糕。
要想用于推流還必須把音視頻數(shù)據(jù)使用傳輸協(xié)議進行封裝,變成流數(shù)據(jù)。常用的流傳輸協(xié)議有 RTSP、RTMP、HLS 等,使用 RTMP 傳輸?shù)难訒r通常在 1–3 秒,對于手機直播這種實時性要求非常高的場景,RTMP 也成為手機直播中最常用的流傳輸協(xié)議。
最后通過一定的 Qos 算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡端,通過 CDN 進行分發(fā)。
流媒體技術架構
什么是拉流?
拉流:指服務器已有直播內容,用指定地址進行拉取的過程。
即是指服務器里面有流媒體視頻文件,這些視頻文件根據(jù)不同的網(wǎng)絡協(xié)議類型(如 RTMP、RTSP、HTTP 等)被讀取的過程,稱之為拉流。
說的簡單點,你觀看優(yōu)酷視頻就可以看成是拉流,視頻文件存儲在優(yōu)酷的服務器上面,你通過 HTTP(或者 RTMP/RTSP)協(xié)議,也就是網(wǎng)頁的形式去獲取視頻觀看,這就是拉流的過程。
拉流全過程
在這個過程中有三個要素:
- 1- 服務器【提供視頻文件存儲的地方】
- 2- 傳輸協(xié)議【就是你要通過什么方式傳輸視頻】
- 3- 讀取終端【就是通過什么播放出來】
借此機會,今天小編給大家推薦 7 個精選開源免費的直播推流工具,值得學習收藏,讓正在從事直播推流開發(fā)的小伙們有頭緒和對推流、拉流基礎知識有一定的理解,希望對更多粉絲們有所幫助。同時送給大家最真摯的祝福,愿你身體健康,精神愉快;事業(yè)發(fā)達,財源廣進;家庭和睦,笑容常在;事事如意,一切順心!。接下來小編給大家介紹一些開源免費的直播推流工具開源免費的直播推流工具,喜歡的小伙們記得點個贊和收藏。
全文大綱
- obs-studio?–?是一個用于視頻錄制和直播的免費開源軟件
- Restreamer?–?是一個可以將視頻流同時輸?shù)蕉鄠€平臺的開源。
- FFmpeg?–?市面上 80% 以上視頻處理類的軟件底層都用到了 ffmpeg 庫。
- vMix?- 是一個功能非常強大的應用程序
- Wirecast?– 是一款功能強大的現(xiàn)場視頻制作工具。
- MediaStream Recorder?– 是一款免費開源的錄屏軟件,可以用于無人直播。
- GStreamer - 是一款強大的多媒體處理框架,也可用于無人直播。
- ffscreencast –?是一個使用 ffmpeg 庫的命令行流媒體應用程序。
obs-studio – 是一個用于視頻錄制和直播的免費開源軟件
Github:https://github.com/obsproject/obs-studio

介紹
本列表中的第一個免費應用程序是 OBS Studio(即 Open Broadcaster Software)。它是一個具有屏幕廣播功能的流媒體直播應用程序,可用于 Linux、Windows 和 macOS。
出于幾個原因,OBS Studio 是這個名單上最好的一個。它內置了編碼,支持 RTMP 廣播、多源、網(wǎng)絡攝像頭、綠屏、捕捉卡和你的應用程序窗口。
其用戶界面相當簡單明了,功能豐富。你可以從第三方開發(fā)的插件中獲得幫助,以擴展其功能,例如,在直播時將 Twitter 上的實時推文混入你的流媒體。不過,OBS 不支持多比特率流媒體。
OBS Studio 是一個免費的開源直播視頻軟件,它使用起來非常簡單,由于 OBS Studio 特別易于使用,使用 obs 占用電腦資源相對較少,對配置要求相對要低一點,使用門檻較低,特別受到網(wǎng)絡主播的青睞,而且官方聲稱永久免費,國內外很多職業(yè)游戲選手普遍使用的都是 OBS,由于開源的特性,可以安裝一些實用插件,增加拓展功能,可玩性大大提高。
此外,由于其可靠性和易用性,是內容創(chuàng)作者,游戲玩家和專業(yè)人士的熱門選擇。總體而言,OBS Studio 是一款功能強大且用戶友好的工具,為視頻錄制和直播提供了一系列功能和功能。
工具截圖


Restreamer – 是一個可以將視頻流同時輸?shù)蕉鄠€平臺的開源。
Github:https://github.com/datarhei/restreamer

介紹
Restreamer 應用程序可以讓你直接在你的網(wǎng)站上直播視頻和截屏,而無需任何流媒體服務商。也可以用這個應用程序使用流行的流媒體解決方案,如 YouTube、Twitch 等。
這個應用程序功能豐富,有一個不錯的功能列表。下面是對其功能的快速介紹:
- 支持 H.264 流媒體
- 內置 HTML5 視頻播放
- 可用于 Linux、macOS、Windows 和 Docker 鏡像
- 支持你自己的網(wǎng)站和 YouTube、Twitchm、Facebook、Vimeo、Wowza 等。
- 支持多個視頻源:網(wǎng)絡攝像機、USB 攝像機或任何 H.2645 流媒體
- 編碼和音頻源支持
- 支持 JPEG 形式的定期快照
- 通過 JSON HTTP API 訪問流狀態(tài),以便進行額外的編程
工具截圖
Restreamer 圖來自官網(wǎng)
FFmpeg – 市面上 80% 以上視頻處理類的軟件底層都用到了 ffmpeg 庫。
Github:https://github.com/FFmpeg/FFmpeg

介紹
市面上 80% 以上視頻處理類的軟件底層都用到了 ffmpeg 庫。ffmpeg 庫可以通過 C ++ 直接調用,對于非開發(fā)者而言,可以直接調用編譯好的命令行工具。
功能特性:
- 圖片方面,圖片格式轉換,圖片轉視頻等。
- 視頻采集方面,ffmpeg 可以設置幀率 (fps),編解碼算法(h264,h265 等),設置碼率(bps) 等。
- 視頻格式方面,ffmpeg 可以實現(xiàn)多種視頻格式之間的相互轉換(wma,rm,avi,mod 等)。
- 直播方面,ffmpeg 可以執(zhí)行直播推流。
FFmpeg 是一套可以用來記錄、轉換數(shù)字音頻、視頻,并能將其轉化為流的開源計算機程序。采用 LGPL 或 GPL 許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻 / 視頻編解碼庫 libavcodec,為了保證高可移植性和編解碼質量,libavcodec 里很多 code 都是從頭開發(fā)的。

FFmpeg 在 Linux 平臺下開發(fā),但它同樣也可以在其它操作系統(tǒng)環(huán)境中編譯運行,包括 Windows、Mac OS X 等。這個項目最早由 Fabrice Bellard 發(fā)起,2004 年至 2015 年間由 Michael Niedermayer 主要負責維護。許多 FFmpeg 的開發(fā)人員都來自 MPlayer 項目,而且當前 FFmpeg 也是放在 MPlayer 項目組的服務器上。項目的名稱來自 MPEG 視頻編碼標準,前面的 ”FF” 代表 ”Fast Forward”。FFmpeg 編碼庫可以使用 GPU 加速。
vMix - 是一個功能非常強大的應用程序
官網(wǎng):https://www.vmix.com/

介紹
vMix是一個功能非常強大的應用程序,具有完整 SRT 支持的現(xiàn)場制作軟件,支持所有流行的視頻格式,可以添加相機,圖形,標題,視頻,通話,網(wǎng)絡內容,現(xiàn)場和錄制的音頻,NDI 來源。可以錄制、直播,還可以多路推流,可以自定義字幕模板。
這款軟件能在某種程度上代替了專業(yè)混合設備,很完美的適用于演播室多通道攝像機切換及虛擬演播場景、網(wǎng)絡直播等,而且就算你沒有昂貴的專用硬件混合器也可以直接用該軟件來滿足用戶們的使用需求,因此如今在很多需要用到投影儀的現(xiàn)場中都會直接使用該軟件來進行使用,便捷又實用。
工具截圖

Wirecast – 是一款功能強大的現(xiàn)場視頻制作工具。
官網(wǎng):
https://www.telestream.net/wirecastgear/

介紹
Wirecast 是一款功能強大的現(xiàn)場視頻制作工具,他是一個層級式的軟件,類似于 Photoshop 的圖層,可以讓畫面更加豐富。網(wǎng)上直播制作人一直想盡力吸引多些觀眾,其中最好的一種方法就是使用多臺攝像機以多個機位拍攝并直播現(xiàn)場活動。

Wirecast 官方版 全稱為 Telestream Wirecast,是由 Telestream 公司推出的一款直播推流軟件。這款軟件將現(xiàn)場多攝像機畫面切換和專業(yè)人士需要的現(xiàn)場視頻制作功能集于一身,可以用于流式傳輸和錄制高質量的直播視頻到 Periscope 等等,用戶只需具備攝像頭、互聯(lián)網(wǎng)連接以及 pc 電腦,就能制作出專業(yè)現(xiàn)場直播活動。除此之外,軟件功能十分強大,支持包括色鍵、過渡特技、三維圖文、內置字幕或是下方字幕、虛擬 3D 前景、背景、虛擬布景和內建的比分模板,可以為網(wǎng)上直播創(chuàng)建精美的廣播級質量畫面。
與此同時,Wirecast 新版功能進行了全面升級和優(yōu)化,增加了擴展輸入、擴展輸出、擴展音頻、3D 虛擬集、PTZ 攝像頭控制、體育制作等功能,可以應用于新聞、體育賽事、音樂會、教學研討會。支持現(xiàn)場編碼為流行的流媒體格式,包括 QuickTime、On2 Flash 8、H.264 和 Windows Media。擁有全新渲染引擎可以更好的色彩空間轉換,并提升編碼性能和資源管理,帶給你更好的直播推流體驗。有需要的朋友歡迎下載體驗。
該軟件令您可以方便地采集和制作用于網(wǎng)上直播的多機位現(xiàn)場視頻。新聞、體育賽事、音樂會、教學研討會及公司會議都是使用這個解決方案作網(wǎng)上直播的理想場合。
MediaStream Recorder – 是一款免費開源的錄屏軟件,可以用于無人直播。
Gitee:https://github.com/w3c/mediacapture-record

介紹
Mediastream 是 WebRTC 的核心技術之一,是一種 Web API,它提供了一種流媒體處理方案,其中包括音頻及視頻采集、處理及轉發(fā)。
使用 MediaStreamer,我們可以輕松地通過網(wǎng)頁實現(xiàn)音視頻的采集及轉發(fā),同時也可以進行格式轉換和媒體流處理等操作。
需要注意的是,MediaStreamer 需要在支持 WebRTC 的瀏覽器中才能夠正常工作。
GStreamer - 是一款強大的多媒體處理框架,也可用于無人直播。
官網(wǎng):
https://gstreamer.freedesktop.org/
Gitlab:https://gitlab.freedesktop.org/gstreamer/

介紹
從歷史的角度來看,Linux 在多媒體方面已經遠遠落后于其他的操作系統(tǒng)。Microsoft’s Windows 和 Apple’s MacOS 它們對多媒體設備、多媒體創(chuàng)作、播放和實時處理等方面已經有了很好的支持。另一方面,Linux 對多媒體應用的綜合貢獻比較少,這也使得 Linux 很難在專業(yè)級別的軟件上與 MS Windows 和 MacOS 去競爭。GStreamer 正是為解決 Linux 多媒體方面當前問題而設計的。

GStreamer 是一個非常強大而且通用的流媒體應用程序框架。GStreamer 并不受限于音頻和視頻處理, 它能夠處理任意類型的數(shù)據(jù)流。主要的優(yōu)點在于: 它的可插入組件能夠很方便的接入到任意的流水線(pipeline)當中。這個優(yōu)點使得利用 GStreamer 編寫一個萬能的可編輯音視頻應用程序成為可能。
GStreamer 框架是基于插件的。所有的插件都能夠被鏈接到任意的已經定義了的數(shù)據(jù)流水線中。