300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器

【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器

时间:2024-03-14 12:44:32

相关推荐

【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器

【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器

关于流媒体搭建Nginx-rtmp流媒体服务器使用obs将本地视频推流到Nginx-rtmp流媒体服务器在Nginx-rtmp流媒体服务器上使用VLC media player测试获取到的视频流结语

关于流媒体

流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放

搭建Nginx-rtmp流媒体服务器

Nginx:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。rtmp:RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。安装依赖

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

下载Nginx源码包和Nginx-rtmp源码包

wget /download/nginx-1.7.5.tar.gzwget /arut/nginx-rtmp-module/archive/master.zip

解压两个源码包后,进入到Nginx源码包目录内

./configure --with-http_ssl_module --add-module=解压后的Nginx-rtmp源码包路径

编译、编译安装

makesudo make install

下载Nginx初始化脚本,并更改权限,设置Nginx开机自启动

sudo wget /JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginxsudo chmod +x /etc/init.d/nginxsudo update-rc.d nginx defaults

移除开机自启动的方法:

sudo update-rc.d -f nginx remove

安装ffmpeg

从源码编译安装ffmpeg的方法在【环境搭建】在ubuntu16.04上编译安装ffmpeg和opencv中更改nginx配置文件

sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.baksudo rm /usr/local/nginx/conf/nginx.confsudo vim /usr/local/nginx/conf/nginx.conf

添加内容如下:

#user nobody;worker_processes 1;error_log logs/rtmp_error.log debug;pid logs/nginx.pid;events {worker_connections 1024;}http {server {listen 80;server_name localhost;location /hls {# Serve HLS fragments# CORS setupadd_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Expose-Headers' 'Content-Length';# allow CORS preflight requestsif ($request_method = 'OPTIONS') {add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';add_header 'Content-Length' 0;return 204;}types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root /tmp;add_header Cache-Control no-cache;}}}rtmp {server {listen 1935;chunk_size 8192;application hls {live on;meta copy;hls on;hls_path /tmp/hls;}}}

添加crossdomain.xml文件

sudo vim /usr/local/nginx/html/crossdomain.xml

添加内容如下:

<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><allow-access-from domain="*"/></cross-domain-policy>

启动nginx服务

cd /etc/init.d./nginx start

查看nginx运行状态

systemctl status nginx.service

停止nginx服务

cd /etc/init.d./nginx stop

使用obs将本地视频推流到Nginx-rtmp流媒体服务器

为了便于测试,在一台windows电脑下载obs客户端

/

服务选择自定义服务器地址填写为让rtmp://nginx服务器的ip地址:1935/hls/串流密钥自定义任意值

在Nginx-rtmp流媒体服务器上使用VLC media player测试获取到的视频流

下载VLC media player

sudo apt-get install vlc

串流密钥和obs端设置的串流密钥一致

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。

如果我的文章对您有帮助,转载请注明出处。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。