流媒体服务器Nginx with RTMP安装和配置

以下是在 CentOS 7.6 上安装和配置 Nginx with RTMP module 的详细步骤:

1. 安装 Nginx with RTMP 模块

1.1 安装必要的依赖和工具

首先,更新系统并安装必要的依赖包:

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y gcc pcre-devel zlib-devel make unzip openssl-devel
1.2 下载并解压 Nginx 和 RTMP 模块

下载并解压 Nginx 和 RTMP 模块源码:

cd /usr/local/src
sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz
sudo wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
sudo tar -zxvf nginx-1.18.0.tar.gz
sudo tar -zxvf v1.2.1.tar.gz
1.3 编译并安装 Nginx with RTMP 模块

编译并安装 Nginx with RTMP 模块:

cd nginx-1.18.0
sudo ./configure --add-module=../nginx-rtmp-module-1.2.1 --with-http_ssl_module
sudo make
sudo make install

2. 配置 Nginx

编辑 Nginx 配置文件(通常位于 /usr/local/nginx/conf/nginx.conf):

sudo nano /usr/local/nginx/conf/nginx.conf

添加以下内容:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       8080;server_name  localhost;location / {root   html;index  index.html index.htm;}location /hls {types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root /tmp;add_header Cache-Control no-cache;}}
}rtmp {server {listen 1935;chunk_size 4096;application live {live on;record off;}application hls {live on;hls on;hls_path /tmp/hls;hls_fragment 3;}}
}

3. 启动 Nginx

启动 Nginx:

sudo /usr/local/nginx/sbin/nginx

4. 推流到服务器

使用 FFmpeg 推流到 Nginx RTMP 服务器:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://localhost/live/stream

5. 播放流媒体

使用 VLC 或其他支持 RTMP/HLS 协议的播放器播放流媒体。

使用 VLC 播放:

打开 VLC,选择 “媒体” -> “打开网络串流”,输入 RTMP 地址:

rtmp://localhost/live/stream

或者输入 HLS 地址:

http://localhost:8080/hls/stream.m3u8

总结

通过以上步骤,可以在 CentOS 7.6 上搭建一个简单的流媒体服务器,实现音视频内容的实时传输。根据实际需求,可以选择不同的流媒体服务器软件,并进行相应的配置和优化。以下是在 CentOS 7.6 上安装和配置 Nginx with RTMP module 的详细步骤:

1. 安装 Nginx with RTMP 模块

1.1 安装必要的依赖和工具

首先,更新系统并安装必要的依赖包:

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y gcc pcre-devel zlib-devel make unzip openssl-devel
1.2 下载并解压 Nginx 和 RTMP 模块

下载并解压 Nginx 和 RTMP 模块源码:

cd /usr/local/src
sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz
sudo wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
sudo tar -zxvf nginx-1.18.0.tar.gz
sudo tar -zxvf v1.2.1.tar.gz
1.3 编译并安装 Nginx with RTMP 模块

编译并安装 Nginx with RTMP 模块:

cd nginx-1.18.0
sudo ./configure --add-module=../nginx-rtmp-module-1.2.1 --with-http_ssl_module
sudo make
sudo make install

2. 配置 Nginx

编辑 Nginx 配置文件(通常位于 /usr/local/nginx/conf/nginx.conf):

sudo nano /usr/local/nginx/conf/nginx.conf

添加以下内容:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       8080;server_name  localhost;location / {root   html;index  index.html index.htm;}location /hls {types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root /tmp;add_header Cache-Control no-cache;}}
}rtmp {server {listen 1935;chunk_size 4096;application live {live on;record off;}application hls {live on;hls on;hls_path /tmp/hls;hls_fragment 3;}}
}

3. 启动 Nginx

启动 Nginx:

sudo /usr/local/nginx/sbin/nginx

4. 推流到服务器

使用 FFmpeg 推流到 Nginx RTMP 服务器:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://localhost/live/stream

5. 播放流媒体

使用 VLC 或其他支持 RTMP/HLS 协议的播放器播放流媒体。

使用 VLC 播放:

打开 VLC,选择 “媒体” -> “打开网络串流”,输入 RTMP 地址:

rtmp://localhost/live/stream

或者输入 HLS 地址:

http://localhost:8080/hls/stream.m3u8

总结

通过以上步骤,可以在 CentOS 7.6 上搭建一个简单的流媒体服务器,实现音视频内容的实时传输。根据实际需求,可以选择不同的流媒体服务器软件,并进行相应的配置和优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于微信小程序的校园警务系统/校园安全管理系统/校园出入管理系统

摘要 伴随着社会以及科学技术的发展,小程序已经渗透在人们的身边,小程序慢慢的变成了人们的生活必不可少的一部分,紧接着网络飞速的发展,小程序这一名词已不陌生,越来越多的学校机构等都会定制一款属于自己个性化的小程…

利用arthas热更新class文件

利用arthas热更新class文件 背景:发现一个bug,家里难以复现,需要在现场环境更新几行代码验证。 arthas-boot version: 3.7.1 java -jar arthas-boot.jar启动arthas 1、利用arthas的sc命令查找确定类名称 sc com.**2、反编译为java文件 …

《通讯世界》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《通讯世界》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《通讯世界》级别? 答:国家级。主管单位:科学技术部 主办单位:中国科学技…

C++ //练习 15.35 实现Query类和Query_base类,其中需要定义rep而无须定义eval。

C Primer&#xff08;第5版&#xff09; 练习 15.35 练习 15.35 实现Query类和Query_base类&#xff0c;其中需要定义rep而无须定义eval。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块&#xff1a; #include<iostream>…

如何从零开始搭建一个django+vue的前后端分离的自动化测试平台

