ffmpeg 调整大小:输出格式丢失

ffmpeg 调整大小:输出格式丢失

我正在尝试使用 ffmpeg 调整视频大小,它对大多数文件都运行良好,但有一个特定文件在调整大小时质量损失很大(分辨率符合要求,为原始分辨率的 1/2,但整体质量就像 1998 年通过 33.6k 调制解调器流式传输视频一样)。

通常我使用

ffmpeg -i video.vmw -vf "scale=iw/2:-1" video.vmw

命令,但在这种情况下我尝试使用它来避免质量下降:

ffmpeg -i video.vmw -c:v libx265 -c:a copy -vf "scale=iw/2:-1" video-resized.avi

不幸的是,在后一种情况下,mplayer 会认为它是 rawvideo,然后就不会显示视频流:

Input #0, avi, from 'video-resized.vmw':
  Metadata:
    copyright       : copyleft
    software        : Lavf58.76.100
  Duration: 00:01:50.56, start: 0.000000, bitrate: 1622 kb/s
  Stream #0:0: Video: rawvideo, bgr24, 960x540, 1520 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc
  Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, fltp, 96 kb/s

然而,在编码时它表明它正确地编码了输出流:

  Metadata:
    WMFSDKNeeded    : 0.0.0.0000
    DeviceConformanceTemplate: MP@HL
    WMFSDKVersion   : 11.0.5721.5275
    IsVBR           : 0
    copyright       : copyleft
    encoder         : Lavf58.76.100
  Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv, progressive), 960x540 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 12800 tbn
    Metadata:
      encoder         : Lavc58.134.100 libx265
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.134.100 aac

我尝试请求其他容器类型,例如 mkv,但结果相同。

原始文件元数据如下:

Input #0, asf, from 'video.wmv':
  Metadata:
    WMFSDKNeeded    : 0.0.0.0000
    DeviceConformanceTemplate: MP@HL
    WMFSDKVersion   : 11.0.5721.5275
    IsVBR           : 0
    copyright       : copyleft
  Duration: 00:33:30.52, start: 0.000000, bitrate: 8151 kb/s
  Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, fltp, 96 kb/s
  Stream #0:1(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 1920x1080, 8000 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc
[wmv3 @ 0x80641fe00] Extra data: 8 bits left, value: 0

相关内容