Red5+FFmpeg搭建流媒体解析环境

  1. 技术背景: 前段时间项目经理给我一个任务网页接入直播.rtsp://用户名:密码@ip:554/cam/realmonitor?channel=1&subtype=0 rtsp格式的直播流

  2. 技术架构 :

    1. 搭建red5流媒体
    2. FFmpeg 实现监控摄像头的RTSP协议转RTMP协议直播
    3. 搭建web服务器利用ckplay 播放RTMP协议视频流
  3. 相关文件  百度网盘链接 提取码:ww9m

  4. windows实现

    1. 基础条件:java版本在1.8以后

    2. 下载对应的安装文件

    3. 安装red5-server  傻瓜式安装.安装成功后点击red5.bat  验证是否成功,在浏览器中输入http://127.0.0.1:5080/  出现如下图片

    4. 安装ffmpeng

      1. 下载 ffmpeg-20190312-d227ed5-win64-shared  具体链接在上面的百度网盘的链接中
      2. 傻瓜式安装
      3. 运行 如下命令 ffmpeg -i "rtsp://用户名:密码@通道ip:554/cam/realmonitor?channel=2&subtype=0" -f flv   -r 25 -s  640x480 -an "rtmp://127.0.0.1/oflaDemo/hello"  第一次运行时间比较长

      4. 出现如下图片就说明你ffmpeg已经运行成功了

      5. 启动本地服务访问页面

     核心代码  js源文件在百度云盘中

       <script type="text/javascript" src="ckplayer.js"></script>

        <div class="video" style="width: 1000px;height: 600px;"></div>

        <script type="text/javascript">

         var videoObject = {

                          container: '.video',//“#”代表容器的ID,“.”或“”代表容器的class

                          variable: 'player',//该属性必需设置,值等于下面的new chplayer()的对象

                            autoplay:true,//自动播放

                         live:true,//直播视频形式

                         video:'rtmp://127.0.0.1/oflaDemo/hello'//视频地址

             };

           var player=new ckplayer(videoObject);

         </script>

             在网页中输入对应的访问路径即可出现直播画面

5.Linux环境搭建

  1.   查看当前jdk版本是否在1.8以后 如果不是按照一个jdk1.8以后的版本,具体例子网上多的是,我就不具体描述了
  2. 下载对应的安装包   在上面的百度网盘分享文件中red5-server-1.0.10.tar.gz  ffmpeg-4.1.tar.bz2
  3. 安装red5流媒体服务器
    1. 解压安装red5-server-1.0.10.tar.gz
    2. 访问服务器ip:5080 能否出现.不能出现,查看red5服务器是否启动.red5是java语言写的,所以可以通过jps -lm查看是否有对应的服务,如果服务没有启动,则去查看对应的日志,解决对应的问题.如果服务器启动但是访问不了,那就说明5080被占用或者被禁用了,这个就对照网上的教程解决就行.出现上图的页面就可以进行下一个步骤
    3. 安装FFmpeg 这个网上有对应的教程.
    4. 运行 如下命令 ffmpeg -i "rtsp://用户名:密码@通道ip:554/cam/realmonitor?channel=2&subtype=0" -f flv   -r 25 -s  640x480 -an "rtmp://127.0.0.1/oflaDemo/hello"  第一次运行时间比较长
    5. 将上述window中页面代码中video中的值改为服务器的地址即可
    6. 出现画面即搭建成功

6总结

  1. red5流媒体服务器是基于jdk8的.所以安装red5之前应该确保jdk版本在1.8之后
  2. 暂时没有开源的网页直播rtsp格式的代码,所以采取的是ffmpeg进行转码.这个转码会导致画质不清晰.页面卡顿等情况出现

               

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_39684784/article/details/88633589