国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
支持轉(zhuǎn)碼[流媒體]通讀SRS后的總結(jié)文檔以及搭建直播平臺的初次嘗試

“SRS定位是運營級的互聯(lián)網(wǎng)直播服務(wù)器集群,追求更好的概念完整性和最簡單實現(xiàn)的代碼?!薄獁inlin
           
            通讀了simple rtmp server的2.0release 版本的wiki。從整體上,對simple rtmp server有了比較全面的認(rèn)識,也根據(jù)wiki中的介紹,將simple rtmp server的一些demo跑通,體驗了一下SRS部署的簡單快速,但是由于手頭機器有限,并不能體會SRS的集群部署性能,比較遺憾。
          Simple rtmp server,根據(jù)名稱就能夠知道,整個流媒體服務(wù)器的基礎(chǔ)就是Real Time Messageing Protocol(RTMP),這是一種設(shè)計用來進(jìn)行實時數(shù)據(jù)通訊的網(wǎng)絡(luò)協(xié)議,主要用來在Flash/AIR平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間,進(jìn)行音視頻數(shù)據(jù)通信。為了能夠支持IOS跟一些沒有Flash播放器的機器,SRS有增加了HLS跟HTTP-FLV支持。其中HLS,指的是http live streaming ,是Apple公司的動態(tài)碼率自適應(yīng)技術(shù),主要用于IOS,Mac OS X系統(tǒng)中。特色是擁有m3u8索引文件,然后將視頻源切成特定大小的ts切片?;旧?,SRS支持的流媒體協(xié)議就包括RTMP,HLS,HTTP-FLV。包括RTSP,RTMP變種協(xié)議等這些協(xié)議,在開源的SRS2.0Release版本中,還沒有支持。
          SRS在支持三種協(xié)議的同時,也有著豐富的流媒體服務(wù)器所具備的功能,比如轉(zhuǎn)碼/轉(zhuǎn)封裝/采集,內(nèi)部提供實驗版本的http服務(wù)器,設(shè)置有內(nèi)存、CPU等分析日志功能,低延遲屬性設(shè)置功能,還能夠?qū)崿F(xiàn)與CDN對接,具備部署成RTMP分發(fā)集群或者HTTP-FLV分發(fā)集群的能力,還設(shè)立有vhost,可以在一個集群中支持多用戶操作,并且,SRS還支持在不中斷服務(wù)的情況下應(yīng)用新的配置。
         
          說了那么多,都是紙上談兵,沒有什么卵用,所以,我利用元旦這兩天假期,搭建了一個直播平臺。平臺具有以下功能:
1、 支持RTMP/HLS/HTTP-FLV
2、 支持轉(zhuǎn)碼,提供1080P,720P,D1和原始視頻源這四種模式流
3、 支持RTMP分發(fā)集群
4、 支持將不同種類的流拉到srs中作為rtmp流分發(fā)
 
          主流詳細(xì)的配置文件
1、 布置最基本的RTMP服務(wù)器

    listen                          1935; #設(shè)置主流監(jiān)聽端口    max_connections       1000; #設(shè)置最大鏈接數(shù) 

2、 布置主流

    pid                   ./objs/build.home.work.master.pid; # 設(shè)置主流PID文件    srs_log_file        ./objs/build.home.work.master.log; # 設(shè)置主流log文件

