ffmpeg:将"year"元数据设置为等于另一个元数据变量 (flac) 的前 4 个字符



我正在处理的 flac 文件有一个名为"发布日期"的属性,其值采用"YYYY-MM-DD"格式。

我是否可以从中获取"YYYY"并将年份变量设置为等于它?

ffmpeg -i input.flac -metadata year=???-codec copy output.flac

奖励问题,是否可以在不创建新文件的情况下就地执行此操作?还是我必须创建一个新文件,然后删除旧文件?

您必须分多个步骤执行此操作。

  1. 使用以下ffprobe获取元数据:

    ffprobe -loglevel error -show_entries format_tags="Date released" -of csv=p=0 input.flac
    

    结果类似于 2001-12-16。

  2. 处理输出以获取年份。您的操作系统/外壳/脚本/编码语言未知,所以我将把这部分留给你。

  3. 添加元数据:

    ffmpeg -i input.flac -c copy -metadata year=2001 output.flac
    

奖励问题,是否可以在不创建新文件的情况下就地执行此操作?

ffmpeg不可能。

还是我必须创建一个新文件,然后删除旧文件?

是的。

最新更新