rtmp

Windows 搭建 nginx RTMP 服务器

二次信任 提交于 2020-03-18 16:19:30
前面采用 nginx + nginx-rtmp-module 的方式搭建 RTMP 服务器,由于在 windows 下未对 rtmp 模块进行编译,所以后面采用了 nginx Gryphon + nginx-rtmp-module 的方式,成功搭建了 RTMP 服务器。 1 环境与准备文件 开发环境:windows 开发工具:ffmpeg、nginx 1.7.11.3 Gryphon(nginx)、nginx-rmtp-module、vlc media player播放器 官方ffmpeg下载地址: http://www.ffmpeg.org 官方nginx下载地址: http://nginx.org/en/download.html 官方nginx 1.7.11.3 Gryphon下载地址: http://nginx-win.ecsds.eu/download/nginx 官方nginx-rtmp-module下载地址: https://github.com/arut/nginx-rtmp-module 官方vlc media player下载地址: https://www.videolan.org/vlc 2 安装nginx、ffmpeg与启动nginx 分别下载最新版本的 nginx 和 ffmpeg,都复制到 E:\technology 目录下,然后再将下载好的 nginx

视频流媒体服务器如何将视频直播转推到其他平台?

瘦欲@ 提交于 2020-03-17 08:05:04
每一个行业做久了,都会有些小小的私心,就是把这个东西完善到更好,甚至到创造一个新东西的地步,我做视频行业也是这样的(我相信一定不是我一个人这么想的),所以如果有开发者提出什么需求,哪怕是目前不能满足的,我也会尽量满足。不过好在目前我们产品的功能已经趋于完善。 最近有开发者在使用视频流媒体直播服务器做直播时,提出了希望能将直播过程转推到其它平台的需求,这个需求刚好我们时可以实现的(即便不可以,有开发者提出来了,只要在现有技术能力下,在不久的将来也会变成可以),下面我带着大家梳理一遍将直播过程转推到其它平台的流程。 1、首先我们要使用RTMP推流组件(EasyRTMP)推一路流到本机流媒体服务器,(OBS也可以实现推的功能)如下图: 2、在系统配置RTMP转推中配置需要将本服务的哪些流转推出去,如下图: 3、转推规则解释 a、案例:rtmp://demo.easydss.com:10085/hls/Seven31?sign=8fz5nMAZg[name=1] b、rtmp://demo.easydss.com:10085/hls/Seven31?sign=8fz5nMAZg 为目的地址 c、[name=本服务中的直播流] 4、我们转推了两路,看效果 使用这种转推流程,按照转推规则中的说明,可以转推到另一个流媒体服务器,也可以配置转推到其它平台,并且流媒体服务器可以做服务端录像存储

EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件二次开发接口对接说明示列

可紊 提交于 2020-03-11 20:45:47
EasyDSS相关功能 EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。其中, 点播 版本主要包含:上传、转码、分发。 直播 版本主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载;提供丰富的二次开发接口、基于JSON的封装及HTTP调用;提供播放鉴权、推流鉴权等安全保证;提供用户及相关权限管理配置。 EasyDSS流媒体服务搭建资源 【官网】 【点播版本在线演示】 【直播版本在线演示】 【旗舰版本在线演示】 【在线接口】 这篇博文主要介绍如何利用软件提供的接口快速接入开发。 一、 快速安装 下载地址 下载对应环境的安装包 解压安装包 Windows下双击EasyDSS.exe直接启动 Linux下解压目录执行./start.sh 注:路径中不能包含中文 二、 二次开发 二次开发中,方式是在自己业务系统后端登录接口中,调用流媒体的登录接口,获取所需的sid或是token 1.封闭内网使用 在业务使用,如果只是使用EasyDSS提供视频分发能力,且不会对外公开接口端口10080(默认端口),可以直接将接口鉴权关闭,具体服务器登录 http://demo.easydss.com:10080/login.html 默认用户名/密码 admin/admin,

Trying to play an RTMP stream using ExoPlayer

丶灬走出姿态 提交于 2020-03-05 04:23:20
问题 I have this code: SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(this); PlayerView playerView = findViewById(R.id.simple_player); playerView.setPlayer(player); RtmpDataSourceFactory rtmpDataSourceFactory = new RtmpDataSourceFactory(); MediaSource videoSource = new ProgressiveMediaSource.Factory(rtmpDataSourceFactory) .createMediaSource(Uri.parse("https://player.cdnmedia.tv/embed/a77aa67c")); player.prepare(videoSource); player.setPlayWhenReady(true); This is my graddle file:

FFmpeg初遇见_基本命令

拟墨画扇 提交于 2020-03-04 00:34:27
一、FFmpeg的故事 1.FFmpeg是什么? 从百度百科中来看,FFmpeg是一套可以用来 记录、转换数字音频、视频,并能将其转化为流的开源计算机程序 。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。 官网:https://www.ffmpeg.org/ github地址:https://github.com/FFmpeg/FFmpeg 补充知识:音视频格式的基本概念 音/视频流 在音视频领域,我们把一路音/视频称为一路流。如我们小时候经常使用VCD看港片,在里边可以选择粤语或国语声音,其实就是CD视频文件中存放了两路音频流,用户可以选择其中一路进行播放。 容器 我们一般把 MP4、 FLV、MOV等文件格式称之为容器。也就是在这些常用格式文件中,可以存放多路音视频文件。以 MP4 为例,就可以存放一路视频流,多路音频流,多路字幕流。 channel channel是音频中的概念,称之为声道。在一路音频流中,可以有单声道,双声道或立体声。 2.FFmpeg的组成 构成FFmpeg主要有三个部分。 第一部分 第一部分是三个作用不同的工具软件,分别是:ffmpeg.exe,ffplay.exe,ffprobe

