nginx-rtmp 播放本地MP4文件的问题

nginx-rtmp 播放本地MP4文件的问题
配置如下

img


img


视频文件放在了

img


这个目录下 但是我访问 http://localhost:8080/vod/20230308111413TO20230308115513.mp4 的时候

img


img


会直接黑屏 播放不了 请问下是为什么

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
首先,需要确认nginx-rtmp模块已经正确安装配置,并且已经启动。

针对你描述的问题,可能有以下几个方面的原因:

  1. 文件路径问题:

请确保视频文件的路径是正确的,可以通过在命令行中尝试直接访问该文件来排查此问题:

$ curl http://localhost:8080/vod/20230308111413TO20230308115513.mp4

如果显示“文件找不到”等错误,那么说明该文件路径设置有误。

  1. 文件权限问题:

请确认该mp4文件的权限设置为可读(755),可以使用命令chmod 755 filename修改文件权限。

  1. Nginx配置的问题:

请检查Nginx配置文件中rtmp_auto_push on; 选项是否正常,此选项表示启动自动推流。

在Nginx配置文件中添加以下代码,以尝试解决问题:

location /vod {
  alias /path/to/vod/directory;
  add_header Cache-Control no-cache;
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
}

其中,/path/to/vod/directory应该替换为存储你mp4文件的实际路径。

同时,确认以下参数是否正确设置:

application myapp {
  live on;
  play /vod;
}

其中,/vod应该替换为实际存储mp4文件的目录路径。

  1. 浏览器播放器问题:

最后,如果以上三点都排除了,可以考虑更换其他浏览器或者播放器进行测试。

如果问题依然存在,请确认mp4文件是否完整,或者是否存在其他错误,最好进行清理或重新尝试生成。

希望这些建议能够帮助你解决播放

你看下浏览器的控制台有没有报错信息。这个问题一般就是配置不对,导致找不到视频文件。也有可能是播放器这边参数设置不对。