无法让 nginx-vod-module 插件工作
Unable to get nginx-vod-module plugin to work
我第一次尝试 nginx-vod-module 或任何视频流。
我只想播放我放在服务器上的静态 mp4 视频,但通过 hls 而不是直接 mp4 访问。没有实际直播
Q1。我是否理解我本地放置在服务器上的 mp4 视频会自动分解为 HLS 片段?
我的 nginx 安装在这里:/opt/kaltura/nginx
mp4 文件位于 /opt/kaltura/nginx/test/vid.mp4
在 ../nginx/conf/server.conf 中,我有这个:
location /hls/ {
alias test/;
vod hls;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 4000;
include /opt/kaltura/nginx/conf/cors.conf;
}
location / {
root html;
}
现在,我可以访问 m3u8 文件了:
卷曲 http://104.167xxxxx/hls/vid.mp4/index.m3u8
但是当我尝试通过 VLC 打开这个文件时,我在 errors.log 中看到这些错误:
*2020/10/31 15:00:08 [error] 12749#0: *60 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-1-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:08 [error] 12752#0: *61 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-2-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:09 [error] 12749#0: *62 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-3-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:10 [error] 12751#0: *63 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-4-v1.ts HTTP/1.1", host: "104.167. ..."*
问题 2:必须使用 https 才能正常工作吗?
Q3:我在服务器上的任何地方都没有看到创建任何 /hls/vid.mp4 文件夹。我是否必须单独手动 运行 ffmpeg 来创建 hls 段?
我做错了什么?
我不是 Kaltura 专家,但希望这能帮助您缩小一些问题的范围:
A1:是的,Kaltura会打包一个solid mp4来为HLS传输流数据包。
A2:不,这应该在纯 http 上工作,我自己在 http 上进行了 运行 多次测试,不需要 https。
A3:不,您不需要手动 运行 ffmpeg。我相信 ffmpeg 是一个先决条件,所以它应该被安装,但你不需要自己分块 mp4,kaltura 插件会做到这一点。
我没有看到您发布的特定错误消息,所以恐怕我无能为力。
我第一次尝试 nginx-vod-module 或任何视频流。 我只想播放我放在服务器上的静态 mp4 视频,但通过 hls 而不是直接 mp4 访问。没有实际直播
Q1。我是否理解我本地放置在服务器上的 mp4 视频会自动分解为 HLS 片段?
我的 nginx 安装在这里:/opt/kaltura/nginx mp4 文件位于 /opt/kaltura/nginx/test/vid.mp4
在 ../nginx/conf/server.conf 中,我有这个:
location /hls/ {
alias test/;
vod hls;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 2000;
vod_bootstrap_segment_durations 4000;
include /opt/kaltura/nginx/conf/cors.conf;
}
location / {
root html;
}
现在,我可以访问 m3u8 文件了: 卷曲 http://104.167xxxxx/hls/vid.mp4/index.m3u8
但是当我尝试通过 VLC 打开这个文件时,我在 errors.log 中看到这些错误:
*2020/10/31 15:00:08 [error] 12749#0: *60 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-1-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:08 [error] 12752#0: *61 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-2-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:09 [error] 12749#0: *62 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-3-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:10 [error] 12751#0: *63 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-4-v1.ts HTTP/1.1", host: "104.167. ..."*
问题 2:必须使用 https 才能正常工作吗? Q3:我在服务器上的任何地方都没有看到创建任何 /hls/vid.mp4 文件夹。我是否必须单独手动 运行 ffmpeg 来创建 hls 段?
我做错了什么?
我不是 Kaltura 专家,但希望这能帮助您缩小一些问题的范围:
A1:是的,Kaltura会打包一个solid mp4来为HLS传输流数据包。
A2:不,这应该在纯 http 上工作,我自己在 http 上进行了 运行 多次测试,不需要 https。
A3:不,您不需要手动 运行 ffmpeg。我相信 ffmpeg 是一个先决条件,所以它应该被安装,但你不需要自己分块 mp4,kaltura 插件会做到这一点。
我没有看到您发布的特定错误消息,所以恐怕我无能为力。