我有.avi
文件:
$ ffprobe input.avi -hide_banner
Input #0, avi, from 'input.avi':
Duration: 00:01:08.05, start: 0.000000, bitrate: 182785 kb/s
Stream #0:0: Video: rawvideo, bgr24, 1060x615, 182915 kb/s, 20 fps, 20 tbr, 20 tbn
$ file input.avi
input.avi: RIFF (little-endian) data, AVI, 1060 x 615, 20.00 fps, video: uncompressed
这里我们看到“rawvideo,bgr24”。
我已经尝试多次调用 ffmpeg,但无法.mp4
在 Windows 10 照片应用中播放:
注意:但是 VLC 播放效果很好.mp4
。
一个简单的问题:如何正确地.avi
将包含“rawvideo,bgr24”转换为.mp4
(以便可以在任何播放器中正确播放)?
答案1
FFmpeg(H.264编解码器)的默认输出像素格式是yuv444p
。
由于某种原因微软电影和电视播放器不支持yuv444p
像素格式的 H.264(至少不是“开箱即用的”)。
为了获得更高的可移植性,请选择yuv420p
像素格式:
ffmpeg -i input.avi -pix_fmt yuv420p output.mp4
最好选择编解码器并设置crf
(质量)参数(不依赖于默认值):
ffmpeg -i input.avi -vcodec libx264 -crf 20 -pix_fmt yuv420p output.mp4
一般来说,我不建议使用电影和电视,但出于某种原因,微软决定将其作为 Windows 10 中的默认播放器......