1.基础包下载

1.1 基础清单

版本
系统版本:CentOS 7.6
Nginx版本:1.20.1
nginx-vod-module版本:1.29

Nginx安装方面可以看我的另一篇文章Nginx笔记
注意各个组件版本,可能会产生一些版本冲突

1.2 nginx-vod-module下载

nginx点播模块,支持自动切片等功能,详细可直接去项目Git

wget https://github.com/kaltura/nginx-vod-module/archive/refs/tags/1.28.tar.gz

1.3 libfdk-acc下载(可选)

此库以支持倍速输出、视频音轨分离等功能

wget https://github.com/mstorsjo/fdk-aac/archive/refs/tags/v2.0.2.tar.gz

1.4 ffmpeg下载(可选)

wget https://ffmpeg.org/releases/ffmpeg-5.0.1.tar.gz

2.给Nginx加装模组

2.1 安装libfdk-acc(可选)

# 解压
tar -zxvf libfdk-acc-你的版本.tar.gz# 进入目录
cd libfdk-acc-你的版本# 生成配置
./autogen.sh# 如果出现 autoreconf相关错误 为缺少依赖错误
# CentOS7.6及以上版本可直接yum安装依赖
yum install autoconf automake libtool# 如果系统版本过低建议升级版本或者手动安装
# http://mirrors.kernel.org/gnu/autoconf/# 依赖安装完毕重新生成配置
./autogen.sh# 配置
./configure --enable-shared# 编译
make# 安装
make install

2.2 安装ffmpeg(可选)

# 解压
tar -zxvf ffmpeg-你的版本.tar.gz# 进入目录
cd ffmpeg-你的版本# 编译
./configure --enable-shared --enable-libfdk-acc# 如果报错nasm或者yasm未找到或版本过低,需要安装依赖
# CentOS7.6可使用yum安装
yum install nasm# 如果系统版本过低,需手动安装
# https://www.nasm.us/pub/nasm/releasebuilds/# 如果出现警告 using libfdk without pkg-config 需要配置PKG_CONFIG_PATH路径
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig# 检查是否配置成功
echo $PKG_CONFIG_PATH# 重新配置
./configure --enable-shared --enable-libfdk-acc# 编译
make# 安装
make install

2.3 安装Nginx

进入Nginx编译目录(此处生产环境,不方便部署可搜索Nginx动态编译)

# 重新配置Nginx
./configure --prefix=安装路径 --with-http_stub_status_module --with-http_gzip_static_module --with-http_gunzip_module --with-file-aio --with-threads --with-cc-opt="-O3" --with-http_ssl_module --with-openssl-opt=enable --with-http_mp4_module --with-stream --add-module=vod模块路径/nginx-vod-module-master# 编译
make# 安装
make install

Tips:如果安装过程中出现问题,可去查看各模块项目git的 issues查找是否有相似错误及解决方案

3.配置Nginx

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;autoindex on; # 开启目录索引location /vod {vod hls; # 开启vod模块vod_mode local; # 访问模式指定为localvod_align_segments_to_key_frames on; # 每个切片以关键帧开头vod_manifest_segment_durations_mode accurate; # 精确显示每个切片的长度add_header Access-Control-Allow-Headers '*';add_header Access-Control-Expose-Headers 'Server,range,Content-Length,Content-Range';add_header Access-Control-Allow-Methods 'GET, HEAD, OPTIONS';add_header Access-Control-Allow-Origin '*';alias /media; # 视频存放路径}location /data {alias /media; # 目录索引地址}# 访问以mp4结尾资源可直接播放location ~* /data/.*\mp4 {rewrite ^/data/(.*)\.(mp4) /$1.$2 break;root /media;mp4;}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;}}
}

4.上传视频测试

4.1 上传视频

存在一些MP4视频由于各种奇奇怪怪的原因,可能会导致播放不出来
使用WinSCP等工具,上传视频到服务器,如采用以上配置,视频上传至/media

4.2 测试地址

拉流地址:
http://服务器IP/vod/视频.mp4/index.m3u8
网页播放测试
http://服务器IP/data/视频.mp4

4.3 错误解决

此时可以进入nginx目录中logs查看日志
400错误
一般是文件格式问题,可根据日志中错误进行搜索
404错误
一般是配置或者视频文件存放位置错误,可根据日志中错误进行搜索

5.流媒体服务器拓展

发现了一款基于GO的开源流媒体服务器开发框架Monibuca可以了解一下~

6.参考资料

Nginx下载网址:http://nginx.org/en/download.html
nginx-vod-module:https://github.com/kaltura/nginx-vod-module
libfdk-aac:https://github.com/mstorsjo/fdk-aac
ffmpeg:https://ffmpeg.org/download.html
Monibuca https://m7s.live/

