沒有Flash如何做直播?

2021-03-02 SRS開源伺服器

有些人吶,真是不見棺材不落淚,N(>=3)年前Adobe官宣了2020年底就不支持Flash了,最近發現非常多的朋友,到了真正完全不能用時,才考慮如何逃生,在群裡一頓狂問「沒有Flash了怎麼播放RTMP」,「該選HTTP-FLV還是WebRTC」,「用什麼播放器播HTTP-FLV」。

本文只發一次,完整解決方案再囉嗦一遍,恕我不在群裡回答這種問題了,自己花時間好好看吧,身為搞直播的研發工程師,總不能火燒了眉毛才開始想辦法吧,各位耗子尾汁吧。

看完視頻,請看詳細方案。

沒有Flash了怎麼做直播?

答案是:PC用H5。

為什麼不說客戶端?因為客戶端上早就沒有Flash,不會問這個問題。客戶端上瀏覽器,比如微信的瀏覽器,如果要播放直播可以用HLS。如果是微信小程序,可以用RTMP的。如果是自己的Native客戶端,那可以用各種雲廠商的SDK,或者開源的基於FFmpeg的方案,比如Fijkplayer。反正,一句話說來,客戶端因為早就習慣沒有Flash了,這個問題不存在。

PC怎麼用H5呢?本質上有兩個技術:

MSE:目前很成熟的技術,是js的解碼器,把MP4格式的文件,送到MSE解碼播放。其實很多播放器底層都是用的MSE,比如flv.js播放HTTP-FLV或者WebSocket-FLV,比如hls.js播放HLS,比如dash.js播放DASH切片。

WebRTC:目前做直播還不太成熟,是做RTC通信還算比較成熟的一套技術,有自己的編解碼邏輯。做直播不太成熟,是因為它本身不是幹這個的,有些邏輯不太一樣比如錄製,另外通信比直播複雜太多了,所以如果只是做直播的話,肯定是不推薦上這麼高難度騷操作的。

這兩個技術又涉及到了幾個問題,我們下面繼續講。

用HTTP-FLV還是HLS?

答案是:

所謂延遲,就是推流和播放器的延遲,可以用OBS抓一個網頁的秒表,然後播放器上觀看,對比這兩個時鐘的差異,就是延遲了。

HLS是否就不能做3秒延遲呢?比較難,但是HLS延遲可以做一些優化,估計能到5秒左右,詳細可以參考百毫秒超低延遲直播方案中HLS延遲優化的配置。

如果選擇了HTTP-FLV,那麼在移動端就不能用瀏覽器播放,但是移動端可以用Fijkplayer播放,這是為了追求更低延遲要付出的兼容性代價。當然,並非所有業務,都要求移動端瀏覽器觀看,所以這個要根據自己的業務來。

是否保守點直接選HLS?如果對延遲有一定的要求,那麼就不合適,所以還不能這麼武斷的全部選擇HLS。

用HTTP-FLV還是WebRTC?

答案是:HTTP-FLV。

WebRTC是做通信的,不是用來做直播。在直播業務中,目前並沒有經過大規模的驗證,配套的東西也不如直播這麼完善,比如微信小程序就沒法用WebRTC了。

現在雲服務也開始推出WebRTC直播服務,當然是可以用的,問題是雲服務也支持HTTP-FLV,為什麼不選擇更通用的方案?除非延遲要求非常低,比如1秒之內的延遲。

自己問下自己的業務,是否要做到1秒之內的延遲。那麼就需要犧牲更多的兼容性代價,如果這個代價是可以接受的,那麼WebRTC做直播也不是不能選的。可能有那麼一天,WebRTC直播也成為普通的選擇,那就是另外一回事了。

有沒有更好的協議?

答案是:RTMP、HTTP-FLV和HLS一起用。

最好的替代場景是這樣的:

PC瀏覽器,延遲有要求的用HTTP-FLV,延遲沒要求的用HLS。

移動端瀏覽器,用HLS,兼容性比較好,幾乎都支持。

