Nginx-RTMP功能调研

1. RTMP协议介绍...2

2.RTMP server.3

2.1当前的流媒体server.3

2.2Wowza功能...3

3.Nginx-based RTMP server.5

3.1  Nginx rtmp 功能点...5

3.2编译nginx rtmp模块...6

3.3配置以及功能介绍...6

3.4用nginx-rtmp-module搭建直播环境...8

3.5Nginx rtmp对于HLS支持...13

1. RTMP协议介绍

RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。

它有三种变种:

1)工作在TCP之上的明文协议,使用端口1935;

2)RTMPT封装在HTTP请求之中,可穿越防火墙;

3)RTMPS类似RTMPT,但使用的是HTTPS连接;

RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流。这些通道中的包都是按照固定大小的包传输的。

图1   RTMP交互图

更多协议的细节可以参见《rtmp specification 1.0》

2. RTMP server

2.1当前的流媒体server

现在主要有两种rtmp server,商业的和开源的。商业的比开源的支持的功能多,个人根据需要选择吧

商业的有FMS Wowza

开源RTMP server

1.  red5 java  有名

2.  crtmpserver c++ 支持多种rtmp协议,移动设备以及IPTV相关网络协议 http://www.rtmpd.com/ Erlyvideo erlong 有开源和商业版本 https//github.com/erlyvideo/erlyvideo h

3.  aXeVideo haXe 一个实验性的,轻量级的服务器 http://code.google.com/p/haxevideo/

4. FluorineFx .Net To be defined http://www/fluorinefx.com

5. nginx-rtmp c nginx模块 支持rtmp和HLS https://github.com/arut/nginx-rtmp-module

2.2 Wowza功能

FMS是Adobe公司的产品,license非常昂贵。下面就wowza这个商业软件讲下流媒体Server,不仅仅是RTMP Server,在达到生产环境所需要的功能。wowza最突出的特定是多终端适应性,这个在如今多媒体融合的网络环境下有很强的实用意义。究其原理并无深入研究。国内尚为视讯是其代理公司。

Wowza Media Server是一款高性能、多线程的流媒体服务器软件。专为多种终端设备提供音视频内容播放服务,支持iOS、windows、Android、BlackMerry等系统的终端设备,以HTTP、RTSP/ RTP、RTMP传输协议的流播放,还支持利用机顶盒进行播放的IPTV。

通过对Wowza Media Server的深度定制开发,尚为网络视听管理系统实现了对网络音视频内容的采集、编码、编辑、转码、审核、播出与监控等完整的生命周期管理,突出了以下能力:

1) 自动化内容收录

  对网络视频的录制,采用服务器端录制模式,满足从28Kbps到10Mbps码流范围的H.264编码流的自动化定时收录。

2) 快速在线编辑

云计算架构设计,服务器端处理。所有编辑任务都处在云端,对编辑机无要求,任务处理快捷简单。

  对视频的处理包括切条、合并、去除广告、添加logo等操作。

  支持同一素材多格式文件的一次性编辑处理,提高工作效率。

3) 云式转码

  采用云转码技术开发的音视频文件转码、实时流转码,实现了不同格式、码率、分辨率、帧数等参数的自由转换,满足不同终端的播放需求。

4) 多终端发布支持

  结合Wowza Media Server支持多协议多终端的特性,尚为网络视听系统一个平台即可支持多终端设备的视频访问,无论用任何设备都可访问所需的视频内容。

  在对多终端内容统一管理的基础之上,还可实现了多终端视频的断点续播功能。用户的播放在一个终端上播放暂停后,用户的信息、节目信息以及断点信息立刻传送给其它终端,实现了不同终端间的断点续播。

5) 稳定的安全保障

  全LINUX架构,保障系统的安全性。

  自动支持负载均衡部署,可满足大并发用户的数据响应处理。

扩展性好,可随需增减流媒体服务器来变更系统承载的并发用户数。

除此之外,个人认为完善的DRM版权管理对于视频直播分发是非常重要的功能,服务器状态实时监控是对运营的高效稳定也有非常最要的功能。

3. Nginx-basedRTMP server

3.1  Nginx rtmp 功能点

1.   支持音视频直播

2.   支持flv/mp4视频格式,输入可以是文件或者HTTP流

