好的,我终于成功下载了你的视频并在本地复现了设置。我这边转换后的文件大小没有问题(转换后是815MB)。
深入查看你的日志后,我认为我找到了问题的根源——是你的显卡驱动。
你的源视频有很多损坏的时间戳,日志里90%都是这类错误:
2023-11-10T08:05:27 MCEBuddy.AppWrapper.Handbrake → [h264_qsv @ 0000000004b60380] A decode call did not consume any data
2023-11-10T08:05:27 MCEBuddy.AppWrapper.Handbrake → [NULL @ 00000000083b1080] missing picture in access unit
接着我注意到,在你的日志中,显卡驱动无法处理这些视频错误,结果在尝试修复时重复了大量视频内容,导致视频码率飙升到49Mbps:
2023-11-10T08:05:59 MCEBuddy.AppWrapper.Handbrake → [08:05:59] mux: track 0, 159273 frames, 16304021784 bytes, 49059.44 kbps, fifo 1024
2023-11-10T08:05:59 MCEBuddy.AppWrapper.Handbrake → [08:05:59] mux: video bitrate error, +15477179768 bytes
而在我这边的测试机器上,驱动通过丢弃损坏的视频帧进行补偿,从而降低了码率:
2023-11-13T16:50:28 MCEBuddy.AppWrapper.Handbrake → [16:50:28] mux: track 0, 159273 frames, 814012086 bytes, 2449.39 kbps, fifo 2048
2023-11-13T16:50:28 MCEBuddy.AppWrapper.Handbrake → [16:50:28] mux: video bitrate error, -12829930 bytes
所以你得到的文件大得多,问题出在你的显卡驱动(其实根源是源视频本身有问题,但糟糕的显卡驱动才是导致文件变大的原因)。
你有3个选择:
- 更新或回退你的显卡驱动,如果你想用硬件加速来转换视频,避免这个问题。
- 在转换任务设置中关闭硬件加速/GPU编码。
- 参考上面的建议,使用MP4未处理配置文件,因为你其实不需要重新编码视频,只需要剪辑一下,把容器从TS改成MP4即可。