`

基于rtmp协议的java多线程服务器

阅读更多

     打算设计这个半开源服务的计划已经有很长时间了,大概在两年多前吧,由于一直没有时间,所以拖到现在,最近有时间,可以开始实行这个计划了,当然,现在写的这个服务器还有很多不足的地方,无论是设计方面,还是在实现方面都有很多值得改进的地方

       这个服务器现在的特点:

        1.鉴于现在电脑cpu普遍都有多核,采用多线程编程,线程数,默认为2

        2.采用java socket nio flex

        3.开发人员可以随意设定运行时,一个线程可以处理登陆的用户个数

        4.使用rtmp,amf0协议,amf3协议待扩展

        5.使用flash播放器测试时只能支持flash player 10版本,据了解是flash在后面10以后的版本中增加了比较复杂的握手协议,据说red5已经解决这个问题。有能力的开发人员可以自定义自己的握手协议,以支持10以后的flash player版本。据了解现在也有很多基于rtmp写的客户端播放器,有兴趣的朋友可以上网多留意一下

        6.现在支持发布和订阅实时视频,方法调用,群聊

        7.如果开发人员需要扩展这个服务器的业务功能,必须继承Base*开头的类

        8.这个半开源的服务器欢迎对amf协议熟悉,或者经验丰富的开发人员参与

        9.相关的源码和依赖包已经托管到google源码服务器:http://code.google.com/p/minn/ ,下载即可运行测试

 

 

 

 

 

       

    

     

    

分享到:
评论

相关推荐

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

    RTSP是一种网络协议,主要用于控制多媒体数据的传输,而RTMP则常用于将音视频数据推送至流媒体服务器,如YouTube、Facebook Live等。Java作为一种跨平台的编程语言,具有丰富的库和API,可以方便地处理这种任务。 ...

    rtmpServer-master_nettyrtmp_rtmp推流_netty开发rtmp_rtmpServer-master

    本项目“rtmpServer-master_nettyrtmp_rtmp推流_netty开发rtmp_rtmpServer-master”是针对RTMP协议开发的一个服务器端实现,它基于强大的Java网络库Netty。以下将详细介绍该服务器的开发背景、功能、核心技术和应用...

    Android JAVACV RTMP Client

    "Android JAVACV RTMP Client"项目就是为了解决这一问题,它利用了JavaCV库来实现音视频的录制,并通过RTMP协议将数据流传输到RED5服务器。以下将详细介绍其中涉及的关键知识点: 1. **Android音视频录制**:...

    通过rtmp/rtsp,openCV进行人脸识别并截图,Java版本

    2. **建立RTMP/RTSP连接**:根据项目需求选择合适的协议,通过Java的网络编程接口建立与流媒体服务器的连接。 3. **接收流数据**:持续读取从服务器传来的视频流数据,可能需要处理如解码、帧率同步等问题。 4. **...

    基于Java的视频服务器

    【基于Java的视频服务器】 Java视频服务器是一种使用Java编程语言构建的应用程序,它设计用于接收、处理和分发视频内容。这种服务器的核心功能是管理视频数据的生命周期,从上传到处理,再到用户请求时的传输。Java...

    rtmp-rtsp-stream-client-java-master.zip

    7. **异步处理和多线程** 在Android中,长时间运行的操作(如推流)不应在主线程执行,以免阻塞用户界面。因此,开发者可能会使用`AsyncTask`、`Thread`、`Handler`或现代的`Coroutines`来处理后台任务。 8. **UI...

    使用JavaCV开发的rtsp流转rtmp流并进行推流的流媒体服务

    在这个特定的项目中,“使用JavaCV开发的rtsp流转rtmp流并进行推流的流媒体服务”旨在实现从RTSP协议的视频流转换到RTMP协议的流,以便将视频数据推送到支持RTMP的流媒体服务器,如YouTube Live、Nginx RTMP模块或...

    C版本的RTMP服务端

    这个库可能包含了处理RTMP协议、网络I/O、多线程和内存管理等核心功能。使用这样的库可以大大简化开发工作,因为它已经封装了RTMP协议的复杂细节,开发者只需要关注业务逻辑即可。 总结来说,C++版本的RTMP服务端...

    java视频服务器和客户端

    - **多线程处理**:由于可能有多个客户端同时请求,服务器端需要使用多线程来处理并发连接,保证服务的响应性。 - **流媒体技术**:服务器需要支持流媒体,以便在数据传输过程中实时播放,如RTSP(Real-Time ...

    juv-rtmp-client shareobject连接

    在实际应用中,ShareObject的数据交换可能涉及到多线程同步问题,因为数据可能会在不同的线程中被读写。因此,开发者需要确保对ShareObject的操作是线程安全的,避免数据竞争和不一致的情况。 "juv-rtmp-client"库...

    minn-rtmp-0.2.zip

    本文将详细介绍一个基于JAVA编写的RTMP服务器——minn-rtmp-0.2.zip,以及如何将其集成到Android APK应用中。 RTMP是一种专为音视频数据实时传输而设计的协议,它允许客户端与服务器之间进行高效的双向通信。minn-...

    线程关闭javacv关闭20190508.rar

    1. Java多线程的使用,包括线程的创建、启动和安全关闭。 2. JavaCV的FFmpegFrameRecorder类在视频录制和推流中的应用。 3. 线程安全和资源管理,尤其是在多线程环境中的数据同步和异常处理。 4. 实时视频流的启动和...

    CameraSteamUtils_java实时推流_JAVACV_源码

    JAVACV提供了RTMP(Real-Time Messaging Protocol)推流功能,RTMP是一种协议,用于将音视频数据实时传输到支持RTMP的服务器,如Adobe的Flash Media Server或开源的Nginx-RTMP模块。在Java中实现RTMP推流,主要涉及...

    毕业设计-基于JAVA设计的流媒体视频直播服务器源码.zip

    5. **多线程与并发**:Java的并发库如ExecutorService和Thread Pool可能被用于优化服务器性能,处理多个并发连接。 6. **网络编程**:Socket编程是基础,用于建立客户端和服务器之间的连接,处理请求和响应。 7. **...

    camera_rtmp.rar

    5. **多线程与并发**:为了实现高效且稳定的流处理,程序可能采用了多线程技术,分别处理网络通信、解码和推流任务,确保不同部分之间的工作不相互阻塞。 6. **代码组织与设计**:良好的代码结构和设计模式对于维护...

    四、JAVA调用海康威视SDK实现摄像头内网推流到阿里云

    推流的过程可能涉及到RTMP协议,这是一种广泛用于实时音视频传输的协议,JAVA可以通过开源库如JRTMP或Netty来实现与RTMP服务器的交互。 Apache标签可能暗示了项目中可能使用了Apache相关组件或服务。例如,可能是...

    android-ffmpeg-with-rtmp-master

    【Android FFmpeg with RTMP Master】是一个开源项目,专注于在Android平台上使用FFmpeg库实现实时流媒体到RTMP服务器。这个项目对于开发者来说是一个宝贵的资源,它展示了如何在Android应用中集成FFmpeg来处理音...

    毕业设计-流媒体视频直播服务器源代码Java + MySQL

    3.多线程:流媒体服务器需要处理多个并发的视频流请求,因此多线程技术必不可少。Java的Thread类和ExecutorService接口提供了强大的多线程管理能力。 二、MySQL数据库 1. 数据存储:MySQL用于存储用户信息、视频元...

    red5 java源码

    1. **Java多线程编程**:Red5服务器需要处理并发连接,源码中会涉及到线程池、同步机制等多线程编程技术。 2. **网络编程**:包括TCP/IP协议栈的理解,如何处理网络I/O,以及数据包的解析与封装。 3. **流媒体处理**...

    海康视频推RTMP流需要的jar包

    这个过程可能涉及到的其他技术还包括多线程处理、错误处理、日志记录等。总的来说,海康视频推RTMP流需要的jar包提供了一种便捷的方式,使得Java开发者能够在不深入理解FFmpeg底层实现的情况下,轻松地将海康视频...

Global site tag (gtag.js) - Google Analytics