MPMoviePlayerController收到错误“H264Decoder错误:此配置文件:77,不受支持。”

时间:2012-02-10 07:08:40

标签: iphone objective-c mpmovieplayercontroller h.264

在iphone 3g ios 4.2.1上运行时,下面的代码会导致日志中显示错误 (仅当videoLink是MOV和M4v视频文件的URL时。但如果它是MP4和3PG,它可以正常工作)

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoLink];
player.shouldAutoplay = NO;
[player stop];    
UIImage *image = [player thumbnailImageAtTime:timeAt                                        timeOption:MPMovieTimeOptionNearestKeyFrame];
    NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation(image, 1)];

日志

 mediaserverd[25]: H264Decoder ERROR:  This profile: 77, is not supported.

 mediaserverd[25]: H264VideoDecoder_Finalize:: delete last channel [ 0].

是什么原因? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

配置文件77也称为主要配置文件

iOS4.2.1(及更低版本)上的iPhone 3G不支持主要配置文件,只支持基线配置文件。然而,这与包装容器 - (文件) - 格式无关。只要支持实际的编解码器,使用的文件格式就是次要的。

简而言之,您尝试播放的视频与设备不兼容,您需要使用H264的基线配置文件对其进行重新编码。

以下是Apple完成的兼容性与编码矩阵。即使这是名为HTTP Streaming Encode Recommendations,它仍然适用于非流媒体(渐进式下载)和本地播放。

enter image description here