欢迎大家积极开心的加入讨论群

一、本地推送端

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流媒体直播_实时监控、直播流、流媒体、视频网站开发方案设计简要相关推荐

  1. 实时监控、直播流、流媒体、视频网站开发方案设计简要

    快速传送至:javacv入门指南:序章 快速传送至:从零开始开发和搭建直播平台-教程汇总篇 javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现, ...

  2. java某市出租车_智慧职教mooc的APPJavaEE企业级网站开发章节测验答案

    A.突触前膜 B.突触后膜 C.突触前膜内的胞质 D.突触后膜内的胞质 E.突触间隙 某市出租车的收费标准如表.3千米以内起步价7元3千米以上每千米付车费1.2元(不足一千米部分按一千米算)(1)王 ...

  3. java监听mysql_java实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  4. mysql如何做直播_如何做好直播?

    我们看到直播正从最初的泛娱乐向越来越垂直的细分领域转变,比如音乐直播.电竞直播.明星直播,还有猎奇的吃播.睡播等,这意味直播2.0时代到来. 第一.产生优质互动 要懂直播文化,不要高高在上,像明星或者 ...

  5. py 网站实时监控+可手动回溯回放网站数据的实现

    这里以xxx壁纸网站为例,实现可回溯数据与实时监控,其实要实现实时监控并不难,但是要实现数据回溯所涉及的细节就特别的多了 先说实时监控,先获取主网页的信息,对当前主网页的信息进行提取,从而获取时间信息 ...

  6. python打造流媒体服务器_使用Flask搭建一个流媒体服务器

    摘要 收到前不久订阅的PythonWeekly发过来的一个邮件通知,由Miguel写的一篇介绍如何使用Flask搭建一个流媒体服务器的文章,思路很新颖也很有意思.你可以点击这里阅读英文原文.或者跟随本 ...

  7. ios开发闹钟源代码_开源源码让短视频的开发变得更加便捷

    对外开放源码(开源系统源代码)指的是该源代码的软件著作使用者将其所拥有的初始码公布,容许大家应用.改动发售的手机软件或设计方案体. 刚开始朋友会感觉"开源系统源代码"这一专有名词与 ...

  8. java web 流媒体播放_实时流(直播流)播放、上墙(大屏播放)解决方案

    场景描述 将实时流采集终端的视频数据实时推送到另外一个(多个)播放终端,完成远距离实时视频播放的功能.典型场景: (1)远程查看监控摄像头.选择指定摄像头,将该摄像头采集到的实时数据推送到指定播放终端 ...

  9. 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解

    注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...

  10. java摄像头推流_悄摸直播(一)—— 推流器的实现(获取笔记本摄像头画面,转流推流到rtmp服务器)...

    推流器 一.功能说明 获取pc端的摄像头流数据 + 展示直播效果 + 推流到rtmp服务器 二.代码实现 /** * 推流器 * @param devicePath 摄像头的地址.可以是摄像头rtsp ...

最新文章

  1. shiro学习(10):servelet实现权限认证一
  2. 上海师范大学计算机技术考研分数线,上海师范大学2019年考研复试分数线已公布...
  3. Spring Boot(4)---入门:安装Spring Boot
  4. 设置loadrunner中每个mdrv.exe进程中包含的vuser个数
  5. 三种方法让你的Service不被“一键加速”和系统杀掉
  6. 常见几种编码格式及比较
  7. 腾讯笔试题——猴子吃桃(PythonC语言实现)
  8. html颜色设计,网页设计中经典色彩搭配方案
  9. TV(电视)应用开发指南
  10. java中是什么意思_java中@什么意思
  11. 微信小游戏上线字节平台超全攻略
  12. Windows Phone : 三屏一云战略的新里程碑
  13. 后疫情时代,打造15分钟交通圈
  14. 视觉学习笔记6——YOLOv5(v6.2)部署与代码理解
  15. python多线程爬取段子_Python爬虫实战之一秒爬取内涵段子
  16. OJB简介--翻至ojb docs
  17. 系统设置——亮度调节
  18. 【Java经典小游戏】大鱼吃小鱼 (两万字保姆级教程)
  19. matlab大津法函数,大津(Ostu)阈值分割方法在matlab中的实现
  20. linux进程及网络报告,linux网络和进程管理简述

热门文章

  1. 微软五笔拼音输入法 86版 v7.2 bt
  2. springboot基于微信小程序的运动软件前端的设计与实现毕业设计源码100932
  3. 快速在网站跳转支付宝付款链接
  4. html自动幻灯片代码,简单常用的幻灯片播放实现代码
  5. 739. 每日温度/C++
  6. python模拟B-S期权定价模型
  7. 社区志愿者招募管理系统
  8. 计算机毕业设计(附源码)python在线答题系统
  9. 兼容 iOS retina 高清屏
  10. sass @media