ffmpeg - 元数据中的多行文本(注释标签)

Yar*_*lav 6 shell mp3 ffmpeg m4a

我使用 ffmpeg 来更新元数据标签,如下所示:

ffmpeg -i "in.m4a" -acodec copy -metadata artist="artist text"
-metadata comment="comment text" "out.m4a"
Run Code Online (Sandbox Code Playgroud)

好吧,“艺术家文本”和“评论文本”通常是纯文本,但评论字段允许放置多行文本。每行必须有换行符才能完成。像这样的东西:

-metadata comment="source: lastfm \r\n tags: tag1, tag2 \r\n ..."
Run Code Online (Sandbox Code Playgroud)

但我使用的所有字符(\r\n、%nl%、^N)都没有结果。

我使用shell_exec()函数在Windows上从PHP脚本运行ffmpeg.exe

请有人帮忙,或者告诉我这真的可能吗?...

小智 6

您可以使用 PowerShell 来执行此操作,使用`n代表换行符,也可以选择 `r使用回车符

ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a
Run Code Online (Sandbox Code Playgroud)

Windows 默认 shell 是cmd.exe这样的,所以你可能需要像这样调用

powershell ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a
Run Code Online (Sandbox Code Playgroud)

输出

将 #0、ipod 输出到“out.m4a”:
  元数据:
    主要品牌:M4A
    次要版本:512
    兼容品牌:isomiso2
    评论:你好
                    : 世界
    编码器:Lavf55.1.100