40382
- 收藏
- 点赞
- 分享
- 举报
Red5点播和直播的实现
本帖最后由 ak491980 于 2014-10-22 11:26 编辑
(一) Red5流媒体服务器介绍
Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。
(二) RTSP协议介绍
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
(三) juv-rtmp-client-1.5.10.jar的介绍
国外一个收费的RTMPClient,它就相当于是Red5服务器的一个组件,里面封装了如何打包成RTMP协议数据、连接流媒体服务器、流媒体通讯等功能。这个jar包是收费的,但收费的东西都会有人来破解的,这里是下载破解版的:
附件:juv-rtmp-client-1.5.10.jar.7z
(四) 点播和直播
1) Android利用摄像头采集视频数据
利用LocalServerSocket采集视频数据的实时流数据,android自带的LocalServerSocket是和java 的serverSocket是不同的,因为LocalServerSocket的客户端和服务端都是必须在本机,所以我们可以在调用RecodMedia录制视频的时候建立客户端LocalSocket来向服务端发送数据,在服务端接收数据调用juv—rtmp—client将接收的数据打包成RTMP协议数据向流媒体服务器发送数据。
利用android自带的Camera来录制数据,这里主要用到了照相机的CallBack回调接口,在这个回调接口里面可以实时的接收照相机录制的视频数据,这里面录制的视频数据是YUV420SP格式的数据流,这是最原始的数据流,是无法显示的服务器界面的。将数据流转化成YUV420SP2RGB格式的数据,然后利用juv—rtmp—client向流媒体服务器发送数据。
2) 发送视频数据到流媒体服务器
juv—rtmp—client这个jar包封装了很多和流媒体服务器交互的方法,当然有视频数据传输格式。在流媒体服务提供了三种格式的传输方式:Record、Live、Append。
Record模式就是视频数据实时的写到你的Red5服务器工程里面,当你连接到服务器可以选择观看服务器接收的视频数据,但这个不是实时的,无论你什么时候看都是从视频数据的第一帧数据开始观看,这就是所谓的点播
Live模式就是视频数据实时的用流写到服务器,不在服务器储存任何文件,就是所谓的现场直播,无论什么时候观看都是当前正在录制的画面。
3) 流媒体服务器播放FLV文件和视频实时流方法
Red5安装完成后,新建一个red5项目,当android连接到服务你新建的项目,会自动创建一个Stream的文件夹,这个文件夹主要负责储存流媒体文件。
打开地址栏输入:流媒体服务器地址,并连接到Red5自带的播放器调试,Publisher界面,在这个调试窗口写上你的流媒体地址、项目名称以及你需要连接的实时的流发布名称,点击播放就可以实时播放你录制的视频了。
(一) Red5流媒体服务器介绍
Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。
(二) RTSP协议介绍
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
(三) juv-rtmp-client-1.5.10.jar的介绍
国外一个收费的RTMPClient,它就相当于是Red5服务器的一个组件,里面封装了如何打包成RTMP协议数据、连接流媒体服务器、流媒体通讯等功能。这个jar包是收费的,但收费的东西都会有人来破解的,这里是下载破解版的:
附件:juv-rtmp-client-1.5.10.jar.7z
(四) 点播和直播
1) Android利用摄像头采集视频数据
利用LocalServerSocket采集视频数据的实时流数据,android自带的LocalServerSocket是和java 的serverSocket是不同的,因为LocalServerSocket的客户端和服务端都是必须在本机,所以我们可以在调用RecodMedia录制视频的时候建立客户端LocalSocket来向服务端发送数据,在服务端接收数据调用juv—rtmp—client将接收的数据打包成RTMP协议数据向流媒体服务器发送数据。
利用android自带的Camera来录制数据,这里主要用到了照相机的CallBack回调接口,在这个回调接口里面可以实时的接收照相机录制的视频数据,这里面录制的视频数据是YUV420SP格式的数据流,这是最原始的数据流,是无法显示的服务器界面的。将数据流转化成YUV420SP2RGB格式的数据,然后利用juv—rtmp—client向流媒体服务器发送数据。
2) 发送视频数据到流媒体服务器
juv—rtmp—client这个jar包封装了很多和流媒体服务器交互的方法,当然有视频数据传输格式。在流媒体服务提供了三种格式的传输方式:Record、Live、Append。
Record模式就是视频数据实时的写到你的Red5服务器工程里面,当你连接到服务器可以选择观看服务器接收的视频数据,但这个不是实时的,无论你什么时候看都是从视频数据的第一帧数据开始观看,这就是所谓的点播
Live模式就是视频数据实时的用流写到服务器,不在服务器储存任何文件,就是所谓的现场直播,无论什么时候观看都是当前正在录制的画面。
3) 流媒体服务器播放FLV文件和视频实时流方法
Red5安装完成后,新建一个red5项目,当android连接到服务你新建的项目,会自动创建一个Stream的文件夹,这个文件夹主要负责储存流媒体文件。
打开地址栏输入:流媒体服务器地址,并连接到Red5自带的播放器调试,Publisher界面,在这个调试窗口写上你的流媒体地址、项目名称以及你需要连接的实时的流发布名称,点击播放就可以实时播放你录制的视频了。
文件: juv-rtmp-client-1.5.10.jar.7z
下载
文件: MyRTMPMedia.rar
下载
我来回答
回答64个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
02014-12-08 08:56:28
-
2014-10-22 11:01:40
-
2014-10-22 11:14:46
-
2014-12-03 17:17:06
-
2016-01-05 19:53:18
-
2014-12-03 17:15:20
-
2021-01-19 16:37:15
-
2016-01-30 14:36:47
-
2014-12-08 08:44:14
-
2018-02-06 17:53:51
-
2020-12-04 15:43:07
-
2015-03-03 23:02:04
-
2013-05-21 18:27:26
-
2016-09-05 22:05:23
-
2016-09-01 20:37:05
-
2016-07-12 16:28:27
-
2016-03-16 20:48:25
-
2016-08-01 21:17:14
-
2016-03-31 17:59:11
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认