先看一下我参考的原文实现:

实现方案
流媒体服务器环境搭建
 
整理一下,并且附上我的实现步骤,我是基于java,目前已经做了一个微型服务,封装了这一套,提供了API+可视化管理,界面如下:

因为防止大量请求推流,导致服务器挂掉,所以使用了常用的线程池隔离手段,也方便监控对比ffmpeg和实际的激活线程是否一致,防止ffmpeg进程结束了还有僵尸进程。

一个简单的微型小系统,可对外提供转码推流的微服务就差不多了,系统目前主要实现:回放流,预览流,录像,每个用户的sessionid和摄像头IP为一个任务,重复推流会关闭上一个,并且有超时控制,需要每分钟发送激活信号,否则该任务会自动停止释放,也可以通过api手动销毁,后期完善之后准备放到开源网站,以下是所有安装步骤。

安装ffmpeg

ffmpeg的安装请参考网上例子很多,下个最新的。

安装pingos

#git clone https://github.com/im-pingo/pingos.git
#cd pingos
#./release.sh -i
#注意:release.sh脚本里面会去下载指定版本的一个nginx但是github下载不了,可以自己下载放进去,具体操作是脚本修改

#wget https://nginx.org/download/nginx-1.17.10.tar.gz 注释这里

tar zxvf nginx-1.17.10.tar.gz
mv nginx-1.17.10 nginx
rm -f nginx-1.17.10.tar.gz

脚本头几行定义了安装目录/usr/local,我们进入

#cd /usr/local/pingos/
nginx.conf的配置有点长,可以到统一到我的有道云里面找一找,包括nginx和pingos(修改好的)程序可以直接下载
http://note.youdao.com/noteshare?id=dcc6039156d06e91ae9a789217edbe97&sub=EFACB0F322064ED1A6514C65CE506525
#vi conf/nginx.conf 复制从有道云里面的的nginx.conf,修改一下ip和端口就差不多了,目录什么自己看着修改
#./sbin/nginx

实测flv延迟和rtmp几乎差不多,和实际的rtsp大概差2秒,现在flv也可以跨浏览器无插件播放,非常棒

ffmpeg+nginx+hls(低延迟)的更多相关文章

  1. ffmpeg && nginx hls

    备注: 使用ffmpeg 将视频转换为hls,并使用nginx 提供服务,实现点播功能,没有使用rtmp 插件 1.  ffmpeg 命令生成文件 a. ts ffmpeg -y -i mydemo. ...

  2. 使用ffmpeg搭建HLS直播系统

    [时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, ffmpeg,live,直播,点播, nginx, ssegment] 0 引言 本文作为HLS综述的后续文章. ...

  3. QQ视频直播架构及原理 流畅与低延迟之间做平衡 音画如何做同步?

    QQ视频直播架构及原理 - tianyu的专栏 - CSDN博客 https://blog.csdn.net/wishfly/article/details/53035342 作者:王宇(腾讯音视频高 ...

  4. 在Chrome、Firefox等高版本浏览器中实现低延迟播放海康、大华RTSP

    一.背景 现在到处是摄像头的时代,随着带宽的不断提速和智能手机的普及催生出火热的网络直播行业,新冠病毒的大流行又使网络视频会议系统成为商务会议的必然选择,因此RTSP实时视频流播放及处理不再局限于安防 ...

  5. 高频交易:Solarflare组建超低延迟网络

    10Gb以太网适配器制.网卡造商Solarflare目前正在将自己的网卡系列产品转变为服务器产品.其产品在金融领域有着广泛的应用. Solarflare首先将现场可编程门阵列(FPGA)放入网络适配器 ...

  6. 一款低延迟的分布式数据库同步系统--databus

    每次看到马路对面摩托罗拉的大牌子,都想起谷歌125亿美元收购摩托罗拉移动,后来又以29亿美元卖给联想的事情.谷歌所做的决策都比较考虑长远利益,在这串交易中,谷歌获得了摩托罗拉最有价值的几千项专利,稳健 ...

  7. PrismCDN 网络的架构解析,以及低延迟、低成本的奥秘

    5 月 19.20 日,行业精英齐聚的 WebRTCon 2018 在上海举办.又拍云 PrismCDN 项目负责人凌建发在大会做了<又拍云低延时的 WebP2P 直播实践>的精彩分享. ...

  8. java 11 ZGC(可伸缩,低延迟的gc)

    ZGC, A Scalable Low-Latency Garbage Collector(Experimental) 可伸缩,低延迟的gc ZGC, 这应该是JDK11最为瞩目的特性, 没有之一. ...

  9. JDK 11中的ZGC-一种可扩展的低延迟垃圾收集器

    # 背景正如我们所知道的在JDK 11中即将迎来ZGC(The Z Garbage Collector),这是一个处于实验阶段的,可扩展的低延迟垃圾回收器.本文整合了外网几篇介绍ZGC的文章和代码. ...

  10. 高吞吐低延迟Java应用的垃圾回收优化

    高吞吐低延迟Java应用的垃圾回收优化 高性能应用构成了现代网络的支柱.LinkedIn有许多内部高吞吐量服务来满足每秒数千次的用户请求.要优化用户体验,低延迟地响应这些请求非常重要. 比如说,用户经 ...

随机推荐

  1. 前端实现HTML转PDF下载的两种方式

    原文链接:https://www.jianshu.com/p/56680ce1cc97 方式一:使用html2canvas和jspdf插件实现 该方式是通过html2canvas将HTML页面转换成图 ...

  2. VUE学习-生命周期

    生命周期 函数 描述 beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用. created 在实例创建完成后被立即 ...

  3. js实现不同的域名 输出不同的结果

    js实现域名判断后跳转到指定网址,也适用于同一虚拟空间放多个网站: <script> try { if(self.location == "http://apple.baidu. ...

  4. 启动anaconda的报错:There is an instance of anaconda navigator already running error

    首先调出控制台(win+r,输入cmd),然后在控制台输入 tasklist | findstr "pythonw" 在显示出pythonw.exe后,找到其后面的pid(数字), ...

  5. STM32中断调试中遇到的问题

    STM32应用过程中遇到的问题 实现功能: 1.自动流水灯:在LED1~LED4上实现自动流水灯,流水间隔时间为200ms/bit,然后通过按键KEY1改变流水灯的速度,每次按键间隔时间增加200ms ...

  6. spring-security-oauth2-authorization-server

    旧依赖的移除 长久以来,使用Spring Security整合oauth2,都是使用Spring Security Oauth2这个系列的包: <dependency> <group ...

  7. Git系列 -> 如何获取远程库某个文件

    有时候远程库存放很多文件夹,我们可能只需要下载或获取某个文件中的内容,可以采用以下: 首先点击clone 按钮,然后复制clone URL , 如果想要下载其中的某个文件夹的内容,需要在后面加入指定文 ...

  8. Java基础|01.基础语法(1)

    目录 00x1 基本语法 1.类的语法 2.对象的语法 3.方法的声明 4.小例子 00x2 类和对象的关系 1.堆.栈和元空间 2.基本数据类型和引用数据类型的区别 3. 空对象(null) 00x ...

  9. 微服务注册到Nacos上的Ip错误,是内网ip不是公网ip

    spring.cloud.nacos.discovery.ip = 本机公网IP spring.cloud.nacos.discovery.port = 服务端口

  10. Tesstwo9.1.0配置步骤

    一,配置步骤 环境:Tesstwo9.1.0+Android10(华为)+Android11(模拟器) 1.查看tess-two的最新版本(GitHub - rmtheis/tess-two: For ...