# MediaCaptorLive **Repository Path**: LevelCoder/media-captor-live ## Basic Information - **Project Name**: MediaCaptorLive - **Description**: MediaCaptorLive 是一个功能强大的直播流管理工具,专为需要同时处理RTMP和HLS两种直播流协议的应用场景而设计。该项目集成了先进的流媒体处理技术和灵活的配置选项,以满足用户对直播流生命周期管理的多样化需求。 FFmpeg , javacv , RTSP , RTMP , HLS - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-05-23 - **Last Updated**: 2025-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MediaCaptorLive ## 项目简介 : MediaCaptorLive 是一个功能强大的直播流管理工具,专为需要同时处理RTMP和HLS两种直播流协议的应用场景而设计。该项目集成了先进的流媒体处理技术和灵活的配置选项,以满足用户对直播流生命周期管理的多样化需求。 ## 核心功能 1. 双流支持:MediaCaptorLive 完美支持RTMP和HLS两种直播流协议,允许用户根据实际需求选择合适的协议进行直播传输。 2. 为了优化资源使用和提高系统稳定性,MediaCaptorLive 提供了自动释放空闲或无效流信息的功能。这一特性能够确保系统资源得到高效利用,同时减少因无效流信息而导致的潜在问题。 3. 自定义保活时间:为了满足不同应用场景下的需求,MediaCaptorLive 允许用户自定义直播流的保活时间。通过调整保活时间,用户可以更好地控制直播流的生存周期,从而确保直播内容的连续性和稳定性。 4. 灵活配置:MediaCaptorLive 提供了丰富的配置选项,允许用户根据实际需求调整直播流的各项参数,如码率、帧率、分辨率等。这一特性使得 MediaCaptorLive 能够适应多种应用场景,满足用户对直播质量的多样化需求。 5. 高效稳定:MediaCaptorLive 基于先进的流媒体处理技术,确保了直播流的高效传输和稳定播放。无论是在高并发场景下还是在网络状况不佳的情况下,MediaCaptorLive 都能够提供稳定的直播服务。 ## 应用场景 适用于多种应用场景,如在线教育、远程会议、网络直播等。通过提供强大的直播流管理功能,MediaCaptorLive 能够帮助用户实现高效、稳定的直播服务,提升用户体验和满意度。 ## 技术栈 MediaCaptorLive 主要采用FFmpeg和JavaCV等先进的流媒体处理库进行开发,同时结合了现代软件开发中的最佳实践和工具链,以确保项目的可维护性、可扩展性和高性能。 ## 用到的技术 ```lombok.config # 安装ffmpeg yum install ffmpeg ffmpeg-devel ``` `FFmpeg`、`JavaCV`、`nginx` ## [注]: 该项目中的一些处理是为了满足公司项目需求添加完善的,如果需要改造扩展只需要在原来的基础上进行扩充或者剥离即可。 ## 觉得不错就点个**star**吧!!! # 演示效果 ![示例图片](./test.png) # 项目配置 ## 该项目需要搭配使用的nginx服务器下载地址: https://blog.csdn.net/liuerpeng1904/article/details/143888728 ## nginx 配置 ```lombok.config # rtmp 推流配置 rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; allow play all; } application hls{ live on; hls on; hls_path /home/data/hls; hls_fragment 5s; hls_playlist_length 30s; } } } # hls 推流配置 http { #gzip on; server { listen 81; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } # 修改成自己的存放m3u8文件的目录 alias /home/data/hls; add_header Cache-Control no-cache; # 添加 CORS 头部允许跨域 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; # 添加对预检请求的支持 add_header 'Access-Control-Allow-Headers' 'Range'; # 为了支持跨域跨域预检请求,确保OPTIONS方法也被允许 add_header 'Access-Control-Max-Age' 1728000; # 针对预检请求直接返回 if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; # 告诉客户端预检请求允许的时间 add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; } } } ``` # 交流群 欢迎大家进群交流,如果遇到bug或有新的需求,请优先提交Issues。 ![示例图片](./qq.png) ## 技术支持 QQ : 2677699521 邮箱 : 2677699521@qq.com