公司项目需求要将1张图片和1个mp3音频文件合成转为MP4,在html5上播放,原以为是很简单的一回事,所以很快就写了一条简单的ffmpeg命令去执行。

        ffmpeg -i 2.mp3 -f p_w_picpath2 -i 3.jpg -acodec aac -strict -2 -vcodec libx264 -ar 22050 -ab 128k -ac 2  -y 4.mp4

        一开始非常顺利,合成的MP4能够在html5上播放,但问题来了,当换了一张图片的时候,就发现不能播放了,总提示视频格式不正确。之后我又换了好多图片尝试,有些成功有些不成功。

        我点击右键查看图片属性,各样参数都是相同的,同样是.jpg,同样是300px*300px,同样是96dpi。

查了好久没查出原因,最后,用ffmpeg查看图片参数才发现问题。

        ffmpeg查看图片参数命令 ffmpeg -i 3.jpg

    wKiom1RQWoqiHz2DAAB8Lt0ZO40720.jpg

     wKioL1RQW9CDOpKVAAC4yw98LvE746.jpg

     相对比下,发现当中有一个参数不同,就是yuvj420p。