hls

ffmpeg: hls 转流 rtmp

一世执手 提交于 2020-03-02 06:27:36
最近遇到一个需求,需要将hls协议的直播流转换成rtmp协议的直播流; 在网上找了很长时间,没有找到相应的技术文章, 最后leader给了一个终极命令搞定: ffmpeg -i http://test.com/index.m3u8 -vcodec libx264 -vb 800k -acodec libfaac -ab 64k -f flv rtmp://test.com/appName/streamName 如果提示缺少 libx264 ,可能是你安装ffmpeg的姿势不对(编译时缺少模块); 将ffmpeg卸载干净,使用yum 安装即可。 来源: oschina 链接: https://my.oschina.net/u/2518187/blog/1802475

nginx的rtmp配置项

十年热恋 提交于 2020-02-26 15:36:23
worker_processes 1; events { worker_connections 1024; } #这里开始是牛人技术测试直播的配置信息 rtmp { server { listen 1935; chunk_size 4096; application hls { live on; hls on; hls_path /byDATA/NginxRtmpNRJS/webroot/tt/hls; hls_fragment 5s; } #用来给115频道 application ANuid115 { live on; hls on; hls_path /byDATA/NginxRtmp/webroot/ANuid115; hls_fragment 5s; } #用来测试 application ANuid901 { live on; hls on; #实时回访 wait_key on; #保护TS切片 hls_nested on; #每个流都自动创建一个文件夹 hls_fragment 5s; #每个ts文件为5s的样子 hls_fragment_naming system;#使用系统时间戳命名ts文件 hls_playlist_length 10800s; #保存m3u8列表长度时间,默认是30秒,可考虑三小时10800秒 hls_cleanup on;

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

亡梦爱人 提交于 2020-02-22 23:16:38
2017年很长很长一段时间没有更新EasyDarwin开源项目了,虽然心里有很多EasyDarwin功能扩展的计划:比如同步录像、同步RTMP/HLS直播输出、拉模式转发优化、Onvif接入、GB28181特性、等等,但实乃有心无力,每天都疲于应付开源社区中的各种技术咨询,另一方面是需要给开源开发团队造血,需要商业项目支撑开源团队的运转,所以,2017上半年沉寂了半年,计划开发出几款小而美的产品来帮助团队通过商业项目的方式输血,走商业+开源的可持续发展路子; 在2017年的上半年,我们在商业项目上主要在:EasyNVR摄像机互联网直播服务、EasyDSS点播与直播服务器、EasyRMS录播服务器等方面投入了大量的精力,EasyNVR和EasyRMS的功能特性在这篇中就不阐述了,本篇主要说一下我们做的EasyDSS点播与直播服务器,到底是个什么鬼? 等不及的可以先看: http://www.easydss.com ,边看演示,边看博客; 总所周知,EasyDarwin是基于Apple的开源项目Darwin Streaming Server衍生而来的,而Darwin本身支持的是RTSP流媒体协议,在之前的博客《 网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议? 》中也给出了一些自己的见解,RTSP做点播协议已经不是很能满足安防/互联网点播的需求了

EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器前端源码重构(四)- webpack + video.js 打造流媒体服务器前端

