java流媒体直播_实时监控、直播流、流媒体、视频网站开发方案设计简要
欢迎大家积极开心的加入讨论群
一、本地推送端
1、本地:采用javaCV(安卓和java平台推荐javaCV)、ffmpeg、openCV或者jmf可以很方便的获取到本地摄像头流媒体
javaCV系列文章:
补充篇:
javacpp-ffmpeg系列:
2、监控(第三方摄像头):通过设备sdk或者rtsp直播流获取流媒体源
二、转流端
直播:通过ffmpeg(推荐),live555将接收rtsp或者字节码流并转为flv格式发布到rtmp流媒体服务器(流媒体服务器必须先建好)
hls原理同上
注意:rtmp只支持flv格式封装的视频流
ffmpeg服务实现方式实例请参考:
三、流媒体服务器
目前主流的流媒体服务器有:fms,nginx-rtmp,red5(java),flazr
本地视频:直接通过流媒体服务器解码并推送视频流
直播流:通过开启udp/rtp/rtsp/rtmp/hls等等流媒体服务,从ffmpeg/live555获取推送过来的实时视频流并发布到rtmp/hls直播流并推送(可以边直播边保存)
rtmp和hls这两种是web领域主流的流媒体协议。使用rtp或rtsp协议的一般都是监控。
流媒体协议选择:rtmp基于tcp协议,rtmp能够保持3秒左右延迟。hls是基于http协议,所以实时性特别差,想要用hls保持实时性的就别想了,hls延迟基本超过10秒。
实时性要求特高的,建议使用基于udp协议的一些流媒体协议。
基于tcp和udp两种流媒体协议区别就是tcp会强制同步,udp是数据发出去就不管了。
所以最终的方案就是:强同步但是实时性要求不高用基于tcp协议的,强实时性弱同步就udp。
四、播放端(收流端)
直播:通过flex(flash)播放器或者第三方播放器(videoJS,ckplayer,VideoLAN 等...)调用流媒体服务器的流媒体源解码并播放,如果不需要兼容低版本IE,可以采用HTML5的webSocket播放器,videoJS是flash/html5双核播放器。
视频:通过html自带播放器、flex(flash)播放器或者第三方播放器(videoJS,ckplayer,VideoLAN 等...)进行播放
一般使用videoLAN播放器作为测试工具,用于测试音视频流发布状况
补充:
1、如果是采用nginx服务器,它提供的rtmp模块可以发布rtmp直播、录播及hls,nginx可以把ffmpeg整合进去方流媒体后期处理(加水印等)。
2、java是可以调用ffmpeg的,通过jni的方式有两种方法:
2.1、javaCV1.2支持通过javacpp调用ffmpeg,javaCV目前整合了8种流媒体处理框架,是安卓和javaEE平台不可或缺的强大流媒体处理利器
2.2、javaAV(目前最新0.7,release最新0.5)提供了对java调用ffmpeg的支持,当前已停止更新
补充:为什么没有基于原生java(或者说自带GC的语言)的流媒体框架,原因来自GC,也就是java引以为豪的自动垃圾回收机制(真的是成也萧何,败也萧何)
为什么呢?
大家知道,直播(顾名思义,实时视频转发),这种实时性项目会产生大量的对象,这样会导致两种情况:
1、产生大量对象后占据的内存资源得不到及时释放,于是虚拟机内存溢出。
2、产生大量对象导致GC满负荷运行进行资源回收,会严重占用系统资源,导致系统运行迟滞,影响系统运行性能和实时性等等。
java流媒体直播_实时监控、直播流、流媒体、视频网站开发方案设计简要相关推荐
- 实时监控、直播流、流媒体、视频网站开发方案设计简要
快速传送至:javacv入门指南:序章 快速传送至:从零开始开发和搭建直播平台-教程汇总篇 javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现, ...
- java某市出租车_智慧职教mooc的APPJavaEE企业级网站开发章节测验答案
A.突触前膜 B.突触后膜 C.突触前膜内的胞质 D.突触后膜内的胞质 E.突触间隙 某市出租车的收费标准如表.3千米以内起步价7元3千米以上每千米付车费1.2元(不足一千米部分按一千米算)(1)王 ...
- java监听mysql_java实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...
- mysql如何做直播_如何做好直播?
我们看到直播正从最初的泛娱乐向越来越垂直的细分领域转变,比如音乐直播.电竞直播.明星直播,还有猎奇的吃播.睡播等,这意味直播2.0时代到来. 第一.产生优质互动 要懂直播文化,不要高高在上,像明星或者 ...
- py 网站实时监控+可手动回溯回放网站数据的实现
这里以xxx壁纸网站为例,实现可回溯数据与实时监控,其实要实现实时监控并不难,但是要实现数据回溯所涉及的细节就特别的多了 先说实时监控,先获取主网页的信息,对当前主网页的信息进行提取,从而获取时间信息 ...
- python打造流媒体服务器_使用Flask搭建一个流媒体服务器
摘要 收到前不久订阅的PythonWeekly发过来的一个邮件通知,由Miguel写的一篇介绍如何使用Flask搭建一个流媒体服务器的文章,思路很新颖也很有意思.你可以点击这里阅读英文原文.或者跟随本 ...
- ios开发闹钟源代码_开源源码让短视频的开发变得更加便捷
对外开放源码(开源系统源代码)指的是该源代码的软件著作使用者将其所拥有的初始码公布,容许大家应用.改动发售的手机软件或设计方案体. 刚开始朋友会感觉"开源系统源代码"这一专有名词与 ...
- java web 流媒体播放_实时流(直播流)播放、上墙(大屏播放)解决方案
场景描述 将实时流采集终端的视频数据实时推送到另外一个(多个)播放终端,完成远距离实时视频播放的功能.典型场景: (1)远程查看监控摄像头.选择指定摄像头,将该摄像头采集到的实时数据推送到指定播放终端 ...
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...
- java摄像头推流_悄摸直播(一)—— 推流器的实现(获取笔记本摄像头画面,转流推流到rtmp服务器)...
推流器 一.功能说明 获取pc端的摄像头流数据 + 展示直播效果 + 推流到rtmp服务器 二.代码实现 /** * 推流器 * @param devicePath 摄像头的地址.可以是摄像头rtsp ...
最新文章
- shiro学习(10):servelet实现权限认证一
- 上海师范大学计算机技术考研分数线,上海师范大学2019年考研复试分数线已公布...
- Spring Boot(4)---入门:安装Spring Boot
- 设置loadrunner中每个mdrv.exe进程中包含的vuser个数
- 三种方法让你的Service不被“一键加速”和系统杀掉
- 常见几种编码格式及比较
- 腾讯笔试题——猴子吃桃(PythonC语言实现)
- html颜色设计,网页设计中经典色彩搭配方案
- TV(电视)应用开发指南
- java中是什么意思_java中@什么意思
- 微信小游戏上线字节平台超全攻略
- Windows Phone : 三屏一云战略的新里程碑
- 后疫情时代,打造15分钟交通圈
- 视觉学习笔记6——YOLOv5(v6.2)部署与代码理解
- python多线程爬取段子_Python爬虫实战之一秒爬取内涵段子
- OJB简介--翻至ojb docs
- 系统设置——亮度调节
- 【Java经典小游戏】大鱼吃小鱼 (两万字保姆级教程)
- matlab大津法函数,大津(Ostu)阈值分割方法在matlab中的实现
- linux进程及网络报告,linux网络和进程管理简述