如何使用ffmpeg更改流元数据?

时间:2012-01-29 15:42:05

标签: ffmpeg

我有很多视频文件,其中部分内容错误,或者至少ffmpeg报告错误的大小。 例如,ffmpeg打印:

 Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2009-10-11 15:04:33
    encoder         : HandBrake 0.9.3 2008112300
 Duration: 01:47:42.18, start: 0.000000, bitrate: 663 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x464 [
SAR 43:36 DAR 215:116], 499 kb/s, 25 fps, 25 tbr, 48k tbn, 50 tbc
 Metadata:
    creation_time   : 2009-10-11 15:04:33
    handler_name    :
 Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 159
kb/s
 Metadata:
     creation_time   : 2009-10-11 15:04:33
     handler_name    :

但是,当我配置媒体播放器播放文件而不调整大小时,它的大小为860x464。

我想编写修复文件的脚本,但我不知道该怎么做。我已经更新到最后一个ffmpeg版本,并尝试使用-metadata:s:v:0 Video =“... 860x464 ...”,正如我在ffmpegh doc中读到的那样,但它不起作用。 我的错是什么?

1 个答案:

答案 0 :(得分:1)

你可能正在处理 Anamorphic widescreen

视频的“真实”尺寸为 860x464 ,其宽高比为1.85:1。问题是DVD图像帧具有这些最大尺寸。

  • PAL 720x576
  • NTSC 720x480

如果在保持宽高比的同时调整了此视频的大小,则会得到720x388。而不是这样做,作者记录在 720x464 。这样您就可以适应尺寸并最大限度地提高质量。显然,这样的录音会影响宽高比。变形视频内部有一个“开关”;当DVD读取此开关时,它会将视频水平扩展为 860x464

链接