流媒体的文档,还是属于学习记录类型。

  关于这篇文档,现在看来,属于简单的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 2022-06-06 10:38  曹军  阅读(331)  评论(0编辑  收藏  举报