3.   支持两种流的分发模式 pushand pull

4.   可以将直播流录制成flv文件

5.   H264/AAC编码

6.   支持在线转码 Onlinetranscoding with FFmpeg

7.   支持HLS (HTTP LiveStreaming)需要 libavformat (>= 8. 53.31.100) from ffmpeg (ffmpeg.org)

8.   HTTPcallbacks (publish/play/record/update etc)

9.   支持外部程序(exec)

10.  HTTPcontrol module for recording audio/video and dropping clients

11.  先进内存控制技术,可以在使用少量内存的情况下完成流畅的直播功能。

12 . 可以和以下协同工作。FMS server(Wirecast, FMS, Wowza,)Player(JWPlayer, FlowPlayer, StrobeMediaPlayback,)外部程序(ffmpeg,avconv,rtmpdump,flvstreamer )

13. Statistics in XML/XSL in machine- & human- readable form

14.  支持跨平台 Linux/FreeBSD/MacOS

项目地址

https://github.com/arut/nginx-rtmp-module

nginx-rtmp-module Directives

https://github.com/arut/nginx-rtmp-module/wiki/Directives

总的来说Nginx-RTMP是个比较轻量的项目,可以满足直播的采集,编码和分发工作,该项目丰富的完善了nginx对视频的支持,特别的nginx-rtmp实现了对HLS的支持。

3.2 编译nginx rtmp模块

编译安装,和其他nginx模块一样

./configure--add-module=/path/to/nginx-rtmp-module

对于HLS的支持,需要额外的一个模块 .

./configure--add-module=/path/to/nginx-rtmp-module--add-module=/path/to/nginx-rtmp-module/hls

3.3 配置以及功能介绍

RTMP 直播的一般格式是rtmp://youdomain.com/app/name,其中app的名字对于application的名字,

1.      下列是直播的配置,app是live。

application live {
 
    live on;
}


2.    配置支持访问控制,你可以指定允许发布的IP以及允许收看的IP:

