nginx-rtmp-module模块实现视频点播的示例代码

 更新时间:2025年02月08日 10:09:38   作者:霜雪寒霄  
本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

预置条件

  • 配置点播服务器 192.168.246.102 , 配置好网卡使其能上网, 安装nginx和nginx-rtmp-module模块,开放端口80, 1935。
  • 配置远程服务器192.168.246.103 ,配置好网卡使其能上网,安装nginx模块,开放端口80。
  • 播放测试工具: VLC media player

Nginx点播基本配置

配置点播服务器 192.168.246.102

# 配置worker的用户
# 如果不配置此项,默认为nobody,视频因权限问题无法播放
user www;
...
rtmp {
    server {
        listen 1935;
    
        application vod {
            play /var/rec;
        }
        
    }
}

添加www用户

# groupadd www
# useradd -g www www

重启Nginx

# systemctl restart nginx

创建/var/rec目录

# mkdir /var/rec

把文件flv或mp4文件放置在/var/rec目录下,并修改权限

# chown www:www /var/rec -R
# cd /var/rec
# ls 
abcd-1703474265-2023-12-25-11_17_45.flv  abcd-1703474338-2023-12-25-11_18_58.flv

使用 VLC media player

点击菜单 “媒体” - “打开网络串流”, 输入 URL

rtmp://192.168.246.102/vod/abcd-1703474265-2023-12-25-11_17_45.flv

注意:如果 /var/rec 有下级目录,播放URL需要使用两个斜杠

比如,要播放 /var/rec/flv 下的flv文件 abc.flv

输入URL为 rtmp://192.168.246.102/vod//flv/abc.flv

点播远程文件

点播服务器也可以播放远程服务器的资源

配置远程服务器192.168.246.103

http {
  	... 
  	server {
        listen 8081;
        server_name localhost;
        
        location / {
            root /www;
        }
    }
}

开放8081端口

# firewall-cmd --zone=public --add-port=8081/tcp --permanent
# firewall-cmd --reload

创建目录 /www/rec , 并把视频文件放在此目录下

# mkdir /www/rec
# ... 此处省略了移动文件步骤
# cd /www/rec
# ls
abcd-1703474051-2023-12-25-11_14_11.flv  abcd-1703474066-2023-12-25-11_14_26.flv

配置点播服务器 192.168.246.102

rtmp {
    server {
        listen 1935;
    
        application vod2 {
            play http://192.168.246.103:8081/rec;
        }
    }
}

使用 VLC media player

点击菜单 “媒体” - “打开网络串流”, 输入 URL

rtmp://192.168.246.102/vod2/abcd-1703474066-2023-12-25-11_14_26.flv

注意:如果 /www/rec 有下级目录, 播放URL需要使用两个斜杠

比如,要播放 /var/rec/flv 下的flv文件 abc.flv

输入URL为 rtmp://192.168.246.102/vod2//flv/abc.flv

指定多个播放位置

配置点播服务器 192.168.246.102

rtmp {
    server {
        listen 1935;
    
        application vod3 {
      		# /var/abc 目录不存在
            play /var/abc /var/rec http://192.168.246.103:8081/rec;
        }
    }
}

使用 VLC media player播放 rtmp://192.168.246.102/vod3/abcd-1703474338-2023-12-25-11_18_58.flv

  • 由于目录 /var/abc 不存在, 尝试播放目录 /var/rec 下的文件;
  • 可以成功播放目录 /var/rec 下的文件 abcd-1703474338-2023-12-25-11_18_58.flv , 于是不再从后面位置查找要播放的文件。

参考

https://github.com/arut/nginx-rtmp-module

到此这篇关于nginx-rtmp-module模块实现视频点播的文章就介绍到这了,更多相关nginx-rtmp-module 视频点播内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx如何限制IP访问只允许特定域名访问

    Nginx如何限制IP访问只允许特定域名访问

    我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了,下面这篇文章主要给大家介绍了关于Nginx如何限制IP访问只允许特定域名访问的相关资料,需要的朋友可以参考下
    2022-07-07
  • 通过nginx反向代理来调试代码的实现

    通过nginx反向代理来调试代码的实现

    这篇文章主要介绍了通过nginx反向代理来调试代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Nginx启动显示80端口占用问题的解决方案

    Nginx启动显示80端口占用问题的解决方案

    这篇文章主要介绍了Nginx启动显示80端口占用问题的解决方案,文中通过代码示例和图文讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • 解读Nginx和Apache的特点与区别

    解读Nginx和Apache的特点与区别

    这篇文章主要介绍了解读Nginx和Apache的特点与区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • ELK监控nginx日志的整体流程

    ELK监控nginx日志的整体流程

    这篇文章主要介绍了ELK监控nginx日志总结,整体流程是先把logstash启动,读取nginx日志数据存储到ES中,再用kibana进行统计以及可视化,本文给大家介绍的非常详细,需要的朋友参考下吧
    2022-03-03
  • 如何修改Nginx版本名称伪装任意web server

    如何修改Nginx版本名称伪装任意web server

    这篇文章主要介绍了修改Nginx版本名称伪装任意web server的方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-08-08
  • 找出nginx配置文件的所在位置的方法详解

    找出nginx配置文件的所在位置的方法详解

    这篇文章主要介绍了找出nginx配置文件的所在位置的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • nginx slice模块的使用和源码分析小结

    nginx slice模块的使用和源码分析小结

    很多请求都会去访问一个巨大的文件,这个时候slice模块就有了用武之地,本文主要介绍了nginx slice模块的使用和源码分析,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Nginx服务部署与配置全过程

    Nginx服务部署与配置全过程

    Nginx是一个高性能的Web服务器和反向代理服务器,具有高并发、高可靠性、热部署等特性,它支持HTTP、HTTPS、IMAP、POP3和SMTP协议,适用于静态资源服务、反向代理、负载均衡和API网关等场景,文章还介绍了Nginx的安装、升级和反向代理配置方法
    2025-12-12
  • Nginx 缓存系统 proxy_cache工作原理解析

    Nginx 缓存系统 proxy_cache工作原理解析

    Nginx 的 proxy_cache 模块允许 Nginx 作为反向代理服务器时缓存后端服务器的响应,本文给大家介绍Nginx 缓存系统 proxy_cache的工作原理,感兴趣的朋友跟随小编一起看看吧
    2024-12-12

最新评论