我尝试将ffmpeg用于许多元数据参数,并且我想知道是否有任何方法使用文件传递元数据,从而最大限度地减少cli命令长度。
我在ffmpeg帮助和文档中看到有一个选项:
-map_metadata outfile[,metadata]:infile[,metadata] set metadata information of outfile from infile
尽管如此,我还没有找到如何使用它,我找不到任何例子。
换句话说,我正在寻找一些可以提供给我的语法 跟随我的ffmpeg执行的变化:
来自此
ffmpeg -i input -metadata metadata1='asdf1' -metadata metadata2='asdf2' ... -metadata metadataN='asdfNN' [output]
到此
ffmpeg -i input -map_metadata filemetadata.txt [output]
文件filemetadata.txt
metadata1='asdf1'
metadata2='asdf2'
...
metadataN='asdfN'
我需要最小化命令行长度的原因是if 您在Docker容器中启动 FFmpeg ,ENTRYPOINT / CMD /命令 (在撰写中)对参数数量/字符串长度有限制。 我需要传递许多参数,并且我想避免创建bash 例如,使用FFmpeg调用文件,复制它并使用docker执行 EXEC键。
有任何线索吗?
答案 0 :(得分:1)
检查此Stackoverflow链接以获取问题的答案:
How to add chapters into mp4/mkv file using ffmpeg?
简而言之:
ffmpeg -i "input.mp4" -i meta -map_metadata 1
文件“ meta”具有标签,并且首行为“; FFMETADATA1”。
例如:
;FFMETADATA1
major_brand=M4A
minor_version=512
compatible_brands=isomiso2
artist=Herman Melville
album=Moby Dick