application live {
 
    live on;
 
    allow publish 127.0.0.1;
    deny publish all;
    allow play all;

3.   支持Multi-worker streaming工作方式,需要指令rtmp_auto_push on支持,这样nginx有多个worker的情况下,可以将流分发到多个进程进行处理,充分利用服务器资源。

rtmp_auto_push on;
 
rtmp {
 
    server {
 
        listen 1935;
 
        chunk_size 4000;
 
        # TV mode: one publisher, many subscribers
        application mytv {
            live on;
        }
    }
}

4. 流转码的功能,下面的例子使用了exec这种使用外部程序ffmpeg的功能.  Ffmpeg是一个强大的媒体处理工具,几乎可以做任意有关video/audio的处理。更多ffmpeg与RTMP流媒体连接用法可以参考以下链接。

http://www.chinavideo.org/viewthread.php?tid=15423

# Transcoding (ffmpeg needed)
application big {
            live on;
            # Multiple exec lines can be specified.
            exec /usr/bin/ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 32x32 -f flv rtmp://localhost:1935/small/${name};
}
application small {
            live on;
            # Video with reduced resolution comes here from ffmpeg
}
 

5.Push和pull模式,用在多个server协助的情况下,输出流可以push,输入流可以pull。

 
        application mypush {
            live on;
 
            # Every stream published here
            # is automatically pushed to 
            # these two machines
            push rtmp1.example.com;
            push rtmp2.example.com:1934;

        }
 
        application mypull {
            live on;
 
            # Pull all streams from remote machine
            # and play locally
            pull rtmp://rtmp3.example.com pageUrl=www.example.com/index.html;
        }
 

3.4 用nginx-rtmp-module搭建直播环境

1.      需要准备视频源,这个可以使用ffmpeg模拟,或者通过FMS采集。使用ffmpeg比较方便,例如ffmpeg -re -i /root/test123.flv -f flv rtmp://192.168.100.135/myapp/test,这样一条命令就可以发布一个直播源。

2.      配置nginx-rtmp,完成相关功能配置,可以参考以上描述。

3.      搭建客户端测试环境,本文测试播放器使用的是jwplayer

https://github.com/arut/nginx-rtmp-module项目里面test目录下有相关的播放器设置和配置文件。

配置文件

[html]  view plain  copy
  1. worker_processes  1;
  2. error_log  logs/error.log debug;
  3. #error_log  logs/error.log  notice;
  4. #error_log  logs/error.log  info;
  5. #pid        logs/nginx.pid;
  6. events {
  7. worker_connections  1024;
  8. }
  9. rtmp {
  10. server {
  11. listen 1935;
  12. chunk_size 128;
  13. publish_time_fix off;
  14. application myapp {
  15. live on;
  16. record keyframes;
  17. record_path /tmp;
  18. record_max_size 128K;
  19. record_interval 30s;
  20. record_suffix .flv;
  21. on_publish http://localhost:8080/publish;
  22. on_play http://localhost:8080/play;
  23. on_record_done http://localhost:8080/record_done;
  24. }
  25. application myapp2 {
  26. live on;
  27. }
  28. #        application mypull {
  29. #            live on;
  30. #            pull myapp mystream localhost;
  31. #        }
  32. #        application mypush {
  33. #            live on;
  34. #            push myapp mystream localhost;
  35. #            push myapp2 mystream localhost;
  36. #        }
  37. }
  38. }
  39. http {
  40. server {
  41. listen      8080;
  42. location /publish {
  43. return 201;
  44. }
  45. location /play {
  46. return 202;
  47. }
  48. location /record_done {
  49. return 203;
  50. }
  51. location /stat {
  52. rtmp_stat all;
  53. rtmp_stat_stylesheet stat.xsl;
  54. }
  55. location /stat.xsl {
  56. root /home/rarutyunyan/nginx-rtmp-module/;
  57. }
  58. location /rtmp-publisher {
  59. root /home/rarutyunyan/nginx-rtmp-module/test;
  60. }
  61. location / {
  62. root /home/rarutyunyan/nginx-rtmp-module/test/www;
  63. }
  64. }
  65. }

测试用例:

/home/rarutyunyan/nginx-rtmp-module/test/rtmp-publisher

/home/rarutyunyan/nginx-rtmp-module/test/www

测试URL:

http://192.168.100.135:8080/index.html

http://192.168.100.135:8080/rtmp-publisher/player.html

效果:

支持的配置指令有很多,没有一一研究。参见:

https://github.com/arut/nginx-rtmp-module/wiki/Directives

max_streams

syntax: max_streams value
context: rtmp, server

Setsmaximum number of RTMP streams. Data streams are multiplexed into a single datastream. Different channels are used for sending commands, audio, video etc.Default value is 32 which is usually ok for many cases.

exec

Syntax: exec command arg*
Context: rtmp, server, application

Specifiesexternal command with arguments to be executed on every stream published. Whenpublishing stops the process is terminated. Full path to binary should bespecified as the first argument. There are no assumptions about what thisprocess should do. However this feature is useful with ffmpeg for streamtranscoding. FFmpeg is supposed to connect to nginx-rtmp as a client and outputtranscoded stream back to nginx-rtmp as publisher. Substitutions of form$var/${var} can be used within command line:

·        $name - stream name

·        $app - application name

·        $addr - client address

·        $flashver - client flashversion

·        $swfurl - client swf url

·        $tcurl - client tc url

·        $pageurl - client page url

Thefollowing ffmpeg call transcodes incoming stream to HLS-ready stream(H264/AAC). FFmpeg should be compiled with libx264 & libfaac support forthis example to work.

3.5 Nginx rtmp对于HLS支持

HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。

HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。

此协议详细内容请参考apple官方网站:https://developer.apple.com/resources/http-streaming/

搭建HLS server方式有以下三种:

1.      利用apple SDK,

2.      利用adobe 的fms,4.5版本支持hls,可以参考,

http://www.adobe.com/products/flash-media-streaming/features._sl_id-contentfilter_sl_featuredisplaytypes_sl_new.html

利用其他商业软件也可以比如wowza。

3.    一种是利用opensouce.Nginx-rtmp。

下面主要是Nginx-RTMP对HLS直播的支持。

HTTP Live Streaming (HLS)is an HTTP-based media streaming communications protocol implemented by AppleInc.
If you are interested in any of the following:

·        Streaming audio or video toiPhone, iPod touch, iPad, or Apple TV

·        Streaming live events withoutspecial server software

·        Sending video on demand withencryption and authentication

图5 HLS(HTTP Live Streaming)

使用nginx-rtmp完成hls支持,需要额外的segmenter支持,该工具可以将文件分割成 ts小文件并且产生m3u8列表。项目地址:https://github.com/johnf/m3u8-segmenter。

下载编译只需要编译m3u8-segmenter.c即可,需要libc2.5以上支持。l

流化可以支持以下两种。第一种尚未找到具体方法,下面的实例是采用第二种基于文件的。

Stream Segmenter

Stream Segmenter reads live broadcast from network(normally udpprotocol) and publish HTTP Live Streaming into the internet. It reads theTransport Stream from the network and divides it into a series of small mediafiles of equal duration. Even though each segment is in a separate file, videofiles are made from a continuous stream which can be reconstructed seamlessly.

The segmenter also creates an index file containing references tothe individual media files. Each time the segmenter completes a new media file,the index file is updated. The index is used to track the availability andlocation of the media files. 
Media segments are saved as .ts files (MPEG-2 transport stream files). Indexfiles are saved as .M3U8 playlists.

File Segmenter

File Segmenter allows you to use a library of existing audio andvideo files for sending video on demand via HTTP Live Streaming. The FileSegmenter performs the same tasks as the Stream Segmenter, but it takes filesas input instead of streams.

Our File Segmenter supports MP4,TS, MOV, FLV and some otherfile formats. If you already have a media file encoded using supportedcodecs(H.264 + AAC or H.264 + MP3), you needn't to re-encode it, otherwise, youneed to re-encode the video or audio. The File Segmenter has two work mode:re-encode and no-re-encode.

1.      使用ffmpeg + segmenter:首先转化成ts文件,然后分割

ffmpeg -loglevel quiet  -i cctv1.ts -f mpegts - | segmenter -i - -d 10 -p /tmp/app/big_buck_bunny -m/tmp/app/big_buck.m3u8 -u http://inodes.org/hls/

2.       高版本的ffmpeg可以直接转化

参考链接:http://1.richitec.sinaapp.com/?p=64

ffmpeg -i test456.mp4 -f  segment -segment_time 10  -segment_format mpegts -segment_listlist_file.m3u8 -codec copy -bsf:v h264_mp4toannexb -map 0 output_file-%d.ts

HLS相关配置如下

[html]  view plain  copy
  1. application hls {
  2. hls on;
  3. hls_path /tmp/app;
  4. hls_fragment 10s;
  5. }
  6. location /hls {
  7. # Serve HLS fragments
  8. alias /tmp/app;
  9. }

使用vlc测试。

测试成功。

  • cbo365

    2016-03-19 12:00#3楼

    回复
  • 叁陆伍视讯公司研发了支持RTMP协议的网络摄像机,摄像机可以直接推流到流媒体服务器
  • wjs57y

    2014-10-24 15:41#2楼

    回复
  • 现在新版的支持HLS不需要再额外添加一个模块
  • wjs57y

    2014-10-22 18:47#1楼

    回复
  • HLS的点播功能,普通的nginx服务器就支持了

利用nginx搭建RTMP视频点播、直播、HLS服务器

  • kingroc
  • 2016年03月09日 23:48
  • 32715
开发环境 Ubuntu 14.04 server nginx-1.8.1 nginx-rtmp-module nginx的服务器的搭建安装nginx的依赖库sudo apt-get update su...

使用nginx与nginx-rtmp-module搭建流媒体服务器

本次搭建流媒体使用的环境是centos 7.0+nginx; 让我们一起开始奇妙的流媒体之旅吧! 1、下载nginx-rtmp-module: nginx-r...
  • luyaran
  • 2016年12月28日 15:22
  • 7983

你知道AI人工智能工程师有多缺乏吗?

21世纪什么最贵? 人才啊...........

nginx+rtmp直播流服务器搭建

  • qq_35644234
  • 2017年07月12日 17:12
  • 1706
nginx的服务器的搭建必要文件的下载连接 nginx-1.8.1 nginx-rtmp-module安装nginx的依赖库sudo apt-get update sudo apt-get ins...

使用nginx与nginx-rtmp-module搭建流媒体服务器

转载自my student 克明zhang 现在,一起学习一下如何自己搭建一个流媒体服务器吧! 本次搭建流媒体使用的环境是centos 7.0+nginx; 让我们一...
  • Zph1234
  • 2016年10月18日 09:50
  • 10600

Linux nginx+rtmp服务器配置

  • itheimach
  • 2017年02月12日 21:53
  • 1311
nginx服务器nginx服务器是开源的高性能的http服务器,反向代理服务器,是俄罗斯的大佬开发的,在国内许多公司应用比较多,具体看百科!反向代理服务器:代理服务器接收internet请求,然后改代...

使用Nginx搭建rtmp流媒体服务器笔记

  • sonbai
  • 2017年05月20日 11:52
  • 2872
平台软硬件环境:PC,ubunut 16.04主要是做个记录,方便日后查询。主要是参考这篇博客:http://www.jianshu.com/p/f0bf83ca3ea3碰到的第一个问题:error:...

nginx-rtmp-module搭建带推流验证的RTMP+HLS直播服务器

目前来说,我们可以用到的rtmp服务器有以下几种 1.开源类型:red5,crtmpserver,erlyvideo,haXevideo,FluorineFX,simple rtmp server(...
  • cs729298
  • 2017年04月10日 14:14
  • 2857

从零搭建直播聊天平台(二.nginx-rtmp)

  • wei389083222
  • 2017年11月16日 14:50
  • 785
从零搭建直播聊天平台(二.nginx-rtmp)上篇用到了obs来推视频流数据到nginx服务器,现在是时候来说一下搭建nginx-rtmp服务了nginx安装 下载nginx-1.12.2.tar....

视频直播点播nginx-rtmp开发手册中文版

  • weiyuefei
  • 2017年06月30日 15:26
  • 1060
2016年8月18日12:42:35 参照官方文档https://github.com/arut/nginx-rtmp-module/wiki/Directives 请注意这个是粗翻译版,仅供参考,...

视频直播点播nginx-rtmp开发手册中文版

  • kevinw9
  • 2016年10月31日 18:32
  • 4220
转自:http://www.cnblogs.com/zx-admin/p/5783523.html 2016年8月18日12:42:35 参照官方文档https://github.com/a...

[转]Nginx RTMP 功能研究(Nginx流媒体)

  • heiyeshuwu
  • 2016年07月03日 21:23
  • 5015
RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。本文讲解Nginx...

nginx安装以及Nginx中集成nginx-rtmp-module

1.     Nginx需要的三大组件。 实践成功的有如下面的列表: nginx-1.10.1.tar.gz openssl-OpenSSL_1_0_1i.tar pcre-8.38.tar ...
  • u012418131
  • 2016年10月16日 07:22
  • 2405

windows下搭建ffmpeg+nginx+rtmp-module搭建实时视频环境

下载ffmpeg的Windows静态版; 下载nginx-rtmp-windows版:https://github.com/illuspas/nginx-rtmp-win32解压启动nginx 启动f...
  • a787188834
  • 2017年03月05日 22:15
  • 2556

Nginx RTMP 模块 nginx-rtmp-module 指令详解

译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解。 指令 Core rtmp 语法:rtmp { ... } 上下文:根 ...
  • defonds
  • 2013年07月08日 18:26
  • 79456

Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)

转载于:http://blog.csdn.net/jiangwei0910410003/article/details/51996940 一、前言 前面介绍了Android中视频直播中的一...
  • sd19871122
  • 2016年07月25日 11:11
  • 1103

Nginx搭建rtmp流媒体服务器

  • kl222
  • 2013年10月20日 18:00
  • 60572
Nginx搭建rtmp流媒体服务器 康 林(2013年10月20日星期日)   1       功能:... 1 2       代码下载:... 1 3       编译:... 2 3.1    ...

nginx-rtmp源码概述

  • wu5215080
  • 2017年05月19日 11:38
  • 1359
github:https://github.com/arut/nginx-rtmp-module/wiki /* 点播相关*/ ngx_rtmp_dash_module ngx_rt...

基于nginx的hls直播系统

  • cjsafty
  • 2013年06月22日 20:04
  • 48949
之前写了一篇基于nginx的hls点播系统,本质上是把一个媒体文件做成m3u8索引,对应的文件都是提前做好放在服务器上的。 nginx充当的是个Http 服务器的角色,之所以说是基于nginx的,是...

搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)

