Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunroyi666/article/details/52981639

最近研究了一下流媒体技术,也试着用免费开源的Red5搭建了流服务器,实现了直播,视频播放,远程视频会议等功能,下面是近期实践的总结,

一. 先介绍一下流媒体技术:

所谓流媒体技术,是指将连续的影像和声音信息经过压缩处理后放在网站服务器上,让用户能够一边下载一边观看、收听(即所谓的“在线欣赏”),而不需要等整个压缩文件下载到自己的机器上才可以欣赏的网络传输技术。

一般来说,一个完整的流媒体服务系统需要三个部分组成:编码器、流服务器和播放器。.

编码器通过对内容来源(如MP3文件或者麦克风输入)进行编码,并将编码过的内容发送到流服务器;流服务器再将它们发布到Internet,这样客户端的播放器只要连接到流服务器就可以进行在线播放了。

主流开源流媒体服务器有哪些?
流媒体解决方案 Live555(C++)
流媒体平台框架 EasyDarwin(C++)
实时流媒体播放服务器程序DarwinStreamingSrvr(C++)
流媒体实时传输开发包 jrtplib
多媒体处理工具 ffmpeg
多媒体编码工具包Libav
Flash流媒体服务器 Red5(Java)
流媒体服务器 Open Streaming Server (Java)
FMS流媒体服务器(Adobe,收费的)
Wowza流媒体服务器(Java)
开源流媒体平台FreeCast(Java)

商用系统
1.NTV Media Server G3
2.Flash Media Server5
3.Windows Media Server

二. Red5流服务器搭建
1. 安装并配置JDK(略)

2. 下载并安装Red5
下载地址:http://www.red5.org/red5-server/
解压,如:D:/Red5

3. 配置并启动Red5
修改conf下的red5.properties可以修改IP和端口
HTTP是打开Red5的Demo页面用的,RTMP是用于在直播,视频播放等流服务时候使用的协议。

配置完成后,双击Red5目录下的red5.bat即可启动Red5服务器。
启动完成后,输入http://192.168.7.96:5080,出现画面则表示成功。(如果不改配置文件,用http://localhost:5080即可)

三. 视频直播

1. 下载Demo
上图首页的最下面第二行有个红色的Install,点击可进入Demo的安装页面。

直播和流媒体播放都要用到"oflaDemo",选择后点击"Install"安装即可。
安装完成后,在webapps下面出现oflaDemo文件夹。

2. 设置并发布直播
进入发布设置界面:http://192.168.7.96:5080/demos/publisher.html

在有摄像头,话筒的情况下,点击Video,在Device中选择摄像头,并点击Start,出现视频画面。
声音同视频,在Audio中设置。

回到Server画面,在Location中输入rtmp://192.168.7.96:1935/oflaDemo,地址与red5.properties中的rtmp协议的设置必须相同。
点击Connect,右侧出现NetConnection.Connect.Success ,说明连接服务器成功。

点击Publish页面中的Publish按钮即可对外发布直播。
View页面就是观看的直播,稍微有点延迟。
修改Name可以改变发布的名称。(相当于房间名)

3. 用自己的页面观看直播
在webapps/oflaDemo下面建一个jwPlayer.html
我使用了jwplayer来播放,下载地址:http://download.csdn.net/detail/sunroyi666/9668965
把jwplayer.js和player.swf放在同级目录下

主要修改2个地方,streamer就是发布页面的rtmp的地址,file是发布页面中的Name。

输入地址观看直播:

四. 流媒体播放
直播搞定以后,流媒体的视频播放就简单多了。
在oflaDemo下面的streams文件夹下,把需要的视频文件放进去。(上传功能可以自己做)

在jwPlayer.html中,把file改为视频文件名即可观看。

用Red5流媒体播放还有一个优点在于,可以保证视频的安全性。
客户端无论是输入http://192.168.7.96:5080/oflaDemo/(streams)/Avengers2.mp4
还是rtmp://192.168.7.96:1935/oflaDemo/(streams)/Avengers2.mp4
都无法直接下载视频的源文件哦~

五. OpenMeetings远程视频会议

OpenMeetings的运行依赖于Red5,是基于Flash的视频会议解决方案。亮点是能够在会议过程中做PPT演示。

1. 下载并启动OpenMeetings
下载地址:http://openmeetings.apache.org/downloads.html
解压后看到里面实际上自带了Red5

与Red5一样,配置完IP以后启动red5.bat即可。

重要:
如果要修改rtmp端口的话,还需要修改这个文件
D:\apache-openmeetings\webapps\openmeetings\public\config.xml

里面的<rtmpport>1935</rtmpport>
还有,防火墙端口别忘了开放。
这个东西我调查了半天

2.安装数据库
启动过程中,如果没有配置相应的数据库,会报错,根据自己的数据库类型,在下面的路径中找到xml,改名为persistence.xml后修改配置。
默认需要名为openmeetings的数据库,不需要建表。

2. 配置OpenMeetings
输入http://192.168.7.96:5080/openmeetings/install
会提示用户下载各种工具如ImageMagic, SWFTools, GhostScript, FFMpeg, SoX等,这些工具可以在视频会议的过程中,共享图片等。
比如A在图上写字B也能看到。
有需要的话可以根据提示下载,安装配置。
网上说明的文章也很多,这里就不介绍了。
反正不装也不影响使用。

