`

基于rtmp协议用java nio写小型游戏服务器的总结1

    博客分类:
  • java
阅读更多
前一阵子,进了一家公司,工作的内容是写基于rtmp协议的java socket服务器,虽然是说写,但底层的很多也是用到别人的,不过胜在我在应用上面使用了selector,一定程度上解决了视频传输过程中中断的问题,除了改了后台的底层连接的代码外,也就是客户端有可能需要进行重连接,下面先来看看外国人写的源码:http://milgra.com/projects/mileniagrafter08/index.html
按照上面的地址,可以下载到源码和demo;
http://www.adobe.com/devnet/flash/articles/flv_live.html这个网址本人觉得是对于视频传输中断有重要参考作用的资料;
有兴趣的,先下载源码与demo,
先看下用到的rtmp协议底层的类:
AmfDecoder.java,AmfEncoder.java:这两个类是amf格式的转化类
RtmpDecoder.java,RtmpEncoder.java:这两个是rtmp格式的数据包的转化类
RtmpPacket.java:rtmp协议的封装包,实际的内容存在里面

自己写的简单服务器的代码暂时不贴出来。。。
分享到:
评论
4 楼 minn84 2010-06-16  
恩,非常好,我想听听你对java socket高并发量和高性能的服务器编程的经验,以待我完善我的简单的服务器,之前的几个贴中我已经把我的代码思路共享出来,希望你也共享一下你的思路,谢谢。。
3 楼 kimmking 2010-06-16  
我对简单的socket代码不感兴趣,
不过如果有对于高并发的socket时,系统的稳定性的分析和分享,
我非常乐于参与。
2 楼 minn84 2010-06-16  
以后会贴出来的,不过要等到年底
1 楼 caizhongda 2010-05-27  
贴出来看看啊。

相关推荐

    基于rtmp协议android端推流Demo

    5. **流媒体服务器配置**:为了接收并分发Android设备推送的RTMP流,服务器端需要运行支持RTMP协议的服务,如Nginx with RTMP module或者Adobe Flash Media Server。开发者需要知道如何配置这些服务器,设置合适的...

    基于Rtmp协议的流媒体直播 Demo

    Rtmp协议基于TCP,通过建立连接、握手、发布和播放等步骤实现流媒体的实时传输。其中,握手过程包括C0-C2/S0-S2的三次交互,确保客户端和服务器之间的同步;发布操作允许客户端将音视频流推送到服务器;播放操作则使...

    RTMP协议框架完美实现

    RTMP协议基于TCP,主要由三部分组成:握手、命令消息和数据流。握手过程确保客户端和服务器之间的连接稳定;命令消息包括连接、播放、记录等操作;数据流则包含了音视频数据的传输。RTMP支持AMF(Action Message ...

    rtmp 协议规范 中文版

    RTMP 块流是一种基于 RTMP 的协议,提供了复用和分组服务,以便更好地传输多媒体数据流。 在 RTMP 块流中,每个消息包含时间戳和负载类型标志。时间戳是一个 32 位整数,以毫秒为单位的相对时间,相对于一个未规定...

    rtmp协议官方文档中文版

    RTMP(Real-Time Messaging Protocol,实时消息传输协议)是一种基于TCP的应用层协议,主要用于在互联网上传输音频、视频和其他类型的数据。它最初由Adobe Systems开发,用于Flash Player和服务器之间的实时流媒体...

    rtmp协议.pdf

    RTMP协议是一种基于TCP的应用层协议,主要用于实时音频、视频和数据传输。它能够提供低延迟的流媒体传输服务,广泛应用于直播、在线教育、远程会议等领域。该协议支持多种数据类型,包括音频、视频、共享对象、消息...

    基于RTMP协议的Flash流媒体网页播放器

    在Web上使用Flash流媒体播放器的原理是,服务器端运行支持RTMP协议的服务,如Adobe Flash Media Server、Wowza Streaming Engine或FlowPlayer等。客户端通过浏览器中的Flash插件与服务器建立连接,实现音视频数据的...

    RTMP协议官方文档

    协议基于TCP传输层协议设计,用于实时传输音频、视频和交互式内容。在TCP之上,RTMP还可能使用SSL加密层来提供安全的数据传输,确保内容传输的私密性。 2. 字节序、对齐和时间格式:文档定义了RTMP协议在处理字节序...

    RTMP协议规范中文翻译

    1. **连接建立**:RTMP协议首先通过TCP建立连接,通常使用默认端口1935。连接过程中,客户端会发送Handshake(握手)以验证双方的兼容性和安全性。 2. **命令消息**:RTMP协议支持多种命令消息,如Connect、...

    RTMP协议(中文)详解以及规范

    1. 连接建立:RTMP协议首先通过TCP连接到服务器,通常在端口1935上。这个连接过程包括握手、建立通道和发送命令消息。 2. 命令消息:RTMP使用AMF(Action Message Format)编码来传输命令,如`connect`、`...

    RTMP 协议下载C++实现

    1. **RTMP协议**:RTMP协议基于TCP,设计时主要考虑了音视频数据的实时传输需求。它包括握手、建立连接、发布/播放、数据传输、断线重连等几个关键步骤。协议支持AMF(Action Message Format)编码的数据,能处理...

    基于RTMP协议的流媒体系统的设计实现1

    【基于RTMP协议的流媒体系统的设计实现】 随着信息技术的快速发展,流媒体技术已经成为现代生活中不可或缺的一部分。RTMP(Real-Time Messaging Protocol)协议是Adobe Systems公司开发的一种用于实时数据传输的...

    RTMP_1.0协议原理

    1. **握手过程**:在建立连接之前,客户端与服务器之间需要进行握手过程来确认双方使用的RTMP版本及参数。 2. **控制消息**:用于管理连接状态的消息,比如设置带宽、播放指令等。 3. **数据通道**:一旦连接...

    RTMP协议中文.pdf

    RTMP设计之初是为了在Flash/AIR平台和流媒体服务器之间传输音频、视频和数据,它作为一种应用层协议运行于传输层协议TCP之上,以TCP协议为传输基础。 RTMP协议的主要特点包括全双工通信(即数据可以在两个方向上...

    rtmp协议原版介绍

    1. **TCP连接**:RTMP建立在TCP/IP协议之上,确保数据的可靠传输。 2. **流ID**:每个音视频流都有一个唯一的流ID,用于区分不同的流。 3. **消息结构**:RTMP定义了一套消息格式,用于封装不同类型的数据,如音频帧...

    javaCV将socket获取的视频流推到流媒体(RTMP)服务器jar

    在这个场景中,JavaCV被用来从Socket接收视频流,然后将其推送到流媒体服务器,特别是使用RTMP协议的服务器。下面将详细介绍这个过程涉及的关键知识点。 1. **JavaCV**: JavaCV(Java Computer Vision)是一个开源...

    Flash RTMP协议说明文档

    RTMP协议基于TCP协议,支持多种类型的数据传输,包括但不限于视频、音频以及交互式通信等。它通过建立一条持续连接来实现流媒体数据的高效传输,并能够根据网络状况动态调整传输速率,确保流媒体播放的流畅性和高...

    RTMP协议基础知识

    RTMP协议基础知识RTMP 全称Routing Table Maintenance Protocol(路由选择表维护协议) 在 AppleTalk 协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在 AppleTalk 路由器中建立...

    海康威视推流RTMP-java代码demo

    1. **RTSP协议的使用**:首先,我们需要理解RTSP的工作原理,包括如何初始化连接,发送PLAY、SET_PARAMETER等命令来获取摄像头的实时视频流。 2. **Java Media Framework (JMF)**:Java中处理多媒体数据的一个常见...

    rtmp协议详解和例子(带书签)

    - **游戏直播**:游戏主播可以利用RTMP协议将游戏画面实时传输给观众。 - **企业培训**:企业内部培训会议也可以采用RTMP协议进行实时直播。 - **体育赛事直播**:体育赛事直播平台常常使用RTMP协议来传输高清视频流...

Global site tag (gtag.js) - Google Analytics