如何解决ffmpeg 在 1 或 2 小时后停止并出现错误:无法读取文件:打开的文件太多
当我使用 realod=1 的 drawtext 时,1 或 2 小时后我的 ffmpeg 停止并出现错误:
[Parsed_drawtext_7 @ 0x563aa3230f00] [FILE @ 0x7fff415ec800] Cannot read file 'myfile.txt':
Too many open files
[Parsed_drawtext_7 @ 0x563aa3230f00] The text file 'myfile.txt' Could not be read or is
empty
Error while filtering: Too many open files
Failed to inject frame into filter network: Too many open files
Error while processing the decoded data for stream #5:0
我制作了一个 bash 文件,每 3 分钟更改一次文件,但我遇到了同样的问题。
感谢帮助
解决方法
来自drawtext filter documentation:
reload
如果设置为 1
,textfile
将在每帧之前重新加载。 一定要原子更新,否则可能会被部分读取,甚至失败。
因此必须以原子方式更新文本文件,例如在 Linux 或 macOS 中使用 mv
。
我发现了什么
我在运行 ffmpeg 命令之前输入了“ulimit -n 10000”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。