3、 布置http server

    http_server {                        enabled       on; # 啟用http server,這里我并沒有使用srs中內(nèi)置的http server,而是采用nginx         listen           8080; # 設(shè)定http監(jiān)聽端口         dir               ./objs/nginx/html; # 設(shè)置nginx啟動的app目錄    }

4、 布置vhost

    vhost __defaultVhost__

5、 布置hls服務(wù)器

    hls{    enabled                 on; # 啟動hls服務(wù)器    hls_fragment         10; # 設(shè)置hls切片的最大數(shù)量    hls_window           60; # 設(shè)置hls切片的播放窗口時間限制    hls_path                ./objs/nginx/html; # 設(shè)置使用hls的App的path,這里我使用了srs提供的app    }

6、 布置HTTP-FLV服務(wù)器

    http_remux {            enabled     on; # 啟動HTTP-FLV服務(wù)器            mount       [vhost]/[app]/[stream].flv; # 設(shè)定掛靠的flv文件            hstrs         on; #啟動hstrs        }

7、 布置拉流

    ingest ingest_livestream { #啟動拉流,這里只是一個嘗試                   enabled                 on; #啟動額外的拉流                  input{#設(shè)定拉流                            type            file;#設(shè)定拉流的類型                            url               ./doc/source.200kbps.768x320.flv; # 設(shè)定拉流的url                  }                  ffmpeg                  ./objs/ffmpeg/bin/ffmpeg; #啟動ffmpeg作為拉流的工具                  engine { #將拉流綁定到主流監(jiān)聽                            enabled                 on;                            output                  rtmp://127.0.0.01:[port]/live?vhost=[vhost]/ingest_livestream;#設(shè)置拉流的訪問地址                  }         }

8、 布置轉(zhuǎn)碼引擎

    transcode {    enabled       on; # 開啟轉(zhuǎn)碼引擎    ffmpeg        ./objs/ffmpeg/bin/ffmpeg; #設(shè)定轉(zhuǎn)碼工具為ffmpega. 1080P    engine super_profile{         enabled                 on; # 開啟轉(zhuǎn)碼引擎         vfilter {         }         vcodec                  libx264; #設(shè)定video 的編碼工具         vbitrate                 1024; # 設(shè)定碼率         vfps                       20;# 設(shè)定幀率         vwidth                   1920; # 設(shè)定圖像寬         vheight                 1080; # 設(shè)定圖像高         vthreads                4; # 設(shè)定轉(zhuǎn)碼threads         vprofile                 main; # 設(shè)置轉(zhuǎn)碼profile         vpreset                  medium;# 設(shè)置轉(zhuǎn)碼質(zhì)量         vparams{         }         acodec                  libfdk_aac; # 設(shè)定audio的編碼工具         abitrate                 70; # 設(shè)定碼率         asample_rate         44100; # 設(shè)定采樣率         achannels              2; # 設(shè)定聲道         aparams {         }         output                  rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];#綁定輸出    }b. 720P    engine high_profile{         enabled                 on; # 開啟轉(zhuǎn)碼引擎         vfilter {         }         vcodec                  libx264; #設(shè)定video 的編碼工具         vbitrate                 700; # 設(shè)定碼率         vfps                       20;# 設(shè)定幀率         vwidth                   1280; # 設(shè)定圖像寬         vheight                 720; # 設(shè)定圖像高         vthreads                4; # 設(shè)定轉(zhuǎn)碼threads         vprofile                 main; # 設(shè)置轉(zhuǎn)碼profile         vpreset                  medium;# 設(shè)置轉(zhuǎn)碼質(zhì)量         vparams{         }         acodec                  libfdk_aac; # 設(shè)定audio的編碼工具         abitrate                 70; # 設(shè)定碼率         asample_rate         44100; # 設(shè)定采樣率         achannels              2; # 設(shè)定聲道         aparams {         }         output                  rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];#綁定輸出    }c. D1    engine normal_profile{         enabled                 on; # 開啟轉(zhuǎn)碼引擎         vfilter {         }         vcodec                  libx264; #設(shè)定video 的編碼工具         vbitrate                 500; # 設(shè)定碼率         vfps                       20;# 設(shè)定幀率         vwidth                   704; # 設(shè)定圖像寬         vheight                 576; # 設(shè)定圖像高         vthreads                4; # 設(shè)定轉(zhuǎn)碼threads         vprofile                 main; # 設(shè)置轉(zhuǎn)碼profile         vpreset                  medium;# 設(shè)置轉(zhuǎn)碼質(zhì)量         vparams{         }         acodec                  libfdk_aac; # 設(shè)定audio的編碼工具         abitrate                 70; # 設(shè)定碼率         asample_rate         44100; # 設(shè)定采樣率         achannels              2; # 設(shè)定聲道         aparams {         }         output                  rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];#綁定輸出    }         邊緣流配置,這里使用一個edge流作為例子

1、 基本RTMP服務(wù)器

    listen                          19350;#設(shè)定監(jiān)聽端口    max_connections       1000;# 設(shè)定最大鏈接數(shù)

2、 Edge配置

    pid                             ./objs/build.home.work.slave.pid;# 設(shè)定PID文件    srs_log_file                 ./objs/build.home.work.slave.log;# 設(shè)定log文件

3、 Vhost

    vhost __defaultVhost__ 

4、 設(shè)定主流

    mode                         remote;# 設(shè)定為remote    origin                         127.0.0.1:1935; # 綁定主流的IP端口

5、 布置轉(zhuǎn)碼引擎,與主流的轉(zhuǎn)碼引擎一直,不再贅述,唯一不同的就是在訪問時,我們要訪問19350這個端口。
 
推流命令:ffmpeg -re -i 1.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.1.100/live/livestream
搭建完成后,對應(yīng)不同流的訪問地址(服務(wù)器地址為192.168.1.100):
主流:
1、 原始RTMP流:rtmp://192.168.1.100:1935/live/livestream
2、 1080P RTMP 流:rtmp://192.168.1.100:1935/live/livestream_super_profile
3、 720P RTMP流:rtmp://192.168.1.100:1935/live/livestream_high_profile
4、 D1 RTMP流:rtmp://192.168.1.100:1935/live/livestream_normal_profile
試驗用CDN的edge流:
1、 原始RTMP流:rtmp://192.168.1.100:19350/live/livestream
2、 1080P RTMP 流:rtmp://192.168.1.100:19350/live/livestream_super_profile
3、 720P RTMP流:rtmp://192.168.1.100:19350/live/livestream_high_profile
4、 D1 RTMP流:rtmp://192.168.1.100:19350/live/livestream_normal_profile
HLS流:
http://192.168.1.100:8080/live/livestream.m3u8
HTTP-FLV 流:
http://192.168.1.100:8080/live/livestream.flv
試驗用拉流到srs的訪問流:
rtmp://192.168.1.100:1935/live/ingest_livestream

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
運營級的互聯(lián)網(wǎng)直播服務(wù)器集群架設(shè),搞定這一個開源項目就夠了!
CentOS6下基于Nginx搭建mp4/flv流媒體服務(wù)器(可隨意拖動)并支持RTMP/HLS協(xié)議(含轉(zhuǎn)碼工具)
??禂z像頭開發(fā)SRS+ffmpeg+http
H5直播起航
音視頻開發(fā)——通信直播協(xié)議和視頻推流丨RTMP-RTSP
視頻直播點播nginx
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服