利用 Nginx + rtmp 搭建流媒体服务器

背景

nginx 在音视频服务也有比较强大的功能,下面给出配置步骤。

前提:根据 软件运行环境,确保搭建好了有关支持环境
参考:

步骤

1.下载第三方扩展模块nginx-rtmp-module

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip        //下载模块

2.编译安装nginx

nginx 添加模块都是需要重新配置编译的编译
bash ./configure ... --add-module=/root/module/nginx-rtmp-module-master //编译安装nginx,并指定上面下载的模块路径 make make installbash

3.修改nginx配置文件nginx.conf,添加如下内容并重新运行nginx

rtmp {
    server {
        listen 1935;      #监听的端口号
        application myapp {     #自定义的名字
            live on;
       }
        application hls {
            live on;
            hls on;
            hls_path /tmp/hls;
            hls_fragment 1s;
            hls_playlist_length 3s;
       }
    }
}

测试

安装ffmpeg

ffmpeg命令参考这位朋友的文章:https://www.jianshu.com/p/049d03705a81

(1)安装依赖

yum install yasm -y

(2)下载ffmpeg并安装

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg //下载ffmpeg

cd ffmpeg

./configure --prefix=/usr/local/ffmpeg

make

make install

(3)拷贝命令到/usr/bin(方便后面调用)

ls /usr/local/ffmpeg/ //查看安装目录生成的文件

bin include lib share

cp /usr/local/ffmpeg/bin/* /usr/bin/

测试

(1)启用ffmpeg进行推流

ffmpeg -i rtsp://192.168.1.175:554/11 -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -r 25 -b:v 500k -s 640*480 -f flv rtmp://192.168.1.11:1935/myapp/23
-i 要处理视频文件的路径,此处地址是一个监控摄像头
-s 像素
rtmp://192.168.1.11:1935/myapp/23 说明:rtmp://IP:PORT/ myapp指nginx配置文件中自定义的,22指输出文件的名字
-f 强迫采用flv格式
别的参数参考上面那位老兄的

(2)打开VLC 媒体——>流——>网络

(3)进入服务器查看输出的位置可以发现已生成文件

ll /tmp/hls/

total 1636
-rw-r--r-- 1 root root 500644 Mar 28 17:05 22-1955.ts
-rw-r--r-- 1 root root 384460 Mar 28 17:05 22-1956.ts
-rw-r--r-- 1 root root 413036 Mar 28 17:05 22-1957.ts
-rw-r--r-- 1 root root 366036 Mar 28 17:05 22-1958.ts
-rw-r--r-- 1 root root 154 Mar 28 17:05 22.m3u8

(4)还可以使用浏览器这样访问 http://192.168.1.11/hls/22.m3u8

至此就搭建完成了,至于别的操作后续再写

原文地址:https://www.cnblogs.com/schips/p/12164943.html

时间: 2024-10-08 04:26:17

利用 Nginx + rtmp 搭建流媒体服务器的相关文章

nginx + rtmp 搭建流媒体服务器

一.安装nginx服务器 1.路径说明: 路径:/usr/local/src 2.下载nginx-rtmp-module (我这里的目录是在/usr/local/src/下面) cd /usr/local/src nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module git clone https://github.com/arut/nginx-rtmp-module.git ( 如果没有git进行安装,yu

obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: [php] view plain copy git clone https://github.com/arut/nginx-rtmp-module.git 将nginx-rtmp-module下载到linux中.

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

最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx目录. 然后进入该目录去下载搭建环境所需要的一些资源包. 此处在 /root/  目录下新建一个nginx目录即: /root/softsource/ 注意:依赖包和工具包需要下载,请在良好的网络环境下安装,否则在网速不好的情况下容易下漏掉,造成后面安装失败 ====================

一步步安装nginx搭建流媒体服务器

先安装: apt-get install g++ apt-get install g++ apt-get install build-essential 一般已经安装了 在网上下载以下的包.后面我把这些包上传到csdn资源里,以后就不用找了. nginx-1.2.3.tar.gz      :应用服务器主程序 nginx_mod_h264_streaming-2.2.7.tar.gz      :MP4流媒体支持模块. openssl-1.0.1c.tar.gz                

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

原帖地址:https://blog.csdn.net/loyachen/article/details/50907828 这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体服务器 步骤 安装ffmpeg 安装过程可以参考:centos编译安装ffmpeg:http://blog.csdn.net/loyachen/article/details/5

ffmpeg+ffserver搭建流媒体服务器

http://blog.chinaunix.net/uid-9688646-id-3399113.html ffmpeg和ffserver配合使用可以实现实时的流媒体服务. 一.理解 里边主要有如下四个东西,搞清楚他们之间的关系就差不多明白了. 1. ffmpeg 2. ffserver 3. ffserver.conf 4. feed1.ffm 1. ffmpeg,负责媒体文件的transcode工作,把你服务器上的源媒体文件转换成要发送出去的流媒体文件. 2. ffserver,负责响应客户

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

nginx搭建流媒体服务器 进入新建的文件夹prog 1.下载nginx-rtmp-modulegit clone https://github.com/arut/nginx-rtmp-module.git 2.下载nginxwget http://nginx.org/download/nginx-1.14.0.tar.gz 3.下载nginx依赖模块gzip模块需要 zlib 库.rewrite模块需要 pcre 库.ssl 功能需要openssl库 ①安装pcre,只需要装开发库libpcr

用VLC搭建流媒体服务器

VLC开元项目相当强大,我们既可以将其作为播放核心用于二次开发,又可以将其作为高性能的流媒体服务器.今篇博客主要讲用VLC搭建流媒体服务器. VLC搭建流媒体服务器步骤很简单:选择输入数据.选择输出格式.选择编码器.选择流通量.输入数据来源很多,可以是本地文件,可以是网络流,可以是音频,甚至图片:编码器选择主要是选择音频编码器.视频编码器用以确定声音输出质量和图像质量:输出格式较多,可以是本地文件,可以是网络流,也可以是组播:流通量目前保留,实际没有多少用处.下面我用摄像头的RTSP流作为输入,

利用Nginx构建负载均衡服务器

大家都知道,一个域名对应一个IP地址,而一个WebSite则对应一个IP地址上对应端口服务的应用程序(或位置).而大型网站的并发访问量非常大,这些网站是如何在一台Web服务器上实现负载均衡的呢? 相信很多人会有与我同样的疑惑,但实际上成熟的解决方案已经大规模投入使用.而常用的则是反向代理方法. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理