使用Nginx搭建流媒体

这篇具有很好参考价值的文章主要介绍了使用Nginx搭建流媒体。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Nginx搭建流媒体

参考地址

https://blog.csdn.net/u013416034/article/details/130649958
https://www.nxrte.com/jishu/9697.html
https://devpress.csdn.net/cicd/62ee4cce7e66823466182187.html

安装 ffmpeg

1、下载安装ffmpeg
https://johnvansickle.com/ffmpeg/
https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-5.1.1-amd64-static.tar.xz
2、安装依赖
yum -y install bzip2 yasm
3、编译安装 ffmpeg
xz -d ffmpeg-5.1.1-amd64-static.tar.xz
tar xf ffmpeg-5.1.1-amd64-static.tar -C /usr/local/src/
4、创建全局链接
ln -sv /usr/local/src/ffmpeg-5.1.1-amd64-static/ffmpeg /usr/local/bin/ffmpeg
ln -sv /usr/local/src/ffmpeg-5.1.1-amd64-static/ffprobe /usr/local/bin/ffprobe
5、验证
ffmpeg -h

安装nginx

1、下载依赖包
yum -y install gcc-c++ flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel libtool git autoconf automake libxml2-devel  zlib-devel libgo-devel openssl-devel

2、 解压安装nginx
# 解压
tar xf nginx-1.24.0.tar.gz -C /usr/local/src/

# 配置构建所需选项
./configure  \
--sbin-path=/usr/sbin/nginx \
--lock-path=/var/run/nginx.lock \
--conf-path=/etc/nginx/nginx.conf \
--with-pcre \
--with-http_auth_request_module \
--with-http_degradation_module \
--with-http_geoip_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module \
--with-http_mp4_module \
--with-http_perl_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-stream_ssl_module \
--with-stream \
--with-threads \
--prefix=/etc/nginx


# 编译
make
make install

# 验证
 nginx -V
3、配置启动脚本
$ vim  /etc/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/etc/nginx/logs/nginx.pid
ExecStartPre=/usr/bin/rm -f /etc/nginx/logs/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target

4、修改 nginx.conf 文件

在原有的nginx.conf 文件中 server 里面增加如下配置

location /live {
        types {
            application/vnd.apple.mpegurl m3u8;
         }
        add_header Access-Control-Allow-Origin *;
        alias /etc/nginx/html/hls;
        expires -1;
    }
5、 启动 nginx

systemctl daemon-reload
systemctl start nginx
systemctl enable nginx
systemctl status nginx
6、上传视频测试验证
# 新建文件夹
mkdir /etc/nginx/html/hls
chmod 777 /etc/nginx/html/hls

# 上传视频文件到 hls 目录下面使用 ffmpeg 进行分割
ffmpeg -i 022309.mp4 -c copy -map 0 -f segment -segment_time 10 -segment_list 022309.m3u8 -segment_format mpegts 022309_%03d.ts

参数说明

  • 022309.mp4 是要切割的视频文件名,-c copy -map 0表示直接复制原始视频流
  • -f segment表示将视频分段
  • -segment_time 10表示每段视频的时长为10秒
  • -segment_list 022309.m3u8 表示生成m3u8索引文件
  • -segment_format mpegts表示每个分段视频的格式为ts
  • 022309_%03d.ts表示输出文件的文件名模板。

使用Mac自带浏览器访问文章来源地址https://www.toymoban.com/news/detail-731463.html

