我正在使用 ffmpeg 创建 hls 直播流,命令如下
ffmpeg -i "rtmp://domain.com/stream/6" -c:v copy -c:a copy -f hls -y -preset superfast -hls_segment_type mpegts -hls_time 10 -hls_init_time 4 -hls_list_size 10 -hls_flags delete_segments+discont_start -hls_delete_threshold 1 -hls_segment_filename 'segment_%03d.ts' '/var/www/html/live/index.m3u8'
ffmpeg 运行并启动没有问题,但随后我收到以下错误
[hls @ 0x5603199e8840] 打开“segment_000.ts”进行写入 [hls @ 0x5603199e8840] 打开“/var/www/html/live/index.m3u8.tmp”进行写入 [hls @ 0x5603199e8840] 无法将文件 /var/www/html/live/index.m3u8.tmp 重命名为 /var/www/html/live/index.m3u8:没有此文件或目录
我安装了最新版本的 ffmpeg。我还检查了 ffmpeg 是否具有完全权限,保存流的文件夹是否具有完全权限,我甚至将它们设置为 777,但仍然出现错误
我正在使用 nginx 作为 http 服务器,它位于 ubuntu 服务器上。
这是我家地下室防火墙保护的本地服务器,所以设置 777 对我来说并不担心,只是为了阻止人们说你永远不应该以 root 身份运行或使用 777,任何人都无法连接到该服务器,所有 ip 都被阻止,但一个远程服务器和一个本地 ip