ffmpeg - 元数据中的多行文本(注释标签)
Posted
技术标签:
【中文标题】ffmpeg - 元数据中的多行文本(注释标签)【英文标题】:ffmpeg - multiline text in metadata (comment tag) 【发布时间】:2013-04-11 13:18:46 【问题描述】:我使用 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) 都没有结果。
我在 Windows 上使用 shell_exec() 函数从 PHP 脚本运行 ffmpeg.exe
请大家帮忙,或者告诉我这真的可能吗?...
【问题讨论】:
【参考方案1】:适用于 Linux 的工作解决方案:
ffmpeg ... -metadata comment='https://www.youtube.com/watch?v=text1'$'\n''https://www.youtube.com/watch?v=text2' ... output
vlc 和 bash 都带有ffmpeg -i output
显示两行。
【讨论】:
【参考方案2】:您可以使用 PowerShell 执行此操作,使用 `n
作为换行符,也可以选择
`r
用于回车
ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a
Windows 默认 shell 是 cmd.exe
,因此您可能需要像这样调用
powershell ffmpeg -i in.m4a -metadata comment="hello`nworld" out.m4a
输出
输出#0,ipod,到“out.m4a”: 元数据: 主要品牌:M4A 次要版本:512 兼容品牌:isomiso2 评论:你好 : 世界 编码器:Lavf55.1.100【讨论】:
是的!为了使它工作,我使用 ffmpeg 的完整路径。结果命令在下一个:powershell D:\folder\ffmpeg.exe -i 'in.m4a' -acodec copy -metadata comment="first line`nsecond line" 'out.m4a' -y所以,Steven Penny 非常感谢! 如果路径或像comment="my album (mix)"
这样的值包含像(
、)
、[
、]
等括号,那么你应该使用单引号而不是双引号:comment='my album (mix)'
。如果需要使用换行符,则命令为:comment='my album'"`n"' (mix)'以上是关于ffmpeg - 元数据中的多行文本(注释标签)的主要内容,如果未能解决你的问题,请参考以下文章
使用 ffmpeg 将 .flac 转换为 .mp3,保留所有元数据
使用 ffmpeg 复制 GoPro 元数据 - 找不到编解码器的标签无