一、方案简要 首先通过对开发方案的仔细研究(实时监控、流媒体、直播流方案的数据源-->协议转换-->服务器-->前端播放的简单介绍:http://blog.csdn.net/eguid_1/artic...
  • eguid_1
  • 2016年06月24日 09:44
  • 16990

Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)

一、前言前面介绍了Android中视频直播中的一个重要类ByteBuffer,不了解的同学可以 点击查看 到这里开始,我们开始动手开发了,因为我们后续肯定是需要直播视频功能,然后把视频推流到服务端,本...
  • jiangwei0910410003
  • 2016年07月25日 08:55
  • 11242

Nginx RTMP 流媒体直播

  • jazywoo123
  • 2015年09月01日 10:30
  • 1250
1. RTMP协议介绍        RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数...

nginx rtmp 服务器编译好

  • 2014年12月02日 21:47
  • 1.05MB
  • 下载

srs之与nginx-rtmp性能对比

  • linux_vae
  • 2017年09月05日 13:57
  • 550
SRS(Simple Rtmp Server)单进程能支持9000并发,nginx-rtmp单进程最多支持3000个,单进程的性能SRS(Simple Rtmp Server)是nginx-rtmp的...

Nginx RTMP 模块 nginx-rtmp-module 指令详解

Directives Core rtmp syntax: rtmp { ... } context: root The block which holds all RTMP settings...
  • crazyman2010
  • 2013年09月05日 19:55
  • 10374

