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

实现方案
流媒体服务器环境搭建
 
整理一下,并且附上我的实现步骤,我是基于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. 项目_1.3_手写SpringMVC框架

    初步修改项目 package com.hy.servlet; import java.io.IOException; import java.lang.reflect.InvocationTarget ...

  2. ES语法(简)

    1.上编写到怎样安装部署elk,这篇记录怎样简单使用.以便于后期复习使用. 2.登录localhost:5601进入开发者模式. 3.初学担心没有数据可以自己PUT数据比较直观的学习语法.这里可以用网 ...

  3. bean依赖注入三种方式

    bean依赖注入的三种方式如下: 1.构造方法注入 2.set方法注入 3.P命名空间注入 此处演示的项目结构如下: 方法一: 构造方法注入 UserDaoImpl.java public class ...

  4. java面向对象九个经典例子程序

    1 Hello world例子 1 package Example; //定义自己的包名 2 3 public class Example1 //定义一个类 4 { 5 public static v ...

  5. 问题:PHP扩展功能,去掉分号';'没有用,是怎么回事?(已解决)

    1. 环境:win10的操作系统,IIS的服务器. 2. 问题描述:PHP要开启访问MYSQL的模块mysqli,我打开配置文件,去掉相关扩展模块前面的分号';',然后重启服务器,但是无效 ~~ 3. ...

  6. HDFS 机架感知与副本放置策略

    HDFS 机架感知与副本放置策略 机架感知(RackAwareness) 通常,大型 Hadoop 集群会分布在很多机架上,在这种情况下, 希望不同节点之间的通信能够尽量发生在同一个机架之内,而不是跨 ...

  7. 06 Spark SQL 及其DataFrame的基本操作

    1.Spark SQL出现的 原因是什么? Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个叫作Data Frame的编程抽象结构数据模型(即带有Schema信息的RDD),S ...

  8. Python-pytest -> 在自动化测试中,如何切换不同的测试环境

    在构建自动化测试的脚本时候,我们可能会有不同环境的测试需求,如何实现在不同的测试环境之间切换呢?接下来介绍的这种方法,可以自定义命令行参数,从而根据不同的参数值实现不同环境的切换. 解决办法: 使用h ...

  9. ubuntu20安装open4.4带扩展库

    0查看当前版本安装 opencv_version 已经装了3.49 再装个4.4共存 1安装依赖库 sudo add-apt-repository "deb http://security. ...

  10. JAVA基础Day1-注释/标识符和关键字/数据类型/类型转换/变量、常量、作用域

    目录 一.注释 二.标识符和关键字 标识符命名需要注意: 三.数据类型 基本数据类型: 拓展: 定义时需要注意: 四.类型转换 字节 五.变量.常量.作用域 变量 变量命名规范 变量作用域 常量 一. ...