You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg裁剪视频时major_brand被自动修改的问题及通用保留原品牌的方法咨询

FFmpeg裁剪视频时major_brand被自动修改的问题及通用保留原品牌的方法咨询

我平时用这条命令裁剪视频:

ffmpeg -i input.mp4 -ss 5.000000  -map 0:v -map 0:a? -c:v copy -c:a copy  output.mp4 -y

最近发现一个奇怪的问题:输入视频的major_brand是mp42,但输出视频的major_brand变成了isom。更诡异的是,FFmpeg执行命令时的输出日志明明显示输出的major_brand是mp42:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
encoder : Lavf59.27.100
Duration: 00:02:58.96, start: 0.000000, bitrate: 10015 kb/s
Stream #0:00x1: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 9828 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 libx264
Stream #0:10x2: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 180 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Output #0, mp4, to 'output.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
encoder : Lavf59.27.100
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 9828 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 libx264
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 180 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)

但用ffprobe检查输出视频时,结果却显示major_brand是isom:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf59.27.100
Duration: 00:02:53.96, start: 0.013000, bitrate: 9590 kb/s
Stream #0:00x1: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 9452 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 libx264
Stream #0:10x2: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 186 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]

我希望能保留输入视频的major_brand,虽然我知道可以用-brand参数手动指定为mp42,但我想要一个更通用的方案,不用每次都手动设置品牌值。我试过添加-movflags use_metadata_tags和-map_metadata 0参数,但都没效果。

有没有其他方法可以让FFmpeg自动保留输入视频的原major_brand呢?感谢大家的解答!

备注:内容来源于stack exchange,提问作者Rems

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:43:18