需求分析

众所周知,EasyDSS与EasyNVR最大的区别是,EasyDSS被动接受前端设备的推流,将推送过来的直播流进行直播转码、智能处理、视频分发,在通过CDN分发节点分发到终端播放SDK。而EasyNVR则是通过RTSP协议,主动拉取前端设备的直播流,同样分发出RTMP、HTTP-FLV、HLS、RTSP格式的直播流。EasyDSS前端采用的是一套调用简单、功能完善、高效稳定的EasyRTMP推流组件,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。

在做EasyDSS开发时,重点测试推流效果,可以使用libEasyRTMP进行推流测试,可以使用OBS进行推流测试,也可以使用其他RTMP推流工具,效果都很好。但是,别忘了还有ffmpeg这个神器,ffmpeg同样可以获取各种视频流,并推送给EasyDSS RTMP流媒体服务器。

比如:拉取摄像机RTSP流,推送给EasyDSS,命令在此:

ffmpeg -re -i rtsp://username:password@ip:port/xxxxxxx -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

当然,这个命令仅限于摄像机提供的H.264+AAC的码流

  • 若不是则将-vcodec copy改为-vcodec libx264-acodec copy改为-acodec aac
  • 若是,我们想用ffmpeg读取文件进行RTMP推送,可以选择OBS,毕竟ffmpeg比OBS更轻量,命令在此:
 ffmpeg -re -i test.h264 -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

-vcodec和-acodec按需更改同拉取RTSP流,这样可以满足我们推送文件到EasyDSS的目的。

如果我想一直循环读取文件,做个长测呢?

解决方案

 ffmpeg -re  -stream_loop -1 -i test.h264 -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

对比发现,以上命令加了一个-stream_loop -1,它是什么作用呢?

https://ffmpeg.org/ffmpeg-all.html#Main-options

我们明白了此选项可以指定循环读取视频源的次数,-1为无限循环,以上问题就此完美解决。

关于EasyDSS

EasyDSS商用流媒体服务器提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作,并且EasyDSS支持多种特性,完全能够满足企业视频信息化建设方面的需求:

  • 多屏播放:支持Flash、HTML5播放,兼容Windows、Android、iOS、Mac等操作系统。

  • 自由组合:EasyDSS软件产品之间无缝对接,也可将EasyDSS流媒体服务器软件与其他第三方平台对接,组合灵活自由。

  • 支持云架构:支持阿里云、腾讯云、华为云、青云、七牛云存储等各大云服务商,支持云架构,部署更灵活。

  • 与CDN无缝对接:EasyDSS软件产品支持与网宿、帝联、蓝汛等CDN无缝对接。

  • 二次开发简单:提供编程语言无关化的RESTful API接口,只要了解JS、HTML、JAVA、ASP.NET、PHP、ASP等开发语言中的任意一种,就能运用EasyDSS提供的RESTful API进行二次开发。

  • 简单易用:图形化操作,模块清晰,流程简单,极易上手。

EasyDarwin如何支持点播和RTMP/HLS直播?EasyDSS!

适用场景



