win10下搭建rtmp推流服务器

Acacia ·
更新时间:2024-11-10
· 864 次阅读

(相关文件我会整合,评论邮箱我发)

**1.**载 nginx 1.7.11.3 Gryphon

** **http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip

下载完成后解压, 将解压后的目录命名为nginx_1.7.11.3_Gryphon

图片

2.下载nginx-rtmp-module,解压到下图对应路径(记得改名)

下载地址https://github.com/arut/nginx-rtmp-module/

图片

**3.****配置文件 conf\nginx-win-rtmp.conf **

内容如下:新建.txt,copy,rename就可以了,然后放到指定文件夹(代码后图片)

#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; } } } 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; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root nginx-rtmp-module/; } location /control { rtmp_control all; } #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; } # 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; # } #} }

图片

4.管理员身份运行cmd,然后看看下图流程,最后回车

d: nginx_1.7.11.3_Gryphon nginx.exe -c conf\nginx-win-rtmp.conf

图片

5.然后打开浏览器输入http://localhost,出现下图则证明成功。说明搭建好了。

图片

6.下载ffmpeg(根据自己的版本,我已windows举例)

下载地址:http://www.ffmpeg.org/download.html

图片

图片

**7.**nginx常用命令

(注意:需要进入到nginx安装目录执行命令)

a.启动:start nginx或nginx.exe

b.停止:nginx.exe -s stop或nginx.exe -s quit

c.重新载入Nginx:nginx.exe -s reload

**8.下载好后解压,**配置环境变量,下图为步骤,下图目录配置到系统环境变量里。

图片

图片

**9.**打开cmd窗口输入“ffmpeg -version”验证安装是否成功,如出现下图ffmpeg版本信息则ok

图片

10.cmd命令,出现下图则推流成功,然后就可以读了

d: ffmpeg.exe -re -i D:\image\test.mp4 -f flv rtmp://localhost:1935/live/test

图片

11.我自己Qt做的界面读到推流视频。(_)

图片


作者:visual_eagle



服务器 rtmp win

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Nona 2021-04-03
613