nginx中rtmp协议的配置

  • lqglqglqg
  • 2014年12月12日 10:56
  • 1018
http://blog.csdn.net/defonds/article/details/9274479/ 译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 ng...

nginx rtmp 环境搭建

  • u012618915
  • 2017年06月05日 11:05
  • 176
环境:cetos 6.5 安装包目录 nginx 包下载地址: http://nginx.org/en/download.html nginx rtmp module 包下载地址: htt...

nginx-rtmp

  • htjx99
  • 2014年11月14日 12:16
  • 985
很好奇nginx如何处理异步请求,我看nginx-rtmp在处理异步时状态也还行,所以调试下看看。 纯异步做rtmp协议,真是非常复杂,特别是需要做回源。无数的回调和处理逻辑。NGINX-RTMP几...

nginx配置rtmp流媒体服务器

  • occupy8
  • 2015年01月17日 21:35
  • 1527
转自:http://www.cnblogs.com/wainiwann/p/3866254.html 感谢作者没有让我下午浪费时间,成功搭建起rtmp环境。 前提: 在linux下某...

nginx搭建rtmp协议流媒体服务器总结

  • lishenglong666
  • 2016年07月13日 14:06
  • 967
最近在 ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。 大部分都是参考网络上的资料。 前提: 在linux下某个目录中新建一个nginx目录。 然后进入该目录去下载...

