【问题标题】:Find frame rate SPS查找帧率 SPS
【发布时间】:2015-09-28 20:39:30
【问题描述】:

我已经阅读了几篇关于 SPS 和 PPS 的帖子 (http://tinyurl.com/nqtfh9a...) 和链接 (http://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set/),但无法真正理解。

我买了一个带 SDK 的编码器。在规范中,它给了我这个SPS和PPS,我想知道这里是否有任何帧率信息:

SPS= 0x00、0x00、0x00、0x01、0x67、0x42、0x00、0x1e、0x9a、0x74、0x05、0x81、0xec、0x80

我使用了一个 h264 分析仪,我得到了以下信息:

Found NAL at offset 4 (0x0004), size 10 (0x000A) 
XX 00 00 00 01 67 42 00 1E 9A 74 05 81 EC 80 
==================== NAL ====================
 forbidden_zero_bit : 0 
 nal_ref_idc : 3 
 nal_unit_type : 7 ( Sequence parameter set ) 
======= SPS =======
 profile_idc : 66 
 constraint_set0_flag : 0 
 constraint_set1_flag : 0 
 constraint_set2_flag : 0 
 constraint_set3_flag : 0 
 constraint_set4_flag : 0 
 constraint_set5_flag : 0 
 reserved_zero_2bits : 0 
 level_idc : 30 
 seq_parameter_set_id : 0 
 chroma_format_idc : 1 
 residual_colour_transform_flag : 0 
 bit_depth_luma_minus8 : 0 
 bit_depth_chroma_minus8 : 0 
 qpprime_y_zero_transform_bypass_flag : 0 
 seq_scaling_matrix_present_flag : 0 
 log2_max_frame_num_minus4 : 5 
 pic_order_cnt_type : 0 
   log2_max_pic_order_cnt_lsb_minus4 : 6 
   delta_pic_order_always_zero_flag : 0 
   offset_for_non_ref_pic : 0 
   offset_for_top_to_bottom_field : 0 
   num_ref_frames_in_pic_order_cnt_cycle : 0 
 num_ref_frames : 1 
 gaps_in_frame_num_value_allowed_flag : 0 
 pic_width_in_mbs_minus1 : 43 
 pic_height_in_map_units_minus1 : 29 
 frame_mbs_only_flag : 1 
 mb_adaptive_frame_field_flag : 0 
 direct_8x8_inference_flag : 1 
 frame_cropping_flag : 0 
   frame_crop_left_offset : 0 
   frame_crop_right_offset : 0 
   frame_crop_top_offset : 0 
   frame_crop_bottom_offset : 0 
 vui_parameters_present_flag : 0 
=== VUI ===
 aspect_ratio_info_present_flag : 0 
   aspect_ratio_idc : 0 
     sar_width : 0 
     sar_height : 0 
 overscan_info_present_flag : 0 
   overscan_appropriate_flag : 0 
 video_signal_type_present_flag : 0 
   video_format : 0 
   video_full_range_flag : 0 
   colour_description_present_flag : 0 
     colour_primaries : 0 
   transfer_characteristics : 0 
   matrix_coefficients : 0 
 chroma_loc_info_present_flag : 0 
   chroma_sample_loc_type_top_field : 0 
   chroma_sample_loc_type_bottom_field : 0 
 timing_info_present_flag : 0 
   num_units_in_tick : 0 
   time_scale : 0 
   fixed_frame_rate_flag : 0 
 nal_hrd_parameters_present_flag : 0 
 vcl_hrd_parameters_present_flag : 0 
   low_delay_hrd_flag : 0 
 pic_struct_present_flag : 0 
 bitstream_restriction_flag : 0 
   motion_vectors_over_pic_boundaries_flag : 0 
   max_bytes_per_pic_denom : 0 
   max_bits_per_mb_denom : 0 
   log2_max_mv_length_horizontal : 0 
   log2_max_mv_length_vertical : 0 
   num_reorder_frames : 0 
   max_dec_frame_buffering : 0 
=== HRD ===
 cpb_cnt_minus1 : 0 
 bit_rate_scale : 0 
 cpb_size_scale : 0 
   bit_rate_value_minus1[0] : 0 
   cpb_size_value_minus1[0] : 0 
   cbr_flag[0] : 0 
 initial_cpb_removal_delay_length_minus1 : 0 
 cpb_removal_delay_length_minus1 : 0 
 dpb_output_delay_length_minus1 : 0 
 time_offset_length : 0 

我试图从这些信息中获取 SPS,但我无法获取相同的信息。 谢谢和亲切的问候

【问题讨论】:

    标签: video h.264 video-editing


    【解决方案1】:

    它可以在 SPS 中传达,但不是强制性的。它在:

    SPS -> VUI 参数 -> 时序信息

    如果 vui_prameters_present_flag 为 1,timing_info_present_flag 为 1,那么你想要的两个字段是:'num_units_in_tick' 和 'time_scale'。您的第二个链接中的示例包含此信息。

    在没有任何有趣的帧速率技巧的情况下,并且当 fixed_frame_rate_flag 为 1 时,您的图片速率(以 fps 为单位)为: time_scale / num_units_in_tick。

    如果您使用的是基于场的视频,那么这将是场速率,因此您必须将其减半才能获得帧速率。

    【讨论】:

    • 嗨皮特克!感谢您的回答。我一直在对视频轨道进行一些分析,并编辑了上一篇文章。我得到“00 1e”,但在那之后,我得到的字节与 SPS 不对应。在第二个链接中,有几个参数似乎具有可变位...我怎么知道有多少?
    • 你已经解析了 level_idc,但之后它变得更加复杂。在您链接到的表中,“ue(v)”表示可变长度代码(“指数哥伦布编码值”)。但是 h264 分析器转储显示不,SPS 中没有帧速率信息。仍然有可能每个帧都有一个与之关联的时间戳(查找“图片计时 SEI 消息”),但您的 AVC 标头并未对帧速率做出任何承诺。
    • “如果您使用基于现场的视频...”您怎么知道的?有 vui.chroma_sample_loc_type_top_field 和 vui.chroma_sample_loc_type_bottom_field 和 offset_for_top_to_bottom_field。其中是否有任何表明您正在使用基于现场的视频?
    猜你喜欢
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 2017-03-19
    • 1970-01-01
    • 2013-07-15
    相关资源
    最近更新 更多