嗨&#xff0c;大家好&#xff0c;我是兰若姐姐&#xff0c;今天手把手教大家搭建一个djangovue的前后端分离的自动化测试平台 一、前提条件 安装Python安装Node.js和npm&#xff08;或者yarn&#xff09;安装MySQL数据库安装Git 二、目录结构 project-root/├── backend…

关于虚拟机在桥接模式下连接网络问题的记录

2024年7月28日03:49:19 环境&#xff1a;ubuntu22.04 desktop 虚拟机 问题&#xff1a;使用wget下载nginx安装包时出现问题&#xff0c;443端口持续无连接成功回复。 随后在确定配置ip无问题&#xff0c;检查了其正常访问互联网&#xff0c;随后试图ping niginx网站&#xff…

基于OSS前端直传的分片上传以及断点续传

一、大文件分片上传 原型 大文件如果直接上传的话由于nginx的限制会导致响应500报错&#xff0c;或者响应时间过长导致响应超时 并且大文件上传有如下缺点 上传时间长: 对于大文件&#xff0c;直接上传可能需要较长时间&#xff0c;特别是在网络速度较慢或不稳定的情况下。这…

反射API安全白皮书:深入解析与防御策略

一、引言 反射API是编程中一种强大的工具&#xff0c;它允许程序在运行时动态地查询和操作对象的属性和行为。然而&#xff0c;这种灵活性也带来了显著的安全风险&#xff0c;如代码注入、信息泄露和绕过安全检查等。本文旨在深入解析反射API的安全问题&#xff0c;并提出相应…

ChatGPT秘籍:如何用AI阅读文献,提升你的学术效率

在当今信息泛滥的时代&#xff0c;迅速高效地搜集与处理信息显得尤为关键。本文将聚焦于如何利用ChatGPT高效阅读文献与文档&#xff0c;并提供详尽的技巧、心得以及实用的指令和插件解析&#xff0c;助你充分发挥ChatGPT的潜能。无论你是学生、科研人员还是行业从业者&#xf…

Laravel中的请求与响应:构建高效Web应用的秘诀

Laravel中的请求与响应&#xff1a;构建高效Web应用的秘诀 在Web开发的世界中&#xff0c;Laravel是一个优雅的PHP框架&#xff0c;以其简洁的语法和强大的功能而闻名。Laravel的请求&#xff08;Request&#xff09;和响应&#xff08;Response&#xff09;处理机制是构建高效…

雪花算法的一些问题解析

前言 最近做项目&#xff0c;有些老旧项目&#xff0c;需要生成分布式唯一ID&#xff0c;不允许重复&#xff0c;此时如果要对其他中间件和数据库依赖小&#xff0c;那么就需要一套固定的ID生成规则&#xff0c;雪花算法就正当合适&#xff0c;当时Twitter就是用来存储数据库I…

JSP基础语法与指令

任何语言都有自己的语法&#xff0c;在java中有&#xff0c;JSP作为java技术的一种应用&#xff0c;它拥有一些自己扩充的语法(了解知道即可&#xff01;&#xff01;&#xff01;)&#xff0c; Java所有语法都支持&#xff01; JSP表达式 <html><head><title…

【Redis 初阶】初识 Redis

一、了解 Redis Redis 官网&#xff1a;Redis - The Real-time Data Platform Redis 是一种基于键值对&#xff08;key-value&#xff09;的 NoSQL 数据库。与很多键值对数据库不同的是&#xff0c;Redis 中的 key 都是 string&#xff08;字符串&#xff09;&#xff0c;值&a…

计算机毕业设计LSTM+Tensorflow股票分析预测 基金分析预测 股票爬虫 大数据毕业设计 深度学习 机器学习 数据可视化 人工智能

|-- 项目 |-- db.sqlite3 数据库相关 重要 想看数据&#xff0c;可以用navicat打开 |-- requirements.txt 项目依赖库&#xff0c;可以理解为部分技术栈之类的 |-- data 原始数据文件 |-- data 每个股票的模型保存位置 |-- app 主要代码文件夹 | |-- mod…

汽车辐射大?技术来救它:整车辐射抗扰发射天线仿真建模及性能预测

摘要 针对车辆电磁辐射抗扰度测试条件要求高、预测难度大的问题&#xff0c;通过仿真软件建立电磁抗扰度测试发射天线&#xff08;简称抗扰发射天线&#xff09;模型及无车情况下的电磁抗扰试验场强环境&#xff0c;为整车电磁辐射抗扰性能的预测搭建了一个仿真平台。 验证试验…

纹理映射学习笔记

概述 本文的纹理映射将三维曲面与二维的纹理建立对应关系。 曲面参数表达&#xff1a; x x ( s , t ) , y y ( s , t ) , z z ( s , t ) x x(s,t), y y(s,t), zz(s,t) xx(s,t),yy(s,t),zz(s,t) 即给定纹理坐标(s,t),我们能可以计算出曲面坐标(x,y,z) 映射 考虑由参数…

渲染技术如何帮助设计内容实现从平面到立体的转换

随着数字艺术和视觉特效的飞速发展&#xff0c;三维建模与渲染技术在影视、游戏、广告、工业设计、建筑可视化等多个领域展现出了其不可或缺的重要性。这一技术不仅实现了从平面到立体的跨越&#xff0c;还极大地丰富了视觉表达的层次感和真实感。 三维建模&#xff1a;构建虚…

ZYNQ 自定义IP端口映射

在做自定义IP时&#xff0c;对于总线接口&#xff0c;我们可以将其信号封装成接口&#xff0c;避免信号一个个地连接。在本实验中&#xff0c;需要封装axis slave接口&#xff0c;在Ports and Interfaces界面中&#xff0c;选择需要封装的信号&#xff0c;右键选择Add Bus Inte…