Nginx增加m3u8流视频文件功能模块 推流和拉流

Nginx增加m3u8流视频文件功能模块 推流和拉流

FastDFS分布式文件系统安装和配置_亲测成功

shell 复制代码
./configure --prefix=/u06/data/apps/nginx-rtmp \
    --pid-path=/u06/data/logs/nginx-rtmp/nginx.pid \
    --lock-path=/u06/data/apps/nginx-rtmp/nginx.lock \
    --error-log-path=/u06/data/logs/nginx-rtmp/error.log \
    --http-log-path=/u06/data/logs/nginx-rtmp/access.log \
    --http-client-body-temp-path=/u06/data/temps/nginx-rtmp/client_body_temp \
    --http-proxy-temp-path=/u06/data/temps/nginx-rtmp/proxy_temp \
    --http-fastcgi-temp-path=/u06/data/temps/nginx-rtmp/fastcgi_temp \
    --http-uwsgi-temp-path=/u06/data/temps/nginx-rtmp/uwsgi_temp \
    --http-scgi-temp-path=/u06/data/temps/nginx-rtmp/scgi_temp \
    --with-http_stub_status_module \
    --with-http_ssl_module \
    --add-module=/u06/data/software/fastdfs-nginx-module/src \
    --add-module=/u06/data/software/nginx-rtmp-module

make
make install

Nginx配置

shell 复制代码
vim /u06/data/apps/nginx-rtmp/conf/nginx.conf
rtmp {
    server {
       listen 1935;
       chunk_size 4000;

       application hls {
            live on;
            hls on;
            hls_path /u06/data/datas/fdfs/hls;
        }
    }
}

location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root /u06/data/datas/fdfs;
            ngx_fastdfs_module;
            add_header Cache-Control no-cache;
            expires -1;
        }


cd /u06/data/datas/fdfs/hls

生成aaa.m3u8文件 
ffmpeg -re -i /u06/data/datas/fdfs/path0/data/00/00/wKgBMlvaDUCAKnRbAATfpUYN9Vw280.mp4 -vcodec copy -f flv  rtmp://192.168.1.50:1935/hls/aaa

Chrome不支持m3u8文件播放,会直接下载,可以安装插件 play-hls-m3u8-1.1.crx

用Safari访问: http://192.168.1.50:9998/hls/aaa.m3u8

过不了多久hls目录下的m3u8文件和ts文件会全部自动清除的, rtmp的实时机制

注意: 其实什么都不用安装也不用改配置,直接用FastDFS的nginx就可以了

shell 复制代码
cd /u06/data/datas/fdfs/path0/data/00/00
使用ffmpeg生成m3u8文件
ffmpeg -i wKgBMlvaDUCAKnRbAATfpUYN9Vw280.mp4  -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 output%03d.ts

访问 http://222.240.10.170:8088/group1/M00/00/00/playlist.m3u8 报400的错误

看nginx的错误日志,可以看到是因为文件名太短了,-----注意 -----唉,没看错误日志坑了自己,害我去安装nginx-rtmp-module搞什么hls流,白搞了

报错 filename is too short, length: 23 < 44

FastDFS 的文件名必须在 23到44长度之间

shell 复制代码
ffmpeg -i /u06/data/datas/fdfs/path0/data/00/00/wKgBMlvaDUCAKnRbAATfpUYN9Vw280.mp4  -c copy -map 0 -f segment -segment_list wKgBMlvaDUCAKnRbAATfpUYN9Vw280.m3u8 -segment_time 5 wKgBMlvaDUCAKnRbAATfpUYN9Vw280-%03d.ts

访问:http://222.240.10.170:8088/group1/M00/00/00/wKgBMlvaDUCAKnRbAATfpUYN9Vw280.m3u8  成功

相关推荐
五阿哥永琪9 小时前
Nginx入门教学+实战
运维·nginx
热爱Liunx的丘丘人13 小时前
Docker Compose 实现 Nginx 与 MySQL 多容器服务编排
mysql·nginx·docker
tang74516396215 小时前
Ubuntu 24.04 安装 Nginx 1.29.6 完整版教程20260320
linux·nginx·ubuntu
小糖学代码15 小时前
LLM系列:环境搭建:4.Nginx使用教程
运维·python·神经网络·nginx
sg_knight15 小时前
负载均衡配置:使用 Nginx 反向代理 MinIO 集群的实战教程
运维·nginx·负载均衡·文件管理·minio·cos·oss
ruanyongjing15 小时前
元数据驱动开发 - 面向对象编程思想的补充 (十二)
nginx·macos·docker
热爱Liunx的丘丘人16 小时前
Dockerfile 构建自定义 Nginx Web 服务镜像
运维·前端·nginx
随便做点啥16 小时前
8卡服务器(4服务x 2卡)Nginx 负载均衡配置,与百分位延迟说明
服务器·nginx·负载均衡
呆萌的代Ma16 小时前
Linux服务使用Nginx配置域名并使用certbot提供SSL
linux·nginx·ssl
热爱Liunx的丘丘人17 小时前
搭建一个 Web + 数据库系统(Nginx+PHP+MySQL)
数据库·nginx·php