H264需为偶数尺寸
刚才上传一个 mp4 视频时报错(视频见上一篇文章),本地调试发现错误信息为:
[libx264 @ 0x55a5429f40c0] height not divisible by 2 (540x771)
搜索相关信息了解到:旧式 H264 编码视频(如 yuv420p 格式)如果长宽中含有奇数会导致转码失败。
因此,强制转换长宽为偶数:
$width = 2 * (int)ceil($width / 2);
$height = 2 * (int)ceil($height / 2);
之前一直没发现这个问题,大概是因为绝大部分是手机直接拍的视频,都是标准偶数尺寸。
标签: 开发