使用ffmpeg -re循环推流(循环读取视频文件)推送EasyDSS RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器的方法的更多相关文章

  1. java读取视频文件时长

    1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php 2.上代码 @RequestMapping(value = "am ...

  2. .NET 读取视频文件

    该篇文章 复制别人的文章 在.NET中处理视频是一件痛苦的事情,.NET并没有提供视频处理的类.于是咱们只能找一些第三方的类库或者自己实现,在项目时间比较赶的情况下,自己实现是不可能的了,而且说不定会 ...

  3. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器的视频直播录像、检索、回放方案

    需求背景: 近期遇到客户反馈对于直播摄像机录像功能是有一定的需求点的,其实EasyDarwin团队早就研发出对应功能,只是用户对于产品没有足够了解,因此本篇将对录像功能来做一次介绍. 首先,录像就是对 ...

  4. ffmpeg推送,EasyDarwin转发,vlc播放 实现整个RTSP直播

    部署EasyDarwin流媒体服务器 ffmpeg推送摄像机视频到EasyDarwin VLC播放 第一步:部署EasyDarwin流媒体服务器 EasyDarwin的部署过程我们就不再赘述了,在Ea ...

  5. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器功能简介---视频直播、直播鉴权(如何完美将EasyDSS过渡到新版)

    作为RTMP流媒体服务器,接受RTMP推流.进行实时的直播流分发是EasyDSS流媒体服务自身一大核心功能.写本篇博文的一个目的是向大家介绍EasyDSS新版的直播间.匿名直播.和虚拟直播的功能, 另 ...

  6. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器功能简介---实时数据统计报表、视频文件上传、点播、分享、集成

    熟悉EasyDSS流媒体服务器的小伙伴应该都知道,EasyDSS通过将EasyRTMP推流的直播流进行直播转码.智能处理.视频分发,再通过 CDN 分发节点分发到终端播放 SDK为观众播放高清低延时的 ...

  7. 基于EasyDSS流媒体RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案创建视频点播、短视频、视频资源库等视频播放系统

    需求背景 最近有很多用户咨询关于视频点播问题,主要需求集中在如何搭建属于自己的视频点播平台: 实现的功能可以大体归类为:对应自身拥有的视频文件,需要发布到一个网站,其他用户都可以实现点播观看. 针对于 ...

  8. filestream 读取视频文件

    class Program { static void Main(string[] args) { string source = @"F:\361\android studio\4.0\亲 ...

  9. C++ 调用 opencv 读取视频文件列表并处理

    //g++ trans_video.cpp -o trans_video `pkg-config opencv --libs --cflags` -L/usr/lib/x86_64-linux-gnu ...

随机推荐

  1. PostgreSQL日志分析工具

    PostgreSQL日志分析工具 postgresqllinux PostgreSQL日志审计可以配合 pgbench.jmeter...测试工具制定测试计划测试性能,由于日志审计比较影响性能,在不需 ...

  2. Linux 设置系统编码

    1.locale -a查看系统支持的语言2.进入etc/sysconfig/3.编辑i18n4.修改lang ​5.设置完成后刷新:i18n source /etc/sysconfig/i18n

  3. SMBus PEC

    SMBus一种I2C总线的变种 SMBus 提供了PEC方式,提高了传输的可靠性. 总线的发展都是在提高速度,提高可靠性或者提高传输效率上下功夫. PEC不具备纠错的能力,是在I2C link lay ...

  4. reshape()函数

    """ 1.当原始数组A[4,6]为二维数组,代表4行6列. A.reshape(-1,8):表示将数组转换成8列的数组,具体多少行我们不知道,所以参数设为-1.用我们的 ...

  5. 利用GitHub+Node.js+Hexo搭建个人博客

    本篇是自己在搭建Hexo博客平台时的一个过程记录.(2019.9.13实测有效) GitHub 账号注册 因为此文所搭建的个人博客是基于GitHub平台服务的,所以首先是注册GitHub,当然已有账号 ...

  6. Wiki with Herbal Medicine

    Problem H. Wiki with Herbal MedicineInput file: standard input Time limit: 1 secondOutput file: stan ...

  7. 阿里巴巴编程规约--digest

    所谓卫语句,如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回.这样的单独检查常常被称为“卫语句”. 微服务之间将DTO,Req放到一个单独的项目中,相关的项目都依赖这个底层 ...

  8. LeetCode 958. Check Completeness of a Binary Tree

    原题链接在这里:https://leetcode.com/problems/check-completeness-of-a-binary-tree/ 题目: Given a binary tree, ...

  9. 开源项目 10 CSV

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using Syst ...

  10. svn项目迁移至gitlab

    关于svn项目迁移有人可能会说,新建一个git项目,把原来的代码直接扔进去提交不完了吗.恩,是的,没错.但是为了保留之前的历史提交记录,还是得做下面的步骤 首先确保本地正常安装配置好git,具体步骤不 ...