以下是关于我的视频的ffmpeg信息 -
我的原始.mov视频:
使用 Handbrake 将 .mov 转换为 mp4 后,但在 iPad 上无法渲染。Seems stream 1 codec frame rate differs from container frame rate: 6000.00 (6000/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a_video.mp4':
Metadata:
major_brand : qt minor_version : 537199360 compatible_brands: qt
Duration: 00:00:42.74, start: 0.000000, bitrate: 220 kb/s
Stream #0.0(eng): Audio: aac, 44100 Hz, stereo, s16, 94 kb/s Stream #0.1(eng): Video: h264, yuv420p, 762x464, 122 kb/s, 30 fps, 30 tbr, 3k tbn, 6k tbc
Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a_video.m4v':
Metadata:
major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 encoder: HandBrake 0.9.5 2011010300
Duration: 00:00:42.77, start: 0.000000, bitrate: 169 kb/s
Stream #0.0(und): Video: h264, yuv420p, 752x464 [PAR 381:376 DAR 381:232], 35 kb/s, PAR 145161:141376 DAR 145161:87232, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
这里是我在网上找到的一个.mp4文件,可以在iPad上播放:
似乎流1的编解码器帧率与容器帧率不同:180000.00(180000/1) -> 25.00(25/1)
从'a_video_3_emu.mp4'输入#0,mov,mp4,m4a,3gp,3g2,mj2:
元数据: major_brand : M4VP
minor_version : 1
compatible_brands: M4VPM4A mp42isom
encoder : CoreMediaAuthoring 677, CoreMedia 420.17, i386持续时间:00:01:38.01,开始:0.000000,比特率:1023 kb/s
流#0.0(und):音频:aac,32000 Hz,单声道,s16,97 kb/s
流#0.1(und):视频:h264,yuv420p,480x360 [PAR 1:1 DAR 4:3],914 kb/s,25 fps,25 tbr,90k tbn,180k tbc
有人发现我编码视频的方式有问题吗?
编辑
起初我的理论是iPad对不同的容器格式敏感;但事实并非如此。我拍摄了一段可以正确在iPad上播放的视频并将其转换为.mov格式,它仍然可以在iPad上正确播放。因此,iPad处理底层H.264流的方式可能存在问题。