安装 s3fs(保险丝)驱动器的 FFMPEG 问题“无法将文件 __.stream.tmp 重命名为 __.stream:不支持操作”
Posted
技术标签:
【中文标题】安装 s3fs(保险丝)驱动器的 FFMPEG 问题“无法将文件 __.stream.tmp 重命名为 __.stream:不支持操作”【英文标题】:FFMPEG trouble with mounted s3fs (fuse) drive "failed to rename file __.stream.tmp to __.stream: Operation not supported" 【发布时间】:2021-11-23 23:01:34 【问题描述】:*** 请这个问题不是关于我的 ffmpeg 命令,而是当输出文件进入挂载的 s3fs 时停止的事实......
CONTEXT : 当输出文件通过 s3fs (fuse) [linux] 进入挂载的存储桶时转换视频
CONTEXT 2:我的 ffmpeg 命令没有错误,当我在本地执行时 => 一切正常。但是当它进入 s3fs 安装点时,我得到了错误。
FFPMEG 命令:
ffmpeg -i "/home/ffmpeg/112233.mov"
-c:v libx264 -movflags +dash -preset fast
-pix_fmt yuv420p -c:a aac -b:a 192k -ac 2
-profile:v high -b:v 3369k -vf scale=-2:1080
-bufsize 969k -hls_time 9 -hls_list_size 0 -g 30
-start_number 0 -streaming 1 -hls_playlist 1
-lhls 1 -hls_playlist_type event
-f hls "/mnt/s3fs/test/112233.stream"
当我尝试这个 FFMEG 时:本地 -> 到 -> 本地 = ok
当我尝试这个 FFMEG 时:本地 -> 到 -> s3fs = 几秒钟后停止
"failed to rename file __.stream.tmp to __.stream: Operation not supported"
问题 1:是否有不重命名的 ffmpeg 选项(不创建 .tmp 而仅创建 .m3u8)?
问题 2:或者是否有一个选项可以让 ffmpeg 在发生此错误时继续?
【问题讨论】:
你能用 strace 运行 ffmpeg 来查看哪个系统调用返回 ENOTSUPP 吗?另外您使用的是哪个版本的 s3fs? @AndrewGaul 看到我的回答,问题是-hls_playlist_type event
正在等待第一个段重命名...
但这是一种解决方法——s3fs 有一些潜在的问题阻碍了正常使用。请跟进 GitHub 问题!
原始命令适用于我使用 ffmpeg 和 s3fs 1.90。
【参考方案1】:
我在网上挖掘了一下,发现-hls_playlist_type event
“等待”完成第一段以“重命名”.tmp
将-hls_playlist_type event
替换为-hls_playlist_type vod
就成功了。
现在 .m3u8 无需重命名即可创建。
【讨论】:
我还删除了-hls_playlist_type
,它会立即创建.m3u8.tmp,而-hls_playlist_type vod
会等待完整的转码完成以创建.m3u8
s3fs 也指向一个很难重命名的挂载点...我用 cp 而不是 mv ....以上是关于安装 s3fs(保险丝)驱动器的 FFMPEG 问题“无法将文件 __.stream.tmp 重命名为 __.stream:不支持操作”的主要内容,如果未能解决你的问题,请参考以下文章
Raspbian Jessie:“apt-get upgrade”后无法再安装 NTFS 外部硬盘驱动器(保险丝设备丢失)