Unity正常是支持MP4的H264格式的视频的,我今天发现,我用格式工厂转码出来的视频,偏偏unity否认呢。可是这个视频文件我用一般的播放器都能播放啊。
后来我发现,跟视频的YUV格式有关。
我之前转码得到视频是YUV444p的。后来我用ffmpeg工具命令强制转为YUV420p就可以了。
命令内容:
ffmpeg -i input.avi -c:a copy -c:v libx264 -map 0 -pix_fmt yuv420p output.mp4
必须加上
-pix_fmt yuv420p
此外,查看文件格式的命令是
ffprobe -i output.mp4