1. 安装nginx
下载 nginx 1.7.11.3 Gryphon
下载链接:http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip
解压到 D:\ffmpgtest\nginx目录
2. 下载 nginx-rtmp-module
下载链接:https://github.com/arut/nginx-rtmp-module/
解压后到nginx目录下
配置文件 conf\nginx-win.conf 内容如下:
#user nobody; # multiple workers works ! worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 8192; # max value 32768, nginx recycling connections+registry optimization = # this.value * 20 = max concurrent connections currently tested with one worker # C1000K should be possible depending there is enough ram/cpu power # multi_accept on; } rtmp { server { listen 1935; chunk_size 4000; application live { live on; # record first 1K of stream record all; record_path /tmp/av; record_max_size 1K; # append current timestamp to each flv record_unique on; # publish only from localhost allow publish 127.0.0.1; deny publish all; #allow play all; } } } http { #include /nginx/conf/naxsi_core.rules; include mime.types; default_type application/octet-stream; #log_format main '$remote_addr:$remote_port - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; # # loadbalancing PHP # upstream myLoadBalancer { # server 127.0.0.1:9001 weight=1 fail_timeout=5; # server 127.0.0.1:9002 weight=1 fail_timeout=5; # server 127.0.0.1:9003 weight=1 fail_timeout=5; # server 127.0.0.1:9004 weight=1 fail_timeout=5; # server 127.0.0.1:9005 weight=1 fail_timeout=5; # server 127.0.0.1:9006 weight=1 fail_timeout=5; # server 127.0.0.1:9007 weight=1 fail_timeout=5; # server 127.0.0.1:9008 weight=1 fail_timeout=5; # server 127.0.0.1:9009 weight=1 fail_timeout=5; # server 127.0.0.1:9010 weight=1 fail_timeout=5; # least_conn; # } sendfile off; #tcp_nopush on; server_names_hash_bucket_size 128; ## Start: Timeouts ## client_body_timeout 10; client_header_timeout 10; keepalive_timeout 30; send_timeout 10; keepalive_requests 10; ## End: Timeouts ## #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; ## Caching Static Files, put before first location #location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { # expires 14d; # add_header Vary Accept-Encoding; #} # For Naxsi remove the single # line for learn mode, or the ## lines for full WAF mode location / { #include /nginx/conf/mysite.rules; # see also http block naxsi include line ##SecRulesEnabled; ##DeniedUrl "/RequestDenied"; ##CheckRule "$SQL >= 8" BLOCK; ##CheckRule "$RFI >= 8" BLOCK; ##CheckRule "$TRAVERSAL >= 4" BLOCK; ##CheckRule "$XSS >= 8" BLOCK; root html; index index.html index.htm; } location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root nginx-rtmp-module/; } location /control { rtmp_control all; } # For Naxsi remove the ## lines for full WAF mode, redirect location block used by naxsi ##location /RequestDenied { ## return 412; ##} ## Lua examples ! # location /robots.txt { # rewrite_by_lua ' # if ngx.var.http_host ~= "localhost" then # return ngx.exec("/robots_disallow.txt"); # end # '; # } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # single backend process # fastcgi_pass myLoadBalancer; # or multiple, see example above # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl spdy; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_prefer_server_ciphers On; # ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:ECDH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!eNULL:!MD5:!DSS:!EXP:!ADH:!LOW:!MEDIUM; # location / { # root html; # index index.html index.htm; # } #} }
启动nginx服务器
在nginx目录启动服务
启动命令
nginx.exe -c conf\nginx-win.conf
3.下载ffmpeg
下载链接:https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20161230-6993bb4-win64-static.zip
解压到任意目录下,我自己放在了d盘的ffmpegtest目录下。
配置环境变量
好了,可以推送一个流了。
ffmpeg.exe -re -i D:\WHYQ.mp4 -f flv -c copy -flvflags no_duration_filesize rtmp://localhost:1935/live/test复制代码
正在推送
推送完毕,VLC播放器先试一下。
推送,拉取都可以。
后面讲如何在o2的页面上嵌入流媒体播放器。
(转自公众号:浙江兰德网络)
相关推荐
windows上架设流媒体服务器,nginx+rtmp+obs推流+vlc拉流解决方案。 Nginx是一款轻量级的Web 服务器/反向代理服务器,nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, obs推送一个rtmp...
Nginx-rtmp流媒体服务器搭建+ffmpeg推流.pdf 本文将对Nginx-rtmp流媒体服务器的搭建和ffmpeg推流进行详细的讲解,从操作系统的选择到Nginx的编译安装,最后到配置Nginx服务和ffmpeg推流的配置。 一、操作系统的...
根据提供的文档信息,本文将详细阐述如何使用FFmpeg和Red5搭建一个RTMP流媒体服务器,以及相关的配置和测试步骤。 首先,了解RTMP(Real Time Messaging Protocol)是一种网络协议,它被广泛用于在线直播和流媒体...
inux平台下使用nginx与nginx-rtmp-module搭建RTMP+HLS流媒体服务器的详细操作步骤在文章(http://blog.csdn.net/liuchen1206/article/details/77771703)中有作介绍,现将资源整合成自动编译部署脚本,节约时间。...
在Windows环境下,使用nginx-rtmp搭建流媒体服务器是一项常见的技术实践,这使得用户可以通过网络实时传输音视频流。nginx-rtmp是一个基于Nginx的模块,它扩展了Nginx的功能,使其能够处理RTMP(Real-Time Messaging...
Nginx-RTMP流媒体服务器是基于Nginx的一个扩展模块,用于处理实时传输协议(RTMP)的流媒体内容。它为广播者提供了一个高效且可扩展的平台来分发视频和音频流,广泛应用于在线直播、视频会议、远程教育等场景。OBS...
**Nginx是一款广泛应用的高性能Web服务器和反向代理服务器,同时也支持RTMP协议,使得它成为搭建流媒体服务器的理想选择。在Linux环境下,我们可以通过以下步骤使用Nginx 1.6.3版本来搭建RTMP协议的流媒体服务器。**...
搭建ffmpeg+nginx+yasm流媒体服务器低延迟 一、流媒体服务器概念 流媒体服务器是指能够实时地传输和处理视频流的服务器,通常用于直播、监控、在线视频等应用场景中。搭建流媒体服务器需要选择合适的软件和硬件...
总结一下,"rtmp+nginx实现rtmp直播"主要是利用Nginx的RTMP模块搭建一个流媒体服务器,接收并分发RTMP流。同时,通过librtmp库在客户端封装推流逻辑,将视频数据推送到Nginx服务器。这种方式适用于访问量不是特别大...
《构建实时流媒体服务器:Nginx+RTMP+FFmpeg+VLC全面解析》 在数字媒体领域,实时流媒体技术已经变得至关重要,尤其在在线直播、视频会议和远程教育等方面。本教程将深入探讨如何利用Nginx、RTMP模块、FFmpeg和VLC...
压缩包里包含了: Linux下通Nginx搭建RTMP流媒体服务器需要的一系列源码包。 搭建方法可以参考博文: https://blog.csdn.net/xiaolong1126626497/article/details/105378894
搭建RTMP流媒体服务器是构建在线视频直播或点播系统的关键步骤。RTMP(Real-Time Messaging Protocol)协议常用于实时音视频数据传输,而Nginx是一个高性能的HTTP和反向代理服务器,同时也支持RTMP协议。在这个场景...
流媒体服务器搭建及其转码 流媒体服务器搭建是指将摄像头的视频流传输到前端页面进行展示的过程。流媒体服务器的搭建需要经过三个步骤:获取海康摄像头的视频流、流媒体服务器搭建、前端页面选用合适的播放器进行...
本文将详细介绍如何在Windows环境下搭建支持RTMP和HLS协议的推流服务器,以及如何使用OBS作为推流客户端,VLC作为拉流客户端进行验证。 首先,我们要搭建RTMP推流服务器。RTMP(Real-Time Messaging Protocol)是一...
本文旨在提供一套完整的Linux环境下Nginx、RTMP和FFmpeg的安装及配置指南,帮助读者快速搭建功能强大的流媒体服务器。文章不仅涵盖了基本概念介绍,还深入解析了各组件的具体安装步骤和配置方法。此外,还将介绍如何...
### 使用Nginx与Nginx-rtmp-module搭建流媒体服务器 #### 一、概述 随着互联网技术的发展,实时视频传输的需求日益增加。对于希望搭建流媒体服务器的应用场景而言,Nginx 和 Nginx-rtmp-module 成为了一个非常高效...
在IT行业中,实时流媒体传输已经成为内容创作者和企业传播信息的重要方式。RTMP(Real-Time Messaging Protocol)是一种常用于视频直播推流的技术,它允许用户将视频内容实时传输到服务器,然后分发给观众。本教程将...
在本资源“rtmp+nginx推流.7z”中,包含的是Windows环境下利用Nginx搭建RTMP服务器的相关配置和指导,使得用户能够将本地的视频文件通过FFmpeg转化为RTMP网络视频流,并在VLC等播放器上进行播放。 Nginx是一款高...
FFmpeg、nginx、rtmp三者结合可以实现一个强大且高效的流媒体服务器,下面是它们的详细介绍和搭建过程。 FFmpeg FFmpeg是一款功能强大的开源命令行工具,能够处理视频和音频文件。它可以用于视频和音频的编解码、...