5

我使用 ffmpeg 像这样更新元数据标签:

ffmpeg -i "in.m4a" -acodec copy -metadata artist="artist text"
-metadata comment="comment text" "out.m4a"

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

-metadata comment="source: lastfm \r\n tags: tag1, tag2 \r\n ..."

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

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

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

4

2 回答 2

4

You can do this with PowerShell using the `n for a newline and optionally `r for carriage return

ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a

Windows default shell is cmd.exe so you may need to invoke like this

powershell ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a

Output

Output #0, ipod, to 'out.m4a':
  Metadata:
    major_brand     : M4A
    minor_version   : 512
    compatible_brands: isomiso2
    comment         : hello
                    : world
    encoder         : Lavf55.1.100
于 2013-04-18T17:34:53.727 回答
0

Linux的工作解决方案:

ffmpeg ... -metadata comment='https://www.youtube.com/watch?v=text1'$'\n''https://www.youtube.com/watch?v=text2' ... output

vlcbash都显示ffmpeg -i output两行。

于 2021-12-20T00:54:29.840 回答