Nginx流媒体服务器搭建相关推荐

  1. 树莓派直播推流---nginx流媒体服务器搭建

    参考: https://blog.csdn.net/li_wen01/article/details/70639397 https://www.jianshu.com/p/76c1be068170 1 ...

  2. FFmpeg入门详解之100:搭建Nginx流媒体服务器

    这里小编给大家推荐一款流媒体服务器Nginx,可以实现RTMP和HLS等.搭建完成后,可以使用FFmpeg推流,实现直播功能. 注意:操作环境是Ubuntu18.04, 总共分为几个步骤: 1.安装N ...

  3. nginx+nginx-rtmp-module的流媒体服务器搭建(记录)

    搭建nginx+nginx-rtmp-module的流媒体服务器 第一步: 下载 nginx 1.7.11.3 Gryphon.zip 版本nginx:(此版本不用编译 nginx-rtmp-modu ...

  4. NDK 直播流媒体服务器搭建

    该文章首发于微信公众号"字节流动". 本博客 NDK 开发系列文章: NDK 编译的三种方式 NDK 开发中引入第三方静态库和动态库 NDK 开发中 Native 与 Java 交 ...

  5. 1.RTMP流媒体服务器搭建

    RTMP流媒体服务器搭建 目录 安装srs流媒体服务器 测试srs流媒体服务器 使⽤OBS推流 1. 安装srs流媒体服务器(参考:RTMP分发) srs官⽹:https://github.com/o ...

  6. linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享

    vlc 由videolan.org 出品,开源免费的一款本地和网络播放器,支持个音视频格式非常多,还可以用来搭建 rtsp 流媒体服务器,非常好用,支持的平台很多:windows.mac.linux都 ...

  7. SRS流媒体服务器搭建流程-简单实用版

    #SRS流媒体服务器搭建流程-简单实用版 经过查阅很多博客,讲述的都不是很完善而且还把我搞的晕头转向,经过查阅20多篇文章特整理出简单的,SRS流媒体服务器搭建以及推流和拉流的一整套流程. #安装环境 ...

  8. 本地RTMP流媒体服务器搭建拉流简易版

    本地RTMP流媒体服务器搭建. 一.火力牛摄像头配置 ip 为服务器的ip 二.本地搭建rtmp服务器 https://blog.csdn.net/szydwy/article/details/786 ...

  9. 流媒体服务器搭建亲测有效(srs)

    流媒体服务器搭建流程 第一步 去官网下载srs的源码文件官网地址:[https://github.com/ossrs/srs#usage] 说明:建议下载4.0版本,3.0的需要flash的支持.目前 ...

  10. 直播平台流媒体服务器搭建(Linux+Nginx+RTMP)

    写在前面: 实践出真知 学习编程最好的语言不是PHP,是English 近年来各大视频直播平台兴起,直播技术也愈发成熟,作为一个程序员,秉着"折腾"精神自己搭建了一个直播用的流媒体 ...

最新文章

  1. Linux服务器上最简单的Nginx反向代理配置
  2. 关闭笔记本显示器指定组合键才能打开_笔记本外接显示器怎么设置 笔记本外接显示器设置方法【详解】...
  3. MYSQL学习01--MySQL基础知识
  4. java 基础知识总结
  5. 搜索引擎其实是一个读库
  6. RTMP协议从入门到放弃
  7. java内部格式_详解java内部类的访问格式和规则
  8. php上传中文图片,用PHP处理图片文件的上传
  9. python-描述符基本
  10. vue.js v-if
  11. 在DOS下如何加载SATA光驱驱动
  12. HTML日志查看器,在浏览器中查看Tomcat日志文件
  13. Qt Chart柱状图实现
  14. Mathpix小工具下载
  15. 批量删除QQ空间说说代码
  16. AppBarLayoutCoordinatorLayoutBehavior
  17. 正则匹配以XXX开头的,XXX结束的
  18. 【观察】美达电器:以数字化重塑质量管理体系,构筑车企新“护城河”
  19. 索引的使用以及常见索引类型,组合索引的具体使用方法。
  20. 初始Spring(贰)

热门文章

  1. Inkscape将位图转换为矢量图
  2. Python3:获取地球实时卫星照片
  3. 软件是如何做到控制芯片电路的闭合的?
  4. js案例:动态生成表格
  5. linux操作系统和ucos操作系统,嵌入式操作系统ucos与linux比较
  6. 易鲸捷数据库常用优化方法
  7. mac系统如何连接服务器地址,mac如何远程连接服务器地址
  8. TLE82453-3SA-芯片手册
  9. java数组动态长度_JAVA中如何动态改变数组长度 动态数组 arraycopy
  10. C语言符号常量的使用,C语言常量与符号常量