使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)

第一部分 主要步骤及命令记录: 1、下载nginx,地址http://nginx.org/en/download.html,选择最新版本下载、解压。当前最新版为:nginx-1.7.9。 2、为...
  • xdwyyan
  • 2015年01月27日 19:33
  • 16965

nginx+rtmp实现视频直播

  • shuanger_
  • 2015年09月21日 17:06
  • 15277
Nginx搭建rtmp流媒体服务器 康 林(2013年10月20日星期日)   1       功能:... 1 2       代码下载:... 1 3       编...

nginx + rtmp 搭建流媒体服务器

  • u011244446
  • 2015年07月19日 18:08
  • 11649
Nginx RTMP 功能研究 分类: 视频 流媒体 nginx2012-12-26 18:09 31125人阅读 评论(2) 收藏 举报 目录(?)[+] ...

在Linux上搭建nginx rtmp流媒体服务器

  • PZ0605
  • 2018年03月10日 08:40
  • 53
1.先下载安装 nginx 和 nginx-rtmp 编译依赖工具 sudo apt-get install build-essential libpcre3 libpcre3-dev libssl...

实时监控、直播流、流媒体、视频网站开发方案设计简要

一、本地推送端 1、本地:采用javaCV(安卓和java平台推荐javaCV)、ffmpeg、openCV或者jmf可以很方便的获取到本地摄像头流媒体 j...
  • myKurt
  • 2018年01月30日 10:37
  • 327

