流媒体的文档,还是属于学习记录类型。
关于这篇文档,现在看来,属于简单的demo类型,还不能作为工程进行。后面对于如何作为工程将会继续完成文档。
一:准备工作
1.阿里云上下载git
yum -y install git

2.srs官网
https://github.com/ossrs/srs/wiki/v4_CN_Home#getting-started
简单的单节点架构:

典型的源站和边缘集群的架构,适用于需要高并发的场景:

二:启动SRS
2.进入官网,按照官网进行操作
1.下载源码,推荐用CentOS7系统:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
2.编译,注意需要切换到srs/trunk目录:
cd srs/trunk
./configure
make
3.启动服务器:
./objs/srs -c conf/srs.conf
4.检查SRS是否成功启动,可以打开 http://localhost:8080/ ,或者执行命令:
# 查看SRS的状态
./etc/init.d/srs status
# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
5.例如,下面的命令显示SRS正在运行:
MB0:trunk $ ./etc/init.d/srs status
SRS(pid 90408) is running. [ OK ]
MB0:trunk $ tail -n 30 -f ./objs/srs.log
3.页面效果
需要访问1985端口,需要阿里云启动端口

页面效果:

SRS控制台:

三:ffmpeg推流
1.下载FFmpeg
参考:https://blog.csdn.net/luoyayun361/article/details/120961899
2.官网下载

然后,下载full:

下载后效果:

3.配置环境变量
接下来设置一下将bin目录设置到环境变量path中去
检查配置是否成功:

4.推流
1.开放端口1935

2.通过视频转换器转换了一个flv格式的视频
参考:http://www.leawo.cn/space-544683-do-thread-id-30735-pages-1.html

3.推送效果
ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream

四:ffplay与clv拉流
1.使用ffplay进行播放
ffplay rtmp://ip/live/livestream

2.使用VLC拉流播放
下载:https://www.videolan.org/

操作步骤:

录入url:

效果:

四:OBS推流(本地文件)
1.下载
https://obsproject.com/download
2.步骤
打开,选择媒体源:

设置源:

确定后添加数据:

效果:

开始推流:

设置:

使用ffplay进行播放:
使用上文的命令。
五:OBS推流(摄像头捕获)
1.
六:H5展示
1.说明
上面的ffmpeg已经将文件转为flv了,可以直接在H5中展示
2.程序
<html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>flv视频流播放</title> <style> html, body { width: 100%; height: 100%; overflow: hidden; text-align: center; } </style> </head> <body> <video id="video" autoplay controls></video> <script src="http://bilibili.github.io/flv.js/dist/flv.js"></script> <script> var video = document.getElementById('video'); var videoSrc = 'http://ip:8080/live/livestream.flv'; if (flvjs.isSupported()) { var flvPlayer = flvjs.createPlayer({ type: 'flv', url: videoSrc }); flvPlayer.attachMediaElement(video); flvPlayer.load(); flvPlayer.play(); } </script> </body> </html>
3.效果

posted on
浙公网安备 33010602011771号