[环境搭建] 使用nginx搭建 hls 媒体服务器

1. 安装nginx




2.配置 hls 流媒体服务

修改 nginx 配置文件相关代码块为如下:

bash 复制代码
http {

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    server {
        listen 8080;

        location /hls {
            root /home/yk/VOD;
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            add_header Cache-Control no-cache;
        }
    }
}



3.使用ffmpeg创建被代理的 m3u8 流

根据 nginx 的配置,创建路径 /home/yk/VOD/hls/ 。这个路径是url寻址的根路径,比如 http://hostip:8080/hls/4k , 那么就会寻址到 /home/yk/VOD/hls/4k/ 。

使用ffmpeg 处理一个 MP4 文件,并将输出的所有 ts 文件拷贝到 /home/yk/VOD/hls/4k/ 下。

bash 复制代码
ffmpeg -hwaccel cuda -i 4K.mp4 -c:v hevc_nvenc -b:v 40M -c:a copy -f hls -hls_time 2 -hls_list_size 0 index.m3u8



4.测试

可以使用potplayer来播放 m3u8 资源。open->open URL->填入

http://127.0.0.1:8080/hls/4k/index.m3u8

相关推荐
刘若水11 分钟前
Linux: 进程信号初识
linux·运维·服务器
chem41111 小时前
Conmon lisp Demo
服务器·数据库·lisp
渗透测试老鸟-九青1 小时前
面试经验分享 | 成都渗透测试工程师二面面经分享
服务器·经验分享·安全·web安全·面试·职场和发展·区块链
m0_555762901 小时前
QT 动态布局实现(待完善)
服务器·数据库·qt
极客柒2 小时前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源
共享家95272 小时前
深入剖析Linux常用命令,助力高效操作
linux·运维·服务器
IT小馋猫3 小时前
Linux 企业项目服务器组建(附脚本)
linux·服务器·网络
阿政一号3 小时前
Linux进程间通信:【目的】【管道】【匿名管道】【命名管道】【System V 共享内存】
linux·运维·服务器·进程间通信
啊哦1114 小时前
配置防火墙和SELinux(1)
linux·服务器·网络
A charmer4 小时前
【Linux】文件系统知识梳理:从磁盘硬件到文件管理
linux·运维·服务器