Objective c 是否所有H.264视频流都可以使用iOS 8中的视频工具箱进行解压缩?

Objective c 是否所有H.264视频流都可以使用iOS 8中的视频工具箱进行解压缩?,objective-c,ios8,ffmpeg,h.264,video-toolbox,Objective C,Ios8,Ffmpeg,H.264,Video Toolbox,我遇到一些h.264视频文件,在使用“视频工具箱”解码时,屏幕上显示大面积绿色,没有任何错误,而我可以成功解码大多数其他h.264视频文件。VTB将使用您的硬件解码器。大多数硬件解码器仅限于解码某些配置文件(例如,仅主配置文件,而非高配置文件)、电平(例如,仅5.1,而非不受限制)、位深度(例如,仅8,而非10)、分辨率(例如,仅高达1080p,而非4k)、色度格式(例如,仅4:2:0,而非4:4:4)或其他格式 绿色可能意味着它是这些术语不受支持的组合。从SPS/PPS中,您可以找出配置文件/

我遇到一些h.264视频文件,在使用“视频工具箱”解码时,屏幕上显示大面积绿色,没有任何错误,而我可以成功解码大多数其他h.264视频文件。

VTB将使用您的硬件解码器。大多数硬件解码器仅限于解码某些配置文件(例如,仅主配置文件,而非高配置文件)、电平(例如,仅5.1,而非不受限制)、位深度(例如,仅8,而非10)、分辨率(例如,仅高达1080p,而非4k)、色度格式(例如,仅4:2:0,而非4:4:4)或其他格式


绿色可能意味着它是这些术语不受支持的组合。从SPS/PPS中,您可以找出配置文件/级别/etc,并对不受支持的配置文件使用软件解码。

SPS和PPS是:0 0 1 67 0 1e ac 2c ac d 83 de 6f ff 5 0 5 1 10 0 3e 80 0 c 35 8 f1 c2 d3 80 0 0 0 1 68 ee 3c B0谢谢您的回答,Bultje。是的,在这里,我想找出哪些参数在VTB中不受支持,以便使用软件解码这些视频文件。sps和pps的解析结果如下:profile_idc:100 level_idc:30 sps_id:0 chroma_format_idc:1 bit_depth_luma:8 bit_depth_chroma:8 transform_bypass:0 log2_max_frame_num_Minus 4:4 poc_type:0 log2_max_poc_lsb:4 ref_frame_计数:2 gaps_in_frame_num_allowed_标志:0 mb宽度_高度:54,30帧仅限镜头标志:1个镜头标志:1个镜头标志:1个视频参数标志:1个pps的镜头标志:1个pps的镜头标志:0个镜头标志:0个cabac:1个图片顺序标志:0个片段标志:1个组标志:1个参考计数[0]:1个参考计数[1]:1个加权的镜头标志:0个加权的镜头标志:0个初始像素:1a初始像素:1a色度指数偏移[0]:0解块\u过滤器\u参数\u存在:1受约束\u内部\u pred:0冗余\u pic\u cnt\u存在:0在另一个可由VTB解码的视频文件中,配置文件\u idc也为100。正确和错误的视频文件与sps和pps的区别是,log2_max_frame_num_minus4(0表示正确,4表示错误)、加权_pred(1表示正确,0表示错误)、加权_bipred_idc(2表示正确,0表示错误)和色度_qp_index_offset[0](fffffff e表示正确,0表示错误)。类似的内容在SPS/PPS中显示了更多信息,但无论如何,我认为您进展顺利。尝试查找(通过查看更多文件)硬件不支持的功能,您就完成了。