ngnix+rtmpModule+ffmpeg实现直播流媒体服务器,并于java后台关联

1、ngnix+rtmpModule+ffmpeg安装配置 1.1、安装环境 CentOS6.5 ngnix1.12.2 下载地址:http://nginx.org/en/download...
  • liu13816947142
  • 2018年01月26日 14:37
  • 60

NGINX-RTMP复杂度分析

  • ai2000ai
  • 2017年02月23日 17:46
  • 687
很好奇nginx如何处理异步请求,我看nginx-rtmp在处理异步时状态也还行,所以调试下看看。 纯异步做rtmp协议,真是非常复杂,特别是需要做回源。无数的回调和处理逻辑。NGINX-RTMP几个...

windows下搭建ffmpeg+nginx+rtmp-module搭建实时视频环境

最近我们公司的技术总监,让我研究个东西,说实话我是刚接触这个视频直播,没有什么概念,领导给我三个文章链接,看了一下说的不是很详细,一头雾水,实在令人莫不着头脑,抓狂,当然抓狂归抓狂,但是人物总还是要做...
  • tang159263
  • 2017年03月06日 16:28
  • 1443

nginx_rtmp_module初体验

  • sxc1989
  • 2017年02月11日 11:55
  • 395
nginx_rtmp_module初体验

基于nginx-rtmp-module的推拉流测试

  • YongYu_IT
  • 2017年05月11日 15:18
  • 1042