被刻印的时光 ゝ 提交于 2020-02-22 22:32:44
EasyPlayer播放器是基于EasyDSS流媒体服务器视频强大的后台管理能力,提供视频点播和直播播放能力的强大播放载体。流畅稳定的播放性能,集广告植入、数据监测等功能于一身,为开发者提供端到端的一站式品视频直播解决方案。覆盖多类应用场景,包括Web、H5、iOS、Android等多平台终端,提供快速接入的js代码和SDK,满足客户多样需求,让客户轻松聚焦于业务发展本身,畅享极速高清播放新体验。 video.js 介绍 Video.js - open source HTML5 & Flash video player 作为一款高性能流媒体服务器的前端, 必不可少会用到流媒体播放器. 在播放器的选择上, 我们选中了功能强大并且开源的 video.js . 它可以用来播放 RTMP/HLS 直播流. 本篇介绍在 webpack 中集成 video.js 播放器组件, 我们将要完成一个 HLS 播放器 的小例子. 先来看一下效果图吧: 安装 video.js 我们要开发的 HLS 播放器 需要用到 video.js 的一个官方插件: videojs-contrib-hls 尽管 video.js 官方文档中给出了 webpack 集成的说明( http://docs.videojs.com/tutorial-webpack.html ), 但是在实际开发过程中,

EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器同步输出http-flv协议流是怎么实现的?

橙三吉。 提交于 2020-02-22 22:27:54
http-flv是什么 http-flv是以http为传输协议,flv媒体格式为内容的方式实时下载flv音视频帧。为什么选择flv格式而非mp4?原因是mp4必须要有moov box或者moof box才能播放,而moov box和moof box 中主要存储的是帧的索引,在实时直播过程中所有未产生的帧都是无法预测的,所以moov和moof都不能提前生成,也就很难做到实时的效果。当然moof box有点特殊,可以重复出现,这样就能每隔几帧就生产一个moof box下发给客户端,也是可以做到直播效果的,这种方式被人们广泛称为http-fmp4,DASH协议就是是利用moof实现的。 flv文件不同之处在于,播放器只要获取到其中的metadata、avc-header、aac-header后就可以顺序播放接下来的所有帧。所以服务器只需要在客户端连接的时候顺序发送metadata、avc-header\aac-header后连续不断地发送音视频帧播放器就会不停接收并且播放flv内容了。 sequenceDiagram 播放器->>服务器: http://ip/app/stream.flv 服务器->>播放器: 返回flv-header 服务器->>播放器: 返回metadata 服务器->>播放器: 返回avc-header 服务器->>播放器: 返回aac-header 服务器->

EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件正式环境安装部署攻略

时光怂恿深爱的人放手 提交于 2020-02-22 22:17:54
背景介绍 EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。其中, 点播功能 主要包含:上传、转码、分发。 直播功能 ,主要包含:直播、录像, 直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载。提供丰富的二次开发接口,基于JSON的封装及HTTP调用。提供播放鉴权、推流鉴权等安全保证。提供用户及相关权限管理配置。 本篇文章主要介绍,在正式的部署环境中,如何优化部署策略,方便后期的版本升级及数据维护。 一. 默认存储配置说明 二. 正式部署建议 在正式部署当中,最好将业务数据存储和视频图像的存储分开,具体原理如下,这样操作后,系统再今后的版本升级和数据维护方面更加方便。 具体示例配置如下: 解压安装目录下的 easydss.ini文件中 ...... [dss] ...... ; 储存目录:录像存储路径 (默认配置的是相对路径,相对于dss目录。也可以配置 绝对路径 如:D:/test 或 /user/test ) dss_hls_path = /diskc/data/hls [dir] ; 数据库目录:保存数据库文件 (默认配置的是相对路径,相对于解压目录。也可配置 绝对路径 如:D:/test 或 /user/test ) dir_data = /diskb/data ;

centos 利用nginx-rtmp和ffmpeg 搭建rtmp推流,hls播放,录制mp4并回放

两盒软妹~` 提交于 2020-02-15 05:23:06
1.首先安装相关依赖 yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 gcc-c++ pcre-devel 2.编译nginx 下载相关所需模块并解压, configure选项设置好相关模块,并进行编译 。(或者直接下载所有所需文件 点击下载 ) ./configure --prefix=/usr/local/nginx/ --add-module=…/nginx-rtmp-module-master --with-http_mp4_module --add-module=…/ngx_cache_purge-master --add-module=…/nginx_mod_h264_streaming-2.2.7 --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_flv_module --with-openssl=…/openssl-1.0.2h

学成在线(第13天)

房东的猫 提交于 2020-02-10 01:23:27
在线学习需求分析 学成在线作为在线教育网站,提供多种学习形式,包括:录播、直播、图文、社群等,学生登录进入学习中心即可 在线学习,本章节将开发录播课程的在线学习功能,需求如下: 1、学生可以在windows浏览器上在线观看视频。 2、播放器具有快进、快退、暂停等基本功能。 3、学生可以方便切换章节进行学习。 流媒体 流媒体就是将视频文件分成许多小块儿,将这些小块儿作为数据包通过网络发送出去,实现一边传输视 频 数据 包一边观看视频。 流式传输 在网络上传输音、视频信息有两个方式:下载和流式传输。 下载:就是把音、视频文件完全下载到本机后开始播放,它的特点是必须等到视频文件下载完成方可播放, 播放等待时间较长,无法去播放还未下载的部分视频。 流式传输:就是客户端通过链接视频服务器实时传输音、视频信息,实现“边下载边播放”。 流式传输包括如下两种方式: 1) 顺序流式传输 即顺序下载音、视频文件,可以实现边下载边播放,不过,用户只能观看已下载的视频内容,无法快进到未 下载的视频部分,顺序流式传输可以使用Http服务器来实现,比如Nginx、Apache等。 2)实时流式传输 实时流式传输可以解决顺序流式传输无法快进的问题,它与Http流式传输不同,它必须使用流媒体服务器并 且使用流媒体协议来传输视频,它比Http流式传输复杂。常见的实时流式传输协议有RTSP、RTMP、RSVP 等。

Windows下利用nginx流媒体服务器rtmp推拉流测试

时光怂恿深爱的人放手 提交于 2020-02-05 15:36:21
转载自 Hello爱微玩-在家搭个直播平台:Windows下利用nginx流媒体服务器rtmp推拉流测试 一、nginx的安装配置 在 http://nginx-win.ecsds.eu/download/ 中下载nginx 1.7.11.3 Gryphon.zip并解压。 在解压好的nginx 1.7.11.3 Gryphon目录下新建三个文件夹:m3u8File、rec、vod 进入nginx 1.7.11.3 Gryphon文件夹的conf目录下,新建一个文件“nginx.conf”,复制下面的内容进去并保存: worker_processes 1; #Nginx进程数,建议设置为等于CPU总核数 events { worker_connections 1024; #工作模式与连接数上限 } rtmp_auto_push on; #RTMP服务 rtmp{ server{ listen 1935; #服务端口 chunk_size 4096; #数据传输块的大小 application vod{ play ./vod; #视频文件存放位置 } application live{ live on; #开启直播 hls on; #开启hls直播。这个参数把直播服务器改造成实时回放服务器 #wait_key on; #对视频切片进行保护,这样就不会产生马赛克了 hls_path .

Nginx学习之配置RTMP模块搭建推流服务

孤者浪人 提交于 2020-01-31 04:02:21
写在开始 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能。同时提供按需加载、自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求。 为更高效地连接用户与商家,小程序提供了实时音视频录制及播放组件。符合类目要求的小程序自助开通后,可自建或使用云服务,实现单向、双向甚至多向的音视频功能,如在线授课、远程咨询、视频客服,以及多人会议等。 2017-12-26微信小程序推送了这样一条消息,文档,代码也是简单的一笔带过,用户需要自建或使用云服务,实现单向、双向甚至多向的音视频功能。目前仅支持 flv, rtmp 格式。 本篇博客通过介绍使用nginx的rtmp模块来使nginx服务支持rtmp协议,可以完成推流和播放的功能。 开发环境 Linux (centos7),Nginx (openresty),nginx-rtmp-module 安装 由于之前已经安装过了openresty,详见 博文 。这里我们只需要安装nginx-rtmp-module模块即可。 下载并解压模块: wget https://github.com/arut/nginx-rtmp-module/archive/master.zip unzip master.zip 停止原来的Nginx服务: nginx -s stop 配置并编辑: .