我正在尝试使用 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