移動端微信小程序,用RTMP,HTTP-FLV或HLS。

移動端Native,用RTMP或HTTP-FLV。

目前直播的雲服務,這三個協議都是支持的,如果不能支持,自己用SRS搭建直播源站,轉協議後分發,就可以支持了。

而且SRS還能將RTMP轉成WebRTC,是居家必備的不二之選。

用什麼播放器?

這個問題就比較簡單了,根據協議可以選擇播放器:

HTTP-FLV,PC上用flv.js,移動端用Fijkplayer。

HLS,PC上用hls.js,Safari、iOS、Android可以H5直接播。

WebRTC,PC上用H5(得自己寫代碼調API),移動端得用SDK。

各位收好,不謝。

相關焦點

  • 官宣死亡的「看片工具」Flash,又復活?如何看待 Adobe 宣布 2020 年停止 Flash 更新?
    如何看待flash宣布停止更新?
  • 12月結束支持之前,Chrome、新版Edge如何啟用Flash
    之前一位朋友留言說現在不知道如何開啟Flash支持了。沒錯,Google,蘋果等都在按計劃分步移除Flash,按鈕隱藏越來越深,直至停止支持。最後溫馨提示千萬不要去flash.cn下載Flash!千萬不要去flash.cn下載Flash!千萬不要去flash.cn下載Flash!
  • 什麼是Flash動畫,什麼是MG動畫,flash動畫與mg動畫有什麼不一樣
    什麼是Flash動畫,什麼是MG動畫,flash動畫與mg動畫有什麼不一樣:
  • 說Flash淘汰了,你真的知道Flash是做什麼的嗎?
    很多人都是Flash淘汰了,可是,你真的知道Flash是做什麼的嗎?你可能不服,你可能不屑,這還用問嗎?Flash就是做動畫的唄。
  • Flash大限將至,陪伴我們十餘年的flash網站未來在哪?
    雖說當時的flash小遊戲,畫面精細度、遊戲情節上比不上遊戲大作,但帶給人的滿足感是無可替代的。4399小遊戲為什麼能成功在那幾年,國內的PC價格昂貴、配置較低,很難運行國外的大型遊戲。加之網絡傳輸緩慢,下載遊戲困難,可以說是間接成就了flash遊戲以及動畫。
  • The Teachers' Flashdance
    Then suddenly he began to move, with fellow teachers joining in an impromptu flashdance as stunned pupils at a Scottish high school watched in disbelief.
  • flash廣告動畫人物設計流程
    上海動畫製作藝虎小編認為Flash廣告製作離不開角色的設計,其中的角色包括人物、動物、景物等各種物體,他們能夠增強flash動畫的趣味性和吸引力
  • 童年遊戲的支撐者,flash遺憾退場,成為時代的眼淚
    ,屬於flash player的時代完全結束了。 從3D渲染到解碼再到支持立體環繞聲等,基本的功能都加載了flash上,這也導致flash的使用感受直觀的下降。臃腫且低效率的flash可能在你只是想看個視頻的時候。
  • 麼麼直播的音視頻技術實踐和優化
    Android上的MediaCodec編碼器在不同手機和晶片平臺上的表現略有差異,各個硬體廠商對它的支持也不盡相同,導致兼容非常費時費力,而iOS就相對沒有這樣的問題。4) 網絡推流不穩定。針對直播端推流經常斷和觀眾端出現卡頓等問題,麼麼直播也做了一些優化。
  • Flash課件動畫的價格是多少?
    不同的flash課件動畫報價要根據劇本、風格、畫質和時長來定價的,創意也是其中的一個方面,有獨特的創意能力也是flash課件動畫的強勢競爭力之一,flash課件動畫定價的影響因素那麼多,那麼其報價呢?
  • Adobe Flash正式退役了,但這些小遊戲將在心中永存
    而玩家要做的便是操縱紫色的暴力兒子,把看到的小朋友都打得半死不活。  如果你正在或者曾經被熊孩子欺負過卻不知道如何還手,那就來這個遊戲裡發洩一下吧,爽翻天哦!  黃金礦工    別說它不火,可能只是因為你(年紀太大)沒有玩過,因為它可是被楊永信點名批評的遊戲哦!  賽爾號
  • 多媒體課件製作flash動畫的特點是什麼
    在相關的漢語教學中,多媒體課件製作flash動畫擁有自身獨特的方式,相比PPT課件,更容易吸引學生的注意力,提高學習效率。在學習成效上,視覺和聽覺結合結合的教學形式是未來發展的必然趨勢,那麼,多媒體課件製作flash動畫的特點是什麼呢?下面讓擁有多年flash課件動畫製作經驗的藝虎動畫來為大家解析。
  • 無 Flash 時代,讓直播擁抱 H5(完整篇)
    本人就職於騰訊 Now 直播前端開發,感覺直播能夠嘗試的領域真的太多太多,但是,Web 在這塊一直是一個痛點。由於沒有現成操作流的接口,只能簡簡單單的通過添加 video.src 尷尬的播放幾段回放. 這樣造成的後果就是,在 Web 上,我們根本體會不到實時流暢的觀看體驗。而且,根據 8 月份騰訊財報內容,直播貢獻的收入增長的飛快。
  • 如何自己做直播工作室
    現在手機的使用率是很高的,基本上在沒事的時候,都會去刷直播軟體,看看裡面的短視頻,很多人的空閒時間比較多,就想要去加入到這一行,但是又不知道該怎麼去做,新人剛開始都有點迷茫,想要去做自己又不是很了解,不做有感覺有點可惜,那我們就一起去了解一下看看如何自己做直播工作室吧。
  • 環旭電子宣布完成收購法國Asteelflash
    全球電子設計、製造服務和模塊化領域的領導廠商環旭電子股份有限公司(環旭電子,上海證券交易所證券代碼:601231)今天宣布,透過收購Asteelflash母公司Financière AFG S.A.S.,成功地完成對Asteelflash百分之百之股權收購(以下簡稱「本次收購」)。
  • 如何從零開始搭建高性能直播平臺
    它支持:把音頻(MP3)和視頻(FLV)轉換成播放流; 錄製客戶端播放流(只支持FLV);共享對象;現場直播流發布;遠程調用。Red5 使用 RTMP, RTMPT, RTMPS, 和 RTMPE 作為流媒體傳輸協議,在其自帶的一些示例中演示了在線錄製, flash 流媒體播放,在線聊天,視頻會議等一些基本功能。
  • 別了,Flash!
    @嶗山:當年各種flash做的mv看的不亦樂乎@PP和PP :再見火柴人~@糖醋鼻子 :大學做的一款flash播放器後來還升級為網絡版作為畢業設計得了優,滿滿的回憶@劉德傑RockyLau:小學時代的4399,挖金礦那個遊戲可以玩一天飽受爭議 這一天終究來臨自2017年Adobe宣布在2020年末放棄對Flash的更新與維護以來
  • 地理flash動畫:地球上的經線和緯線演示
    flash動畫是地理教學中很常用的一類型教學資源。flash動畫相對於一般性的課件、視頻、音頻等多媒體教學資源來說具有生動形象、過程性、交互性強等優點。一個好的flash動畫對講解知識點具有非常好的效果。
  • 殺死Flash
    2010 年,當 iPad 發布的時候,Flash 依然沒有出現。當年 4 月,蘋果公司 CEO 賈伯斯罕見地發表了一封名為 「Flash 之我見(Thoughts on Flash)」 的長篇公開信,對 Adobe Flash 進行了尖銳的批評,並藉機大力推薦 HTML5。
  • 徹底清除「FF新推薦」「Flash助手」的彈出廣告
    近期電腦老是彈出一些不堪入目的廣告,一檢查發現居然是Flash中國官方幹的,安裝了flash播放器後就彈出廣告。就像下面這樣的:flash的彈出廣告flash雖然沒落了,但如果刪除其播放器對正常瀏覽網頁上的一些flash動畫還是會有影響。