linuxvlc推流命令,使⽤FFmpeg将视频推流到nginx,通过vlc拉
流播放(通过。。。nginx停止命令
⼀、nginx配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } rtmp { server { listen 1935; chunk_size 4096; application live { live on; } } } http { pes; default_type application/octet-stream; #log_format main '$remote_addr -
$remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent"
"$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server { listen 8080; location /stat{ rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location
/
stat.xsl{ root /home/cjc/安装包/nginx/nginx-rtmp-module-master; } } server { listen 80; server_name localhost; #charset
koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #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 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; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME
/scripts$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; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; #
ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #}
其中,在f⽂件中修改的内容中,新增加的下⾯的内容是使nginx增加rtmp功能。 rtmp { server { listen 1935; chunk_size 4096; application live { live on; } } }
在f⽂件中新增加的下⾯的内容,是使nginx能具有直播状态监听的功能。其中/home/cjc/安装包/nginx/nginx-rtmp-module-master是博主安装的nginx-rtmp-module的绝对路径,各位得根据⾃⼰安装的nginx-rtmp-module的路径进⾏修改。 server { listen 8080; location /stat{ rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl{ root /home/cjc/安装包/nginx/nginx-rtmp-module-master; } }
执⾏完上述步骤后,如果nginx服务器正在运⾏,我们得先关掉nginx服务器然后重启nginx后,上述更改的配置才会⽣效。我们执⾏命令:killall nginx
⼆、推流
在Ubuntu中执⾏命令: ifconfig
如下图所⽰,可以看到Ubuntu的ip地址是192.168.1.109。记住这个地址。推流和拉流都要⽤到这个地址。
然后启动nginx服务器,在Ubuntu中执⾏命令: /usr/local/nginx/sbin/nginx
然后我们来到FFmpeg安装⽬录。博主的FFmpeg安装在主机的win10下,如下图所⽰,⽂件夹⾥⾯有和其依赖的dll,还有媒体⽂件video5.mp4。我们通过ffmpeg将video5.mp4推流到流媒体服务器crtmpserver中。
在windows的命令提⽰符中执⾏命令: ffmpeg -i video5.mp4 -f flv rtmp://192.168.1.109/live/test1
其中-i 表⽰输⼊流。这⾥的输⼊流是video5.mp4。-f 表⽰设定的输出格式。这⾥因为要推流,推流得使⽤flv格式,所以设成-f flv。192.168.1.109是要推流到的流媒体服务器所在的Ubuntu的ip地址。上述语句的意思是通过ffmpeg将媒体⽂件video5.mp4推流到ip地址为192.168.1.109的平台中。
执⾏完上述命令,会出现如下界⾯,表⽰推流成功了。
如下图所⽰,在下⾯的页⾯中我们可以进⾏直播状态监听了。
执⾏完上述推流的步骤后,我们在windows中打开vlc,点击“打开⽹络串流”,如下图所⽰:
输⼊⽹络URL,如下图所⽰:
可以看到在vlc中出现视频画⾯了,表⽰拉流成功了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论