我正在尝试使用 ffmpeg 从生成的 mp4 文件中删除版权字符串(版权字符串已存在于 avi 文件中)。
我有一个输入 avi,我想让“可流式传输”和删除所有元数据所以我用了:
$ ffmpeg -i input.avi -map 0 -movflags faststart -map_metadata -1 -codec copy output.mp4
查看输出,它似乎是“干净的”:
$ ffprobe output.mp4
[...]
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.20.100
Duration: 01:36:21.74, start: 0.000000, bitrate: 2036 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 704x396, 1392 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
handler_name : SoundHandler
Side data:
audio service type: main
但如果仔细观察:
$ strings -50 output.mp4 | sort -u
x264 - core - H.264/MPEG-4 AVC codec - Copyleft 2003-2010 - http://www.videolan.org/x264.html
和:
$ strings -50 output.mp4 | wc
1320 15840 125400
有没有办法从我的目标 mp4 电影中删除这 1320 个版权字符串?
更新:据用户 Deltik 称,此版权字符串是在函数 x264_sei_version_write 中设置的:
在 x264_encoder_headers 中是硬编码的:
但由于 ffmepg 文档似乎声称可以删除单位:
我想知道是否可以从 H.264 流中删除现有的版权字符串(例如节省一些磁盘空间)?