国产露脸精品国产沙发|极品妇被弄得99久九精品亚洲|亚洲va成精品在线播放人|日韩精品久久久免费观看

    
    

        <delect id="w59je"></delect>

            當(dāng)前位置:首頁 > 世界杯資訊 > 正文內(nèi)容

            給大家科普一下傲世皇朝代理(2022已更新(今日/知乎)

            杏彩體育2年前 (2022-12-31)世界杯資訊79

            一、直播現(xiàn)狀簡介

            1.技術(shù)實現(xiàn)層面:

            技術(shù)相對都比較成熟,設(shè)備也都支持硬編碼。IOS還提供現(xiàn)成的 Video ToolBox框架,可以對攝像頭和流媒體數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的庫軟編了。

            github上有現(xiàn)成的開源實現(xiàn),推流、美顏、水印、彈幕、點贊動畫、濾鏡、播放都有。技術(shù)其實不是很難,而且現(xiàn)在很多云廠商都提供SDK,七牛云、金山云、樂視云、騰訊云、百度云、斗魚直播伴侶推流端,功能幾乎都是一樣的,沒啥亮點,不同的是整個直播平臺服務(wù)差異和接入的簡易性。后端現(xiàn)在 RTMP/HTTP-FLV 清一色,App掛個源站直接接入云廠商或CDN就OK。

            2.直播優(yōu)化層面

            其實最難的難點是提高首播時間、服務(wù)質(zhì)量即Qos(Quality of Service,服務(wù)質(zhì)量),如何在丟包率20%的情況下還能保障穩(wěn)定、流暢的直播體驗,需要考慮以下方案:

            1.為加快首播時間,收流服務(wù)器主動推送 GOP :(Group of Pictures:策略影響編碼質(zhì)量)所謂GOP,意思是畫面組,一個GOP就是一組連續(xù)的畫面至邊緣節(jié)點,邊緣節(jié)點緩存 GOP,播放端則可以快速加載,減少回源延遲

            2.GOP丟幀,為解決延時,為什么會有延時,網(wǎng)絡(luò)抖動、網(wǎng)絡(luò)擁塞導(dǎo)致的數(shù)據(jù)發(fā)送不出去,丟完之后所有的時間戳都要修改,切記,要不客戶端就會卡一個 GOP的時間,是由于 PTS(Presentation Time Stamp,PTS主要用于度量解碼后的視頻幀什么時候被顯示出來) 和 DTS 的原因,或者播放器修正 DTS 和 PTS 也行(推流端丟GOD更復(fù)雜,丟 p 幀之前的 i 幀會花屏)

            3.純音頻丟幀,要解決音視頻不同步的問題,要讓視頻的 delta增量到你丟掉音頻的delta之后,再發(fā)音頻,要不就會音視頻不同步

            4.源站主備切換和斷線重連

            5.根據(jù)TCP擁塞窗口做智能調(diào)度,當(dāng)擁塞窗口過大說明節(jié)點服務(wù)質(zhì)量不佳,需要切換節(jié)點和故障排查

            6.增加上行、下行帶寬探測接口,當(dāng)帶寬不滿足時降低視頻質(zhì)量,即降低碼率

            7.定時獲取最優(yōu)的推流、拉流鏈路IP,盡可能保證提供最好的服務(wù)

            8.監(jiān)控必須要,監(jiān)控各個節(jié)點的Qos狀態(tài),來做整個平臺的資源配置優(yōu)化和調(diào)度

            9.如果產(chǎn)品從推流端、CDN、播放器都是自家的,保障 Qos 優(yōu)勢非常大

            10.當(dāng)直播量非常大時,要加入集群管理和調(diào)度,保障 Qos

            11.播放端通過增加延時來減少網(wǎng)絡(luò)抖動,通過快播來減少延時

            3.運營成本和客戶體驗

            根據(jù)網(wǎng)上的數(shù)據(jù),斗魚 TV 為 3 億人民幣,戰(zhàn)旗 TV 為 1.5 億人民幣,龍珠為 1.2 億人民幣,虎牙為 3000 萬 + 人民幣。

            運營和推廣:這個就比較燒錢了,一些做移動直播、游戲直播、秀場直播的A輪至少得上千萬。

            用戶體驗:流暢、不卡頓、不花屏、斷線重連、丟包策略、首畫加載速度、豐富的禮物系統(tǒng),為了提高用戶體驗,可以在后臺加載其他頁面數(shù)據(jù),但要在用戶體驗和內(nèi)存優(yōu)化方面找到平衡點。

            二、流媒體傳輸

            1.TCP:TCP為點對點的協(xié)議,雖然能保證了數(shù)據(jù)傳輸?shù)目煽啃裕菍Ψ?wù)器資源耗費較大,在數(shù)據(jù)流大的場合難以保證數(shù)據(jù)流傳輸?shù)膶崟r性。

            2.UDP:UDP為不可靠傳輸協(xié)議,不需要維護(hù)連接狀態(tài),也不認(rèn)為每個數(shù)據(jù)包都必須到達(dá)接受端,因此網(wǎng)絡(luò)負(fù)荷比TCP小,傳輸速度也要比TCP快;但在網(wǎng)絡(luò)越擁擠時,越有更多的數(shù)據(jù)包丟失。

            3.RTMP:RTMP一個專門為高效傳輸視頻,音頻和數(shù)據(jù)而設(shè)計的協(xié)議。它通過建立一個二進(jìn)制TCP連接或者連接HTTP隧道實現(xiàn)實時的視頻和聲音傳輸。

            4.FFmpeg:FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案

            三、項目搭建:采集端

            1.目前比較知名的有VideoCore

            目前國內(nèi)很多知名的推流框架都是對VideoCore的二次開發(fā)。這個框架主要使用C++寫的,支持RTMP推流,但對于iOS開發(fā)者來說有點晦澀難懂(精通C++的除外)。想開源和免費的可以選擇現(xiàn)在的幾個知名項目VideoCore + GPUImage+基于GPU的美顏濾鏡 ,播放用IJKPlayer自己修改。

            2.國內(nèi)比較火的LiveVideoCoreSDK

            框架提供IOS蘋果手機的RTMP推流填寫RTMP服務(wù)地址,直接就可以進(jìn)行推流,SDK下載后簡單的工程配置后能直接運行,實現(xiàn)了美顏直播和濾鏡功能,基于OpenGL,前后攝像頭隨時切換,提供RTMP連接狀態(tài)的回調(diào)。

            這個框架是國內(nèi)比較早的一款推流框架有不少在使用這個SDK,功能非常齊全,作者也比較牛,用來學(xué)習(xí)推流采集相關(guān)內(nèi)容非常好,但是集成到工程中有些困難(對于我來說)??偟膩碚f這是一款非常厲害的推流SDK,幾乎全部使用C++寫的,編譯效率非常好,如果有實力的話推薦使用這個框架來做自己項目的推流端。

            3.可讀性比較好的推流LFLiveKit

            框架支持RTMP(Real Time Messaging Protocol ):實時消息傳輸協(xié)議,Adobe公司的。

            HlS (HTTP Live Streaming) :蘋果自家的動態(tài)碼率自適應(yīng)技術(shù)。主要用于PC和Apple終端的音視頻服務(wù)。包括一個m3u(8)的索引文件,TS媒體分片文件和key加密串文件。

            推薦這個框架第一是因為它主要使用OC寫的,剩下的用C語言寫的,框架文件十分清晰,這對不精通C++的初學(xué)者提供了很大的便利,并且拓展性非常強,支持動態(tài)切換碼率功能,支持美顏功能。

            4.美顏功能

            美顏的話一般都是使用的GPUImage基于OpenGl開發(fā),純OC語言,這個框架十分強大,可以做出各種不同濾鏡,可拓展性高。如果對美顏沒有具體思路可以直接用BeautifyFace,可以加入到項目中,很方便的實現(xiàn)美顏效果。

            四、項目具體搭建

            1.如何實現(xiàn)美顏?

            美顏功能使用的是BeautifyFace,它可以很快速的實現(xiàn)美顏功能,效果不錯,它的底層還是基于的GPUImage,對GPUImage十分喜愛的Developer,可以參照BeautifyFace,寫出一個屬于自己的美顏功能,并且添加各種濾鏡。

            2.懸浮TabBar的實現(xiàn)

            這個TabBar看著像是用自定義TabBar做的,但事實上它還是用的系統(tǒng)的TabBar,給系統(tǒng)的tabBar.backgroundImage設(shè)置一張設(shè)計好的背景圖片。

            添加后會發(fā)現(xiàn)頂部有一條陰影線,并且TabBar的高度也不夠。陰影線與上圖綠色線條之間變成了透明顏色,實現(xiàn)下面方法隱藏陰影線,并且調(diào)高TabBar的高度。

            //隱藏陰影線

            [[UITabBarappearance] setShadowImage:[UIImagenew]];

            - (void)setupTabBarBackgroundImage{

            UIImage*image = [UIImage imageNamed:@"tab_bg"];

            CGFloattop = 40;// 頂端蓋高度

            CGFloatbottom = 40;// 底端蓋高度

            CGFloatleft = 100;// 左端蓋寬度

            CGFloatright = 100;// 右端蓋寬度

            UIEdgeInsetsinsets = UIEdgeInsetsMake(top,left,bottom,right);

            // 指定為拉伸模式,伸縮后重新賦值

            UIImage*TabBgImage = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];

            self.tabBar.backgroundImage = TabBgImage;

            [[UITabBarappearance] setShadowImage:[UIImagenew]];

            [[UITabBarappearance] setBackgroundImage:[[UIImagealloc]init]];

            }

            //自定義TabBar高度

            - (void)viewWillLayoutSubviews{

            CGRecttabFrame = self.tabBar.frame;

            tabFrame.size.height = 60;

            tabFrame.origin.y = self.view.frame.size.height - 60;

            self.tabBar.frame = tabFrame;

            }

            3.播放端的實現(xiàn)

            播放端用的針對RTMP優(yōu)化過的ijkplayer(),ijkplayer是基于FFmpeg的跨平臺播放器,這個開源項目已經(jīng)被多個 App 使用,其中映客、美拍和斗魚使用了 ijkplayer(5700+??) 。在本文的末未提供了,已經(jīng)打包好的ijkplayer,直接拖入項目就可以使用。省去了編譯的過程(編譯十分麻煩,并且容易出錯)。播放端調(diào)用ijkplayer參考VoideSun的簡仿映客所寫,如有關(guān)于ijkplayer的問題,可以請教這位大牛。

            VoiderSun

            - (void)goPlaying{

            //獲取url

            self.url = [NSURL URLWithString:_liveUrl];

            _player = [[IJKFFMoviePlayerControlleralloc] initWithContentURL:self.url withOptions:nil];

            UIView*playerview = [self.player view];

            UIView*displayView = [[UIViewalloc] initWithFrame:self.view.bounds];

            self.PlayerView = displayView;

            [self.view addSubview:self.PlayerView];

            // 自動調(diào)整自己的寬度和高度

            playerview.frame = self.PlayerView.bounds;

            playerview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

            [self.PlayerView insertSubview:playerview atIndex:1];

            [_player setScalingMode:IJKMPMovieScalingModeAspectFill];

            }

            4.推送端的實現(xiàn)

            使用的是LFLiveKit,推流端可以選擇很多GitHub上的開源項目替代LFLiveKit,比如上面所提到的VideoCore,和LiveVideoCoreSDK。商用的話可以選擇各大廠商的SDK,網(wǎng)易直播云、七牛、騰訊、百度、新浪、其中金山直播云本人用過。使用直播云的好處就是能快速上線App,功能十分齊全,可以播放器和推流端,服務(wù)器一套下來,有專業(yè)客服人員幫助集成到工程中,缺點就是流量費太貴了,具體可以了解下各大廠商的收費標(biāo)準(zhǔn)。

            - (UIButton*)startLiveButton{

            if(!_startLiveButton){

            _startLiveButton = [UIButtonnew];

            //位置

            _startLiveButton.frame = CGRectMake((XJScreenW - 200) * 0.5,XJScreenH - 100,200,40);

            _startLiveButton.layer.cornerRadius = _startLiveButton.frame.size.height * 0.5;

            [_startLiveButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

            [_startLiveButton.titleLabel setFont:[UIFont systemFontOfSize:16]];

            [_startLiveButton setTitle:@"開始直播" forState:UIControlStateNormal];

            [_startLiveButton setBackgroundColor:[UIColorgrayColor]];

            _startLiveButton.exclusiveTouch = YES;

            __weaktypeof(self)_self = self;

            [_startLiveButton addBlockForControlEvents:UIControlEventTouchUpInside block:^(idsender){

            _self.startLiveButton.selected = !_self.startLiveButton.selected;

            if(_self.startLiveButton.selected){

            [_self.startLiveButton setTitle:@"結(jié)束直播" forState:UIControlStateNormal];

            LFLiveStreamInfo*stream = [LFLiveStreamInfonew];

            stream.url = @"rtmp://daniulive.com:1935/live/stream238";

            [_self.session startLive:stream];

            }else{

            [_self.startLiveButton setTitle:@"開始直播" forState:UIControlStateNormal];

            [_self.session stopLive];

            }

            }];

            }

            return_startLiveButton;

            }

            stream.url是服務(wù)器的地址,推流完成后使用VLC播放。別人家的服務(wù)器,不建議推流時間過長(

            項目地址520Linkee:https://github.com/GrayJIAXU/520Linkee

            給沒架設(shè)服務(wù)器的朋友來一套福利:備用服務(wù)器地址(親測可用):

            rtmp://live.hkstv.hk.lxdns.com:1935/live/stream123

            rtmp://live.hkstv.hk.lxdns.com:1935/live/hks

            (將hks名稱改成其他的,比如aaa)

            rtmp://202.69.69.180:443/live/aaa

            (rtmp://202.69.69.180:443/webcast/bshdlive-pc)

            rtmp://v1.one-tv.com:1935/live/aaa(rtmp://v1.one-tv.com:1935/live/mpegts.stream)

            rtmp://203.207.99.19:1935/live/aaa(rtmp://203.207.99.19:1935/live/CCTV1)

            rtmp://202.117.80.19:1935/live/aaa

            (rtmp://202.117.80.19:1935/live/live4)

            rtmp://ams.studytv.cn/live/aaa

            (rtmp://ams.studytv.cn/livepkgr/264)

            rtmp://60.174.36.89:1935/live/aaa

            (rtmp://60.174.36.89:1935/live/vod3)

            長按掃一掃關(guān)注:

            掃描二維碼推送至手機訪問。

            版權(quán)聲明:本文由財神資訊-領(lǐng)先的體育資訊互動媒體轉(zhuǎn)載發(fā)布,如需刪除請聯(lián)系。

            本文鏈接:http://thecityplacetownhomes.com/?id=22126

            “給大家科普一下傲世皇朝代理(2022已更新(今日/知乎)” 的相關(guān)文章

            給大家科普一下2022世界杯門票怎么買(2022已更新(今日/知乎)

            給大家科普一下2022世界杯門票怎么買(2022已更新(今日/知乎)

            作為一個80后的老阿姨,我最喜歡看的日本動漫就是《網(wǎng)球王子》,到目前為止至少看了不少于三遍,每次看都覺得自己也年輕了不少。 《網(wǎng)球王子》里面的人物每一個都是那么帥氣可愛,真的是百看不厭啊。 越前龍馬 之前一直在美國生活,并且在美國奪得青少年網(wǎng)球四連霸,被稱...

            給大家科普一下世界杯買誰贏(2022已更新(今日/知乎)

            給大家科普一下世界杯買誰贏(2022已更新(今日/知乎)

            新網(wǎng)球王子目前的漫畫連載內(nèi)容中,針對這幾話中活躍的核心角色平等院鳳凰,其經(jīng)歷只能用玄幻來形容了,真的是離天下之大譜,一直被調(diào)侃是殺人網(wǎng)球的網(wǎng)球王子,終于真正的來了一波鬧出人命的硬核操作。 具體的前后劇...

            給大家科普一下世界杯買誰贏多少錢(2022已更新(今日/知乎)

            給大家科普一下世界杯買誰贏多少錢(2022已更新(今日/知乎)

            近日,中國網(wǎng)球賽事呈現(xiàn)了回暖的跡象,本周舉行的CTA1000安寧站上,前中國男網(wǎng)一哥、一代網(wǎng)球巨星李喆披露了自己的想法,即是他準(zhǔn)備在今年年底或明年退役,這則消息的公布多少會讓國內(nèi)網(wǎng)球迷感到失落。 現(xiàn)年36歲的李喆與納達(dá)爾同歲,身高為1米85,與費德勒一樣高,他曾獲得全運會...

            給大家科普一下世界杯哪里買輸贏合法(2022已更新(今日/知乎)

            給大家科普一下世界杯哪里買輸贏合法(2022已更新(今日/知乎)

            ★昨日回顧★ 昨日贊賞的2場比賽順利打出是小虎擅長的英系,西甲 小虎每日會選出1~2場 助老鐵們?nèi)珓僦胤祫佘墸?歡迎支持一波走起! 這一周必須加油,搞起! 希望大家接下來能多多支持! 足壇虎虎...

            給大家科普一下世界杯在哪兒買輸贏支付寶(2022已更新(今日/知乎)

            LOTA體育足球比分一款專業(yè)體育數(shù)據(jù)提供軟件,覆蓋全球超過200個國家和地區(qū)多達(dá)100000場足球體育賽事。為你提供實時比分推送、進(jìn)球、紅黃牌、角球、球隊技術(shù)統(tǒng)計,歷史與未來賽程。LOTA體育app擁有比賽現(xiàn)場進(jìn)球模型、球隊進(jìn)攻實況,賽前LOTA指數(shù)模型數(shù)據(jù)可視化——365指數(shù)K線分析,必...

            給大家科普一下世界杯在哪買輸贏網(wǎng)上的票(2022已更新(今日/知乎)

            給大家科普一下世界杯在哪買輸贏網(wǎng)上的票(2022已更新(今日/知乎)

            CBA第二次京城德比如約而至,之前兩輪的東北客場之行,兩支球隊均遭遇兩連敗,東北的冬天果真不好過。林書豪下午訓(xùn)練遭受肌肉痙攣,治療康復(fù)后沒有明顯效果,賽前決定缺席本場比賽。...

            ?