旧版本有“Continue with STEP1”,点击进入账户设置页面。
我下载的新版本在画面上找了半天都没有这个Link,后来总算把画面拖到最下面看到了“>”按钮,点击后进入账户设置。

输入用户名,密码,邮箱后,一步步设置到最后即可。

3. 登录并使用
输入用户名,密码,点击Sign in 登录

点击右下方的“开始”按钮进入房间选择

选择房间并点击“Enter”后,即可开始会议。

六. 其他
1. 需要将Red5整合到Tomcat的话,可以参照下面的文章:
http://sakef.jp/blog/2010/06/red5_sample01/
http://blog.csdn.net/g1512161790/article/details/38766591

2. 需要进一步用Java控制直播的话,可以参照下面的文章:

http://blog.csdn.net/supercrsky/article/details/47611365

3. OpenMeetings的具体安装配置,可以参照下面的文章:
http://blog.csdn.net/saloon_yuan/article/details/8964045

http://wenku.baidu.com/link?url=Wl9d4RjHG6RvBrRbtdg_jzFLqQU1YJTuIIrmehv4VM6PHyz63EHY-blQFhFGwGYLnSgC0Tsmcc46Q1FvRwSmsfUqB2EOSftcbRFM6fW8iJa
http://hgr.blog.163.com/blog/static/61659001201211634228760/

音视频开发(1)---Red5流服务器搭建相关推荐

  1. 音视频开发——H265码流解析

    概述 H.265技术的应用 编码技术主要运用于视频播放设备.软件应用以及拍摄.录制视频的设备.人们最熟悉的莫过于PPS网络视频播放器.在PC屏客户端产品上面,PPS已经于2013年初推出了基于H.26 ...

  2. qt linux下实现vlc视频,vlc音视频开发(一)环境搭建(qt篇)

    来源:微信公众号「编程学习基地」 简介 VLC 是一款自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD.音频 CD.VCD 及各类流媒体协议. 由于VLC是完全开源的,所以我 ...

  3. Android音视频开发详解

    概要:         1.课程从FFmpeg编译.Android Studio创建C++项目.Java调用C++.C++调用Java.C++多线程和线程锁.C++队列.OpenSL ES集成.FFm ...

  4. vlc音视频开发(三)桌面动态壁纸

    来源:微信公众号「编程学习基地」 文章目录 配置vlc环境: vlc音视频开发(一)环境搭建(qt篇) vlc音视频开发(二)环境搭建(VS篇) 桌面动态壁纸代码 配置vlc环境: vlc音视频开发( ...

  5. 网页测试本地服务器_音视频开发搭建一个直播服务器

    现在抖音.快手等直播实在是太火了,因此对音视频的开发非常感兴趣.查阅了相关资料,使用Nginx搭建一个简单的直播跟点播流媒体服务器,能够实时推流到服务器,同时在网页端播放直播的视频. 先上效果 使用O ...

  6. 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发

    SRS 4.0开发环境搭建 视频讲解如下,点击观看: 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发 音视频高级开发学习学习资料链接:FFmpeg/WebR ...

  7. 【秒懂音视频开发】26_RTMP服务器搭建

    流媒体 基本概念 流媒体(Streaming media),也叫做:流式媒体. 是指将一连串的多媒体数据压缩后,经过互联网分段发送数据,在互联网上即时传输影音以供观赏的一种技术与过程 此技术使得数据包 ...

  8. Android音视频学习系列(八) — 基于Nginx搭建(rtmp、http)直播服务器

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

  9. 音视频开发为什么要学SRS流媒体服务器

    1 SRS是什么 官方定义:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效.稳定.易用,简单而快乐.有将近10k sta ...

最新文章

  1. Machine Learning | (7) Scikit-learn的分类器算法-决策树(Decision Tree)
  2. 关于极光IM设置昵称不生效的解决办法
  3. Java并发7:并发工具类
  4. 57、vi常见用法,tags
  5. php pdo参数化,php – 如何正确地使用PDO对象的参数化SELECT查询
  6. 全球100款大数据工具汇总(前50款)
  7. 运行时类加载以支持不断变化的API
  8. XmlPullParserException
  9. spark官方文档_Spark整合Ray思路漫谈
  10. 无法从计算机中删除,【求助】Windows无法从该家庭组中删除你的计算机
  11. node.js——麻将算法(三)胡牌相关明牌
  12. 广州地铁十三号线二期全线土建已完成53%,预计明年开通
  13. ubantu 14.04重置密码
  14. 你的电脑或移动设备不支持Miracast
  15. 【HEC-RAS】02 软件下载及安装
  16. php 白鹭对接,微信好友排行榜 - 白鹭对接
  17. MATLAB中实现图像的空间域滤波和频率域滤波
  18. 如何做到两个IP地址是否属于同一网段?
  19. c语言 scanf( 停止,一个c程序,一运行到Scanf就程序停止
  20. leetcode 825. Friends Of Appropriate Ages

热门文章

  1. socket结构和几个IP地址转换函数
  2. linux NAND驱动之三:6410平台上的NAND驱动加载
  3. 线程池参数如何设置?
  4. 位操作符:与,或,异或 狼羊菜
  5. redis rua解决库存问题_库存秒杀问题-redis解决方案- 接口限流
  6. Amoeba 主从复制和读写分离
  7. 【转】(译)iOS Code Signing: 解惑详解
  8. 01-国内开源镜像站汇总
  9. 纯CSS实现table表头固定(自创备忘)
  10. 洛谷P1879 [USACO06NOV]玉米田Corn Fields