我尝试使用 avconv 从 jpg 包制作视频并在 iphone 上打开它。我使用 MJPEG 按照以下命令制作 avi 文件:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
我的电脑上一切正常,但当我在 iPhone 上打开此视频时,只看到黑屏。我尝试使用输入文件中的所有参数(通过 AVS 视频转换器)将其从 MJPEG“转换”为 MJPEG,然后 iPhone 可以正常播放。我不明白为什么“转换”之前的视频无法在 iPhone 上播放。我做错了什么?
来自 avconv 的 PS 信息:
在“转换”之前
/mnt/dav $ avconv -i out.avi
avconv version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2000-2013 the Libav developers
built on Mar 31 2013 13:58:10 with gcc 4.6.3
Input #0, avi, from 'out.avi':
Metadata:
encoder : Lavf53.21.1
Duration: 00:00:02.30, start: 0.000000, bitrate: 3767 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 1280x720, PAR 1:1 DAR 16:9, 10 tbr, 10 tbn, 10 tbc
At least one output file must be specified
“转换”后
/mnt/dav $ avconv -i out_conv.avi
avconv version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2000-2013 the Libav developers
built on Mar 31 2013 13:58:10 with gcc 4.6.3
Input #0, avi, from 'out_conv.avi':
Duration: 00:00:02.30, start: 0.000000, bitrate: 3804 kb/s
Stream #0.0: Video: mjpeg, yuvj420p, 1280x720, 10 tbr, 10 tbn, 10 tbc
At least one output file must be specified
答案1
问题似乎是视频的yuvj422p
像素格式,使用 4:2:2色度二次采样。可能是iPhone只支持4:2:0的二次采样。
尝试一下这个:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -pix_fmt yuvj420p -qscale 1 out.avi