如果文件已经存在,ffmpeg 重命名输出

Posted

技术标签:

【中文标题】如果文件已经存在,ffmpeg 重命名输出【英文标题】:ffmpeg rename output if the file already exists 【发布时间】:2018-08-02 18:36:54 【问题描述】:

我正在使用自定义文件名通过 ffmpeg 从 rtsp 流录制一小时长的视频剪辑,我希望它在每次将剪辑保存到我的硬盘驱动器时检查视频文件是否已经存在并重命名新输出以节省两个文件。

例如,如果它正在保存剪辑 video-02222018.mp4 而不是覆盖它,如果文件已经存在,它将重命名为 video-02222018-01.mp4 或只要文件存在,就将其重命名为 video-02222018-02.mp4 等等。

注意:我将在 linux 系统上使用 crontab 运行此脚本,以便每小时触发此脚本。

【问题讨论】:

ffmpeg 不能重命名任何文件。但是您可以使用分段时间为 3600 的分段 muxer。 @Mulvya 可以使用 rtsp 流吗? 作为输入?我不知道你的完整命令,但一般不会有问题。 是的,我正在从 rtsp 流中抓取剪辑。我会尝试一下,并在得到结果后立即回复。 【参考方案1】:

据我了解,正如@Mulvya 所说,ffmpeg 无法做到这一点。我建议使用 python 脚本并使用 datetime 来命名您的文件,这样您就可以知道哪个是最新的,而无需搜索所有文件并递增。

输出文件名 + '-' + 时间戳

【讨论】:

以上是关于如果文件已经存在,ffmpeg 重命名输出的主要内容,如果未能解决你的问题,请参考以下文章

如果文件已存在,则重命名文件

如果已经存在该文件,则 Python 程序在覆盖时重命名文件名

重命名文件(如果已存在)-php 文件上传

如果文件已存在,则重命名文件

redis键重命名

php检查文件名是不是存在,重命名文件