1、安装nginx服务器 (参考http://nginx.org/en/docs/) sudo apt-get install nginx 或者从源码安装 wget https://www.open...

使用Nginx-rtmp-module搭建hls直播

  • tao_627
  • 2014年03月27日 10:29
  • 30044
HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分...

基于nginx-rtmp-module模块实现的基于HTTP协议的FLV直播模块(nginx-http-flv-module)

近几年直播行业火爆,开源的直播软件解决方案有SRS(Simple-RTMP-Server)和nginx-rtmp-module,前者是国人发起的一个优秀的开源项目,目前国内很多公司都使用...
  • winshining
  • 2018年02月07日 22:23
  • 5680

windows10 vs2015编译 带nginx-rtmp-module 模块的32位nginx

1 下载必要软件   从 http://xhmikosr.1f0.de/tools/msys/ 下载msys:http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-...
  • longji
  • 2016年08月30日 15:21
  • 2282

nginx-rtmp-module 指令详解

  • aoshilang2249
  • 2016年05月23日 18:33
  • 1566
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解。 指令 Core rtmp 语法:rtmp { ... } 上下文:根 ...

ubuntu14.04 nginx-rtmp-module 配置

  • longji
  • 2017年02月04日 19:22
  • 1514
00 ubuntu14.04 ecs 配置nginx-rtmp-module参考:http://www.cnblogs.com/cocoajin/p/4353767.html01 安装 nginx ...

mac+nginx+rtmp填坑 make[1]: *** [objs/addon/rtmp-nginx-module/ngx_rtmp_core_module.o] Error 1

最近在做直播,想在自己电脑上搭建nginx+rtmp服务,按照网上教程一步步操作,总是报错(再次吐槽一下网上千篇一律的博客,流程完全一样,只有成功没有失败)。 下边是报错信息 $ brew inst...
  • yxx_515
  • 2017年04月19日 16:53
  • 861

nginx源码 rtmp-module 源码 及编译方法

  • 2014年10月10日 13:37
  • 38.46MB
  • 下载

nginx的nginx-rtmp-module应用

  • cheng448208985
  • 2017年02月18日 15:53
  • 416
1、下载nginx: nginx的官方网站为:http://nginx.org/en/download.html 解压: tar xvf nginx-1.10.3.tar.gz 2、安装ngi...

nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒...
  • redstarofsleep
  • 2015年04月17日 09:03
  • 25689

rtmp直播nginx配置文件

  • 2016年09月13日 17:02
  • 886B
  • 下载

Nginx下配置rtmp安装 以及一些配置

  • zhuguorong11
  • 2016年08月09日 09:56
  • 1190
安装g++ 终于配成功了,在安装编译Nginx的时候就需要增加nginx-rmtp-module模块,执行./configure --add-module=./nginx-rmtp-module(即...

Nginx-RTMP功能调研相关推荐

  1. Nginx RTMP 功能研究

    Nginx-RTMP功能调研 1. RTMP协议介绍...2 2.RTMP server.3 2.1当前的流媒体server.3 2.2Wowza功能...3 3.Nginx-based RTMP s ...

  2. [转]Nginx RTMP 功能研究(Nginx流媒体)

    转自:http://blog.csdn.net/cccallen/article/details/8440191 看点: 1.    Nginx 配置信息与使用.  (支持 rtmp与HLS配置) 2 ...

  3. nginx rtmp 编码_基于Nginx的媒体服务器技术

    国内应用比较多的开源流媒体服务器nginx-rtmp-module一直存在功能少.集群化难度大等问题.在LiveVideoStack线上分享中,PingOS 开源项目组开发工程师.UCloud RTC ...

  4. ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

    ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制 2014年 四月 19日 周六 | tags: ffmpeg, rtmp, rtmpdump, nginx, -- (perm ...

  5. 服务器搭建和使用 ubuntu_Ubuntu中使用Nginx+rtmp搭建流媒体直播服务

    一.背景 本篇文章是继上一篇文章<Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务>文章而写,在上一篇文章中我们搭建了一个点播服务器,在此基础上我们再搭建一个直播服务器, ...

  6. nginx RTMP FFmpeg 视频直播

    /***************************************************************************** nginx RTMP FFmpeg 视频直 ...

  7. ffmpeg推流+NGINX(RTMP)+VLC-QT拉流(Win7)

    1 简介 本文旨在在Windows 7系统上实现利用FFmpeg软件推流到部署的带RTMP模块的Nginx流媒体服务器上,在拉流端,基于VLC库的VLC-QT库实现拉流播放. 2 ffmpeg下载安装 ...

  8. Android实现录屏直播(二)需求才是硬道理之产品功能调研

    请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/54254244 Android实现录 ...

  9. linux 搭建nginx + rtmp服务器

    linux 搭建nginx + rtmp服务器 一  环境准备 虚拟机ubuntu 装备,安装一些nginx 必要的依赖和服务 sudo apt-get install libpcre3 libpcr ...

最新文章

  1. 《科学》封面特别报道:人类登月50年
  2. python爬虫自学网站_Python爬虫3步曲:5分钟学习用Python解析网页
  3. 互联网到了什么程度?
  4. 用计算机控制人造卫星和导弹的发射属于,2008年6月全国高校计算机等级考试(广西考区)一级笔试试题卷...
  5. 把c++语言转换为go的工具_V,新编程语言来袭!与Go类似,跟C一样快
  6. 手把手教你做数据产品经理
  7. 凌乱的yyy(洛谷-P1803)
  8. linux: 命令行运行php Run PHP from the command line
  9. android定义dialog
  10. 苹果本周四将发布 OS X Yosemite 公开测试版
  11. 易宝典——玩转O365中的EXO服务 之四十二 导出就地电子数据展示搜索结果
  12. 操作数据库为什么需要进行事务控制
  13. 14.13. wireless
  14. Whiteboard for mac(mac画图软件)
  15. Cisco ACS 5.8 Radius认证服务器安装教程
  16. strut2框架搭建
  17. 误删c盘user文件夹后,如何恢复文件
  18. 关于前后台数据的提交方式
  19. 3dsmax烘焙模型
  20. 【Vue】实现滑动和闪现轮播图(转)

热门文章

  1. Docker常用命令(启动、镜像相关、容器相关、文件拷贝、目录挂载、查看容器IP地址、Docker备份与恢复)
  2. 如何使用NodeJS发送邮件
  3. 大数据和人工智能的关系,超全解析 1
  4. 将服务器的EDT(美国时间)或者EST(英国时间)修改为CST(中国时间)
  5. 云巡店php源码,云巡店™〡PC端后台管理员设置 讲解视频(下)
  6. 全产业链核心升级 集聚创新大展宏图——慕尼黑华南电子展回顾
  7. Customers带出功能JS
  8. excel合并sheet表格
  9. java语言之面向对象
  10. Scrum敏捷开发实践之有道云笔记