如何通过 FFmpeg 从所有格式中删除所有元数据?
我可以为每个man ffmpeg 的每个格式设置特殊的元数据。任何清除所有元数据并从 ffmpeg 上可用的所有元数据中剥离媒体的选项或方法?
-metadata key=value
Set a metadata key/value pair.
For example, for setting the title in the output file:
ffmpeg -i in.avi -metadata title="my title" out.flv
Run Code Online (Sandbox Code Playgroud)
slh*_*hck 81
ffmpeg -i in.mov -map_metadata -1 -c:v copy -c:a copy out.mov
Run Code Online (Sandbox Code Playgroud)
结果是(再次检查exiftool),元数据记录从 81 行减少到 52 行。请注意,您不能简单地删除所有元数据,有些内容会保留下来。
如果要删除新添加的encoder字段,请将其添加到命令中(在输出文件名之前):
-fflags +bitexact -flags:v +bitexact -flags:a +bitexact
Run Code Online (Sandbox Code Playgroud)
感谢@wisbucky 的提示。
但是,我没有更改创建日期,这很奇怪,因为它似乎在 Ubuntu 版本中有效。我在FFmpeg 邮件列表上发帖,询问是否有任何更新或评论,但没有答案。
shu*_*hub 11
我的解决方案是剥离元数据、章节,以更改创建时间和标题。这样任何元内容都应该与原始文件不同:
ffmpeg -y -i "test.mkv" -c copy -map_metadata -1 -metadata title="My Title" -metadata creation_time=2016-09-20T21:30:00 -map_chapters -1 "test.mkv"
Run Code Online (Sandbox Code Playgroud)
evi*_*oup 10
注意:我已经更新了ffmpeg(以前我avconv从 Ubuntu 存储库中获得了过时的版本)。
现在@slhck-map_metadata -1 完美运行。
我推荐@slhck 的解决方案,因为它的输入更少并且是最新的。我把这个留在这里给任何使用过时版本的人。
最简单的方法是设置-map_metadata使用输入流之一,而不是使用全局元数据。99% 的时间这应该有效。注意:我正在使用 avconv,因为它在 Ubuntu 12.04 存储库中;这可能与 ffmpeg 兼容,因为它们的语法始终符合我的经验。
avconv -i input.mp4 -map 0 -map_metadata 0:s:0 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)
这将从第一个数据流(通常是视频流)中获取元数据,并使用它来替换容器文件的全局元数据。这是有效的,因为大多数时候,数据流没有写入有意义的元数据;然而,有时他们会这样做,并且您希望完全摆脱该元数据。不幸的是,我能想到的唯一方法是使用管道和两个 avconv 进程。
avconv -i input.mp4 -f wav - | avconv -i - -i input.mp4 -map 1 -map_metadata 0 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)
这利用了 WAV 文件不能包含元数据的事实(因为格式是在元数据标签存在之前创建的)。
这两种方法都exiftool清除了我刚刚测试过的文件上的所有元数据 - 所有报告的都是编解码器信息,而 avprobe 没有向我报告任何元数据。为此使用管道非常难看,第一种方法在 99% 的情况下都有效,因此应该首选。
为了剥离元数据,我使用-map_metadata:g -1,因为我只剥离全局元数据并保留字幕的元数据,例如轨道语言名称:
$ ffmpeg -hide_banner -i "$video" -map 0:v:0? -map 0:a? -map 0:s? -c copy -map_metadata:g -1 "$outputVideo"
Run Code Online (Sandbox Code Playgroud)
选项-map 0:...?参数意味着(根据man ffmpeg):
后面有一个“?” 流索引之后将允许映射是可选的:如果映射没有匹配任何流,则映射将被忽略而不是失败。
| 归档时间: |
|
| 查看次数: |
136953 次 |
| 最近记录: |