RTMP流媒体服务器搭建

服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS)

推流端:ffmpeg + OBS

拉流端:ffplay +VLC + srs播放器

安装和测试srs流媒体服务器

srs官⽹:https://github.com/ossrs/srs

码云的源速度快:https://gitee.com/winlinvip/srs.oschina.git

github的源速度慢:https://github.com/ossrs/srs.git

第⼀步,获取SRS。详细参考GIT获取代码

git clone https://gitee.com/winlinvip/srs.oschina.git

Cloning into 'srs.oschina'...
remote: Enumerating objects: 14042, done.
remote: Counting objects: 100% (14042/14042), done.
remote: Compressing objects: 100% (5642/5642), done.
remote: Total 60993 (delta 9696), reused 12445 (delta 8313), pack-reused 46951
Receiving objects: 100% (60993/60993), 225.07 MiB | 5.27 MiB/s, done.
Resolving deltas: 100% (46970/46970), done.
Checking out files: 100% (3992/3992), done.

#使⽤当前最新的3.0版本
cd srs.oschina
git checkout -b 3.0 remotes/origin/3.0release
checkout -b 3.0

第⼆步,编译SRS。详细参考Build

cd trunk
./configure

ser config: --x86-x64
Detail config: --prefix=/usr/local/srs --with-hls --with-hds --with-dvr --with-ssl --with-transcode --with-ingest --with-stat --with-http-callback --with-http-server --with-stream-caster --with-http-api --with-librtmp --without-research --without-utest --without-gperf --without-gmc --without-gmd --without-gmp --without-gcp --without-gprof --log-trace --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
SRS_WORKDIR: ., SRS_OBJS_DIR: objs, SRS_OBJS: ./objs, SRS_PLATFORM: Platform-Linux-3.10.0-SRS3
Fast cleanup, if need to do full cleanup, please use: make clean

make -j 4

The build summary:
     +------------------------------------------------------------------------------------
     For SRS benchmark, gperf, gprof and valgrind, please read:
          http://blog.csdn.net/win_lin/article/details/53503869
     +------------------------------------------------------------------------------------
     |The main server usage: ./objs/srs -c conf/srs.conf, start the srs server
     |     About HLS, please read https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS
     |     About DVR, please read https://github.com/ossrs/srs/wiki/v3_CN_DVR
     |     About SSL, please read https://github.com/ossrs/srs/wiki/v1_CN_RTMPHandshake
     |     About transcoding, please read https://github.com/ossrs/srs/wiki/v3_CN_FFMPEG
     |     About ingester, please read https://github.com/ossrs/srs/wiki/v1_CN_Ingest
     |     About http-callback, please read https://github.com/ossrs/srs/wiki/v3_CN_HTTPCallback
     |     Aoubt http-server, please read https://github.com/ossrs/srs/wiki/v2_CN_HTTPServer
     |     About http-api, please read https://github.com/ossrs/srs/wiki/v3_CN_HTTPApi
     |     About stream-caster, please read https://github.com/ossrs/srs/wiki/v2_CN_Streamer
     |     (Disabled) About VALGRIND, please read https://github.com/ossrs/state-threads/issues/2
     +------------------------------------------------------------------------------------
binaries, please read https://github.com/ossrs/srs/wiki/v2_CN_Build
You can:
      ./objs/srs -c conf/srs.conf
                  to start the srs server, with config conf/srs.conf.
make[1]: Leaving directory `/vagrant/srs.oschina/trunk'

第三步,编写SRS配置⽂件。详细参考RTMP分发

将以下内容保存为⽂件,譬如 conf/rtmp.conf ,服务器启动时指定该配置⽂件(srs的conf⽂件夹有该⽂件)。

# the config for srs to delivery RTMP
# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
vhost __defaultVhost__ {
}

第四步,启动SRS。详细参考RTMP分发

./objs/srs -c conf/rtmp.conf

lsof -i :1935

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
srs 14770 root 8u IPv4 23216 0t0 TCP *:macromedia-fcs (LISTEN)

测试srs流媒体服务器

启动推流编码器。详细参考RTMP分发

ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -f flv -y rtmp://192.168.10.224/live/livestream

Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 180 fps= 25 q=-1.0 size= 448kB time=00:00:07.10 bitrate= 516.6kbits/s speed= 1x

观看RTMP流。详细参考RTMP分发

ffplay rtmp://192.168.10.224/live/livestream

Duration: N/A, start: 0.010000, bitrate: 777 kb/s
Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp, 95 kb/s
Stream #0:1: Video: h264 (Main), yuv420p(tv, bt709, progressive), 1920x1080, 681 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
: SRS/3.0.156(OuXuli) 0 aq= 16KB vq= 15KB sq= 0B f=0/2
server_version : 3.0.156
Duration: N/A, start: 0.010000, bitrate: 777 kb/s
Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp, 95 kb/s
Stream #0:1: Video: h264 (Main), yuv420p(tv, bt709, progressive), 1920x1080, 681 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
17.94 A-V: -0.022 fd= 0 aq= 17KB vq= 16KB sq= 0B f=0/2 3.31 A-V: -0.022 fd= 0 aq= 16KB vq= 15KB sq= 0B f=0/2

备注:请将所有实例的IP地址192.168.10.224都换成部署的服务器IP地址。

使⽤srs播放器拉流

http://ossrs.net/srs.release/trunk/research/players/srs_player.html

image-20210323155505938
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容