到了这里,关于使用Nginx搭建流媒体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx 搭建http-flv(rtmp)流媒体的一次尝试

    项目需要通过调用海康摄像头实现远程监控,但是由于网络限制,只能通过代理来调用,因此只能放弃海康官网提供的视频插件,经过一番搜索,决定采用此种方式: nginx 搭建http-flv(rtmp)流媒体 基本的配置什么的,我就不在赘述,可参考网上的方法,经验证后的连接如下:

    2024年02月13日
    浏览(56)
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流

    Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流: Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流_win nginx-rtmp最新版_霸道流氓气质的博客-CSDN博客 Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流: Vue中使用vue-video-player和videojs-flash插件实现播放

    2024年02月03日
    浏览(45)
  • linux+nginx-http-flv-module+ffmpeg实现搭建简易流媒体服务器将rtsp流转flv格式在web端和微信小程序实时播放监控视频

    一.介绍背景 公司项目开发需求:将海康摄像头的rtsp流在web端及微信小程序端进行播放。之前我写过一篇关于web端使用webtrc+videojs播放rtsp流的文章,确实能够解决web端播放rtsp流的需求,但是这次多加了一个微信小程序....所以要考虑小程序的播放问题。本着探索实践的精神在

    2024年02月08日
    浏览(68)
  • Windows基于Nginx搭建RTMP流媒体服务器(附带所有组件下载地址及验证方法)

    RTMP服务时常用于直播时提供拉流推流传输数据的一种服务。前段时间由于朋友想搭建一套直播时提供稳定数据传输的服务器,所以就研究了一下如何搭建及使用。 首先我们要知道一般nginx不能直接配置rtmp服务,在Windows系统上需要特殊nginx版本才能进行搭建 : nginx 1.7.11.3 Gryp

    2024年02月02日
    浏览(100)
  • 基于Nginx+rtmp搭建支持hls协议的点播流媒体服务器(windows/Linux)

    前言:公司最近因为客户端视频文件过大导致视频加载时间很长,让我将视频播放做成流媒体点播的形式,于是查阅了几十篇相关文章以及文档,最终将功能实现。可能是存在版本差异,绝大部分文章介绍的教程并不能成功实施,尤其是点播功能,所以我把我工作中验证成功

    2024年02月02日
    浏览(61)
  • 使用nginx部署rtmp流媒体服务器完成直播推流

    笔者为了开发方便使用windows系统的Nginx进行配置。 下载Nginx http://nginx-win.ecsds.eu/download/ 在windows版本下只有个别的几个版本才支持rtmp服务,本文选择版本 nginx 1.7.11.3 Gryphon.zip 解压下载zip文件 在conf文件夹中找到 nginx-win.conf 配置我们所需要的内容 rtmp是adobe基于flash开发的音视频

    2024年02月15日
    浏览(45)
  • 使用EasyDarwin + ffmpeg 搭建流媒体服务器,实现多台智能电视同步播放宣传视频

    近期单位用户提出需求,需要在单位内部的9台安卓智能电视(小米电视)上同步播放用户提供的宣传视频,希望能够做到所有电视音视频同步播放(电视均位于食堂内部,使用内置扬声器,各电视间音频延迟不同会导致混响) 。 由于电视在安装时只预留了电源线,使用HDM

    2024年02月10日
    浏览(73)
  • Docker搭建Plex流媒体服务并播放自己本地视频

    安装Docker 创建存储配置文件的目录 创建Plex容器 配置Plex 设置媒体库 访问Plex Plex是一个流媒体服务器,可以轻松地将你的媒体文件库(如电影、电视节目和音乐)通过网络流式传输到各种设备上。 Plex 是一套媒体播放器及媒体服务器软件,提供了一整套完整的解决方案(Se

    2024年02月04日
    浏览(68)
  • 【配置环境】安装Ffmpeg音视频编解码工具和搭建EasyDarwin开源流媒体服务器

    目录 一,安装Ffmpeg音视频编解码工具 1,简介 2,开发文档 3,安装部署 二,搭建EasyDarwin开源流媒体服务器 1,简介 2,主要功能特点 3,安装部署 4,效果图 三,简单测试 Ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许

    2024年02月07日
    浏览(76)
  • 探索:区块链视频流媒体平台

    如今,几乎所有人都在关注视频流媒体, 疫情加速了全球流媒体平台的发展。 Netflix、Disney+和HBO Max等热门视频流媒体平台受益于该行业的快速增长。但也有很多失败的尝试,包括Quibi和CNN+。 归根结底,其实是有两种类型的视频流平台:基于广告的和基于订阅的。基于广告平

    2024年02月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包