H264码流

本文为H264的码流解析,包括SPS、PPS、SEI、I frame、P frame、B frame,其中具体字段的意思可参考H.264文档

000000 seq_parameter_set (29 bytes)
000000  Header (5 bytes)
000000   zero_byte:                            0 (0x00)
000001   start_code_prefix_one_3bytes:         1 (0x000001)
000004   nal_ref_idc:                          3 (0x3) - (2 bits)
000004   nal_unit_type:                        7 (0x07) - (5 bits)
000005  profile_idc:                           100 (0x64)              // 当前码流的profile
000006  constraints (1 bytes)
000006   constraint_set0_flag:                 No
000006   constraint_set1_flag:                 No
000006   constraint_set2_flag:                 No
000006   constraint_set3_flag:                 No
000006   constraint_set4_flag:                 No
000006   constraint_set5_flag:                 No
000006   reserved_zero_2bits:                  0 (0x0) - (2 bits)
000007  level_idc:                             30 (0x1E) - (8 bits)   // 当前码流的level
000008  seq_parameter_set_id:                  0 (0x0)                // 当前序列参数集的id。通过该id值,图像参数集pps可以引用其代表的sps中的参数。
000008  high profile specific (1 bytes)
000008   chroma_format_idc:                    1 (0x1) - 4:2:0        // 色度采样结构,取值0(单色)、1(4:2:0)、2(4:2:2)、3(4:4:4)
000008   bit_depth_luma_minus8:                0 (0x0)
000008   bit_depth_chroma_minus8:              0 (0x0)
000008   qpprime_y_zero_transform_bypass_flag: No
000008   seq_scaling_matrix_present_flag:      No
000009  log2_max_frame_num_minus4:             0 (0x0)
000009  pic_order_cnt_type:                    0 (0x0)
000009  log2_max_pic_order_cnt_lsb_minus4:     2 (0x2)
000009  max_num_ref_frames:                    4 (0x4)    // 表示参考帧的最大数目
00000A  gaps_in_frame_num_value_allowed_flag:  No         // 表示frame_num中是否允许不连续的值 
00000A  pic_width_in_mbs_minus1:               39 (0x027) // 其加1表示以宏块为单元的每个解码图像的宽度,亮度分量的图像宽度为:16*(pic_width_in_mbs_minus1+1)色度图像宽度(仅本例)为:2*(pic_width_in_mbs_minus1+1)
00000B  pic_height_in_map_units_minus1:        22 (0x16) 
00000C  frame_mbs_only_flag:                   Yes
00000D  direct_8x8_inference_flag:             Yes
00000D  frame_cropping_flag (1 bytes)
00000D   frame_cropping_flag:                  Yes
00000D   frame_crop_left_offset:               0 (0x0)
00000D   frame_crop_right_offset:              0 (0x0)
00000D   frame_crop_top_offset:                0 (0x0)
00000D   frame_crop_bottom_offset:             4 (0x4)
00000E  vui_parameters_present_flag (12 bytes)
00000E   vui_parameters_present_flag:          Yes
00000E   aspect_ratio_info_present_flag:       No
00000E   overscan_info_present_flag:           No
00000E   video_signal_type_present_flag:       No
00000E   chroma_loc_info_present_flag:         No
00000E   timing_info_present_flag (9 bytes)
00000E    timing_info_present_flag:            Yes
00000F    num_units_in_tick:                   1 (0x00000001) - (32 bits)
000013    time_scale:                          50 (0x00000032) - (32 bits)
000017    fixed_frame_rate_flag:               No
000017   nal_hrd_parameters_present_flag:      No
000017   vcl_hrd_parameters_present_flag:      No
000017   pic_struct_present_flag:              No
000017   bitstream_restriction_flag (3 bytes)
000017    bitstream_restriction_flag:          Yes
000017    motion_vectors_over_pic_boundaries_flag: Yes
000017    max_bytes_per_pic_denom:             0 (0x0)
000018    max_bits_per_mb_denom:               0 (0x0)
000018    log2_max_mv_length_horizontal:       10 (0x0A)
000019    log2_max_mv_length_vertical:         10 (0x0A)
000019    max_num_reorder_frames:              2 (0x2)
00001A    max_dec_frame_buffering:             4 (0x4)
00001D pic_parameter_set (10 bytes)
00001D  Header (5 bytes)
00001D   zero_byte:                            0 (0x00)
00001E   start_code_prefix_one_3bytes:         1 (0x000001)
000021   nal_ref_idc:                          3 (0x3) - (2 bits)
000021   nal_unit_type:                        8 (0x08) - (5 bits)
000022  pic_parameter_set_id:                  0 (0x0)
000022  seq_parameter_set_id:                  0 (0x0)
000022  entropy_coding_mode_flag:              Yes
000022  bottom_field_pic_order_in_frame_present_flag: No
000022  num_slice_groups_minus1:               0 (0x0)
000022  num_ref_idx_l0_default_active_minus1:  2 (0x2)
000023  num_ref_idx_l1_default_active_minus1:  0 (0x0)
000023  weighted_pred_flag:                    Yes
000023  weighted_bipred_idc:                   2 (0x2) - (2 bits)
000023  pic_init_qp_minus26:                   -3 (0xFFFFFFFD)
000024  pic_init_qs_minus26:                   0 (0x0)
000024  chroma_qp_index_offset:                -2 (0xFFFFFFFE)
000024  deblocking_filter_control_present_flag: Yes
000025  constrained_intra_pred_flag:           No
000025  redundant_pic_cnt_present_flag:        No
000025  transform_8x8_mode_flag:               Yes
000025  pic_scaling_matrix_present_flag:       No
000025  second_chroma_qp_index_offset:         -2 (0xFFFFFFFE)
000027 -------------------------
000027 ---   AVC, accepted   ---
000027 -------------------------
000027 sei (689 bytes)
000027  Header (4 bytes)
000027   start_code_prefix_one_3bytes:         1 (0x000001)
00002A   nal_ref_idc:                          0 (0x0) - (2 bits)
00002A   nal_unit_type:                        6 (0x06) - (5 bits)
00002B  sei message - user_data_unregistered - x264 (684 bytes)
00002B   sei message header (4 bytes)
00002B    payload_type_byte:                   5 (0x05)
00002C    payload_size_byte:                   255 (0xFF)
00002D    payload_size_byte:                   255 (0xFF)
00002E    payload_size_byte:                   170 (0xAA)
00002F   uuid_iso_iec_11578:                   DC45E9BD-E6D9-48B7-962C-D820D923EEEF
00003F   data:                                 x264
000043   separator:                             - 
000046   data:                                 core 146 r2538 121396c
00005C   separator:                             - 
00005F   data:                                 H.264/MPEG-4 AVC codec
000075   separator:                             - 
000078   data:                                 Copyleft 2003-2015
00008A   separator:                             - 
00008D   data:                                 http://www.videolan.org/x264.html
0000AE   separator:                             - 
0000B1   options (550 bytes)
0000B1    option:                              options:
0000B9    separator:                            
0000BA    option:                              cabac=1
0000C1    separator:                            
0000C2    option:                              ref=3
0000C7    separator:                            
0000C8    option:                              deblock=1:0:0
0000D5    separator:                            
0000D6    option:                              analyse=0x3:0x113
0000E7    separator:                            
0000E8    option:                              me=hex
0000EE    separator:                            
0000EF    option:                              subme=7
0000F6    separator:                            
0000F7    option:                              psy=1
0000FC    separator:                            
0000FD    option:                              psy_rd=1.00:0.00
00010D    separator:                            
00010E    option:                              mixed_ref=1
000119    separator:                            
00011A    option:                              me_range=16
000125    separator:                            
000126    option:                              chroma_me=1
000131    separator:                            
000132    option:                              trellis=1
00013B    separator:                            
00013C    option:                              8x8dct=1
000144    separator:                            
000145    option:                              cqm=0
00014A    separator:                            
00014B    option:                              deadzone=21,11
000159    separator:                            
00015A    option:                              fast_pskip=1
000166    separator:                            
000167    option:                              chroma_qp_offset=-2
00017A    separator:                            
00017B    option:                              threads=6
000184    separator:                            
000185    option:                              lookahead_threads=1
000198    separator:                            
000199    option:                              sliced_threads=0
0001A9    separator:                            
0001AA    option:                              nr=0
0001AE    separator:                            
0001AF    option:                              decimate=1
0001B9    separator:                            
0001BA    option:                              interlaced=0
0001C6    separator:                            
0001C7    option:                              bluray_compat=0
0001D6    separator:                            
0001D7    option:                              constrained_intra=0
0001EA    separator:                            
0001EB    option:                              bframes=3
0001F4    separator:                            
0001F5    option:                              b_pyramid=2
000200    separator:                            
000201    option:                              b_adapt=1
00020A    separator:                            
00020B    option:                              b_bias=0
000213    separator:                            
000214    option:                              direct=1
00021C    separator:                            
00021D    option:                              weightb=1
000226    separator:                            
000227    option:                              open_gop=0
000231    separator:                            
000232    option:                              weightp=2
00023B    separator:                            
00023C    option:                              keyint=250
000246    separator:                            
000247    option:                              keyint_min=25
000254    separator:                            
000255    option:                              scenecut=40
000260    separator:                            
000261    option:                              intra_refresh=0
000270    separator:                            
000271    option:                              rc_lookahead=40
000280    separator:                            
000281    option:                              rc=crf
000287    separator:                            
000288    option:                              mbtree=1
000290    separator:                            
000291    option:                              crf=23.0
000299    separator:                            
00029A    option:                              qcomp=0.60
0002A4    separator:                            
0002A5    option:                              qpmin=0
0002AC    separator:                            
0002AD    option:                              qpmax=69
0002B5    separator:                            
0002B6    option:                              qpstep=4
0002BE    separator:                            
0002BF    option:                              ip_ratio=1.40
0002CC    separator:                            
0002CD    option:                              aq=1:1.00
0002D7    Size is wrong:                       0 (0x00000000)
0002D8 slice_layer_without_partitioning (IDR) - 0 (0x0) - Frame 0 - slice_type I - frame_num 0 - pic_order_cnt_lsb 0 (14713 bytes)
0002D8  Header (4 bytes)
0002D8   start_code_prefix_one_3bytes:         1 (0x000001)
0002DB   nal_ref_idc:                          3 (0x3) - (2 bits)
0002DB   nal_unit_type:                        5 (0x05) - (5 bits)
0002DC  slice_header (4 bytes)
0002DC   first_mb_in_slice:                    0 (0x0)
0002DC   slice_type:                           7 (0x07) - I
0002DD   pic_parameter_set_id:                 0 (0x0)
0002DD   frame_num:                            0 (0x0)
0002DD   idr_pic_id:                           0 (0x0)
0002DD   pic_order_cnt_lsb:                    0 (0x00)
0002DE   no_output_of_prior_pics_flag:         No
0002DE   long_term_reference_flag:             No
0002DE   slice_qp_delta:                       -13 (0xFFFFFFF3)
0002E0   disable_deblocking_filter_idc:        0 (0x0)
0002E0   slice_alpha_c0_offset_div2:           0 (0x0)
0002E0   slice_beta_offset_div2:               0 (0x0)
0002E0  slice_data (14698 bytes)
0002E0   (ToDo):                               (Data)
003C51 slice_layer_without_partitioning (non-IDR) - 4 (0x4) - Frame 1 - slice_type P - frame_num 1 - pic_order_cnt_lsb 4 (6579 bytes)
003C51  Header (5 bytes)
003C51   zero_byte:                            0 (0x00)
003C52   start_code_prefix_one_3bytes:         1 (0x000001)
003C55   nal_ref_idc:                          2 (0x2) - (2 bits)
003C55   nal_unit_type:                        1 (0x01) - (5 bits)
003C56  slice_header (4 bytes)
003C56   first_mb_in_slice:                    0 (0x0)
003C56   slice_type:                           5 (0x5) - P
003C56   pic_parameter_set_id:                 0 (0x0)
003C56   frame_num:                            1 (0x1)
003C57   pic_order_cnt_lsb:                    4 (0x04)
003C58   num_ref_idx_active_override_flag (0 bytes)
003C58    num_ref_idx_active_override_flag:    Yes
003C58    num_ref_idx_l0_active_minus1:        0 (0x0)
003C58   ref_pic_list_modification_flag_l0:    No
003C58   luma_log2_weight_denom:               0 (0x0)
003C58   chroma_log2_weight_denom:             0 (0x0)
003C58   luma_weight_l0_flag:                  No
003C58   chroma_weight_l0_flag:                No
003C59   adaptive_ref_pic_marking_mode_flag:   No
003C59   cabac_init_idc:                       0 (0x0)
003C59   slice_qp_delta:                       -13 (0xFFFFFFF3)
003C5A   disable_deblocking_filter_idc:        0 (0x0)
003C5A   slice_alpha_c0_offset_div2:           0 (0x0)
003C5A   slice_beta_offset_div2:               0 (0x0)
003C5A  slice_data (6572 bytes)
003C5A   (ToDo):                               (Data)
005604 slice_layer_without_partitioning (non-IDR) - 2 (0x2) - Frame 2 - slice_type B - frame_num 2 - pic_order_cnt_lsb 2 (2088 bytes)
005604  Header (5 bytes)
005604   zero_byte:                            0 (0x00)
005605   start_code_prefix_one_3bytes:         1 (0x000001)
005608   nal_ref_idc:                          0 (0x0) - (2 bits)
005608   nal_unit_type:                        1 (0x01) - (5 bits)
005609  slice_header (4 bytes)
005609   first_mb_in_slice:                    0 (0x0)
005609   slice_type:                           6 (0x6) - B
005609   pic_parameter_set_id:                 0 (0x0)
005609   frame_num:                            2 (0x2)
00560A   pic_order_cnt_lsb:                    2 (0x02)
00560B   direct_spatial_mv_pred_flag:          Yes
00560B   num_ref_idx_active_override_flag (0 bytes)
00560B    num_ref_idx_active_override_flag:    Yes
00560B    num_ref_idx_l0_active_minus1:        0 (0x0)
00560B    num_ref_idx_l1_active_minus1:        0 (0x0)
00560B   ref_pic_list_modification_flag_l0:    No
00560B   ref_pic_list_modification_flag_l1:    No
00560C   cabac_init_idc:                       0 (0x0)
00560C   slice_qp_delta:                       -10 (0xFFFFFFF6)
00560D   disable_deblocking_filter_idc:        0 (0x0)
00560D   slice_alpha_c0_offset_div2:           0 (0x0)
00560D   slice_beta_offset_div2:               0 (0x0)
00560D  slice_data (2079 bytes)
00560D   (ToDo):                               (Data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值