nginx搭建rtmp流服务器并opencv等处理后(音频、视频)实时推出

前提是你 提交于 2020-03-03 16:10:11
一、流服务器搭建 1、安装 参考文章 sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp 2、配置文件修改 sudo gedit /etc/nginx/nginx.conf 添加: rtmp { servername { listen 1935 ; chunk_size 4096 ; application live { live on ; } } } sudo service nginx restart 然后推出的流地址就可以是: rtmp://ip:1935/servername/name 二、opencv处理视频流并推出 1、读取流 和读取摄像头一样,`cap = cv2.VideoCapture(rtmp_)` 可用的rtmp地址: rtmp://58.200.131.2:1935/livetv/hunantv 湖南卫视 rtmp://202.69.69.180:443/webcast/bshdlive-pc 香港财经,很流畅!

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

如何设计一款跨平台低延迟的RTMP/RTSP直播播放器

本秂侑毒 提交于 2020-03-01 21:00:07
开发背景 很多音视频开发者问我们,为什么要做这块,实际上是这样的,2015年,当我们试图在市面上找一款专供直播播放使用的低延迟播放器,来配合测试我们的RTMP推送模块使用时,居然发现没有一款好用的,市面上的,如VLC或Vitamio,说白了都是基于FFMPEG,在点播这块支持格式很多,也非常优异,但是直播这块,特别是RTMP,延迟要几秒钟,对如纯音频、纯视频播放,快速启播、网络异常状态处理、集成复杂度等各方面,支持非常差,而且因为功能强大,bug很多,除了行业内资深的开发者能驾驭,好多开发者甚至连编译整体环境,都要耗费很大的精力。 我们的直播播放器,始于Windows平台,Android和iOS同步开发,基于上述开源播放器的各种缺点,我们考虑全自研框架,确保整体设计跨平台,再保障播放流程度的前提下,尽可能的做到毫秒级延迟,接口设计三个平台统一化,确保多平台集成复杂度降到最低。 整体方案架构 RTMP或RTSP直播播放器,目标很明确,从RTMP服务器(自建服务器或CDN)或RTSP服务器(或NVR/IPC/编码器等)拉取流数据,完成数据解析、解码、音视频数据同步、绘制。 具体对应下图 “接收端” 部分: 初期模块设计目标 自有框架,易于扩展,自适应算法让延迟更低、解码绘制效率更高; 支持各种异常网络状态处理,如断网重连、网络抖动等控制; 有Event状态回调

EasyDSS流媒体解决方案实现的RTMP/HLS视频直播、直播鉴权(如何完美将EasyDSS过渡到新版)

a 夏天 提交于 2020-02-28 08:54:01
上一篇博文介绍了EasyDSS点播功能,然后作为RTMP流媒体服务器,接受RTMP推流、进行实时的直播流分发又是自身一大核心功能。 需求背景: 写本篇博文的一个目的是向大家介绍一下EasyDSS新版的直播间、匿名直播、和虚拟直播的功能外 另一主要原因 是有部分有用户是基于之前版本的EasyDSS来进行集成二次开发的,现在新版本的EasyDSS是在之前的内核基础上进行了更多更能的开发,这也导致之前的部分集成方式有变动。希望看完这篇博文对过渡到新版EasyDSS有所帮助。 EasyDSS新旧版本集成方法差别(匿名直播的使用): 对应EasyDSS,不管是配置EasyNVR还是自身使用其他方式推流,最终都是通过EasyDSS获取到分发流地址,然后将直播能力集成到自身系统中。 如果集成的方式是通过调用接口获取对应的能力,想要顺畅的过渡使用到新版本EasyDSS,只需要根据当前版本的接口文档,调整对应接口,功能还是一样的; 如果是通过原先版本的分享页面来集成直播功能,那么过渡到新版的EasyDSS就需要改变嵌入方式了: 首先:我们嵌入分享页面传递参数发生了变化; 其次:我们之前的推流直播功能被当前版本的 匿名直播 功能完美取代; 对于更改集成方式的开发者来说只是将原有的播放地址更换一下; 总体来说,原先版本EasyDSS的直播功能就是最新版本的匿名直播;在功能上是没有任何差别的

直播业务知识整理

半世苍凉 提交于 2020-02-26 14:51:21
直播相关 整理的一些直播业务下相关基础知识点。 参考链接 1采集 音频 麦克风是否可用 检测手机对某个音频采样率的支持 音频采集时设置正确的缓冲区大小 特殊场景如连麦进行回声消除 视频 摄像头是否可用 摄像头采集到的图像是横屏,需要进行旋转处理后进行展示 各种手机屏幕大小比例特殊处理 2处理 处理内容 将视频帧进行加工,然后一帧一帧的渲染到屏幕上。 美颜 水印 处理框架技术 GPUImage 基于 OpenGL ES 的一个强大的图像、视频处理框架,支持各种预定义以及自定义滤镜效果。 OpenGL Open Graphics Library 定义了一个跨编程语言、跨平台的编程接口的标准,是一个功能强大的,调用方便的底层图形库。 OpenGL ES OpenGL for Embedded Systems 是 OpenGL 的三维图形 API 的子集,针对手机,PDA 和游戏主机等嵌入式设备而设计。 3编解码 编码:将视频流,音频流等数据以特定的容器格式封装成文件 解码:将视频流、音频流字幕等合成的文件中(容器格式 FLV,TS)分解出视频,音频或者字幕,各自进行解码。 框架 FFMpeg 一个跨平台的开原视频框架,能实现视频编码,解码,转码,串流,播放等丰富的功能。支持的视频格式以及播放协议非常丰富,几乎包含了所有的音视频编解码、封装格式以及播放协议。 libxxx 视频编码技术