• 多媒体开发之sps---解析sps得到图像的宽高


    (1)通过块的宽高解析出真个h264的分辨率

    如何解析SDP中包含的H.264的SPS和PPS串

    http://www.pernet.tv.sixxs.org/thread-109-1-1.html

    SDP中的H.264的SPS和PPS串,包含了初始化H.264解码器所需要的信息参数,包括编码所用的profile,level,图像的宽和高,deblock滤波器等。
    由于SDP中的SPS和PPS都是BASE64编码形式的,不容易理解,附件有一个工具软件可以对SDP中的SPS和PPS进行解析。
    用法是在命令行中输入:
    spsparser sps.txt pps.txt output.txt

    例如sps.txt中的内容为:
    Z0LgFNoFglE=
    pps.txt中的内容为:
    aM4wpIA=

    最终解析的到的结果为:

    Start dumping SPS:
      profile_idc = 66
      constrained_set0_flag = 1
      constrained_set1_flag = 1
      constrained_set2_flag = 1
      constrained_set3_flag = 0
      level_idc = 20
      seq_parameter_set_id = 0
      chroma_format_idc = 1
      bit_depth_luma_minus8 = 0
      bit_depth_chroma_minus8 = 0
      seq_scaling_matrix_present_flag = 0
      log2_max_frame_num_minus4 = 0
      pic_order_cnt_type = 2
      log2_max_pic_order_cnt_lsb_minus4 = 0
      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 = 21
      pic_height_in_mbs_minus1 = 17
      frame_mbs_only_flag = 1
      mb_adaptive_frame_field_flag = 0
      direct_8x8_interence_flag = 0
      frame_cropping_flag = 0
      frame_cropping_rect_left_offset = 0
      frame_cropping_rect_right_offset = 0
      frame_cropping_rect_top_offset = 0
      frame_cropping_rect_bottom_offset = 0
      vui_parameters_present_flag = 0

    Start dumping PPS:
      pic_parameter_set_id = 0
      seq_parameter_set_id = 0
      entropy_coding_mode_flag = 0
      pic_order_present_flag = 0
      num_slice_groups_minus1 = 0
      slice_group_map_type = 0
      num_ref_idx_l0_active_minus1 = 0
      num_ref_idx_l1_active_minus1 = 0
      weighted_pref_flag = 0
      weighted_bipred_idc = 0
      pic_init_qp_minus26 = 0
      pic_init_qs_minus26 = 0
      chroma_qp_index_offset = 10
      deblocking_filter_control_present_flag = 1
      constrained_intra_pred_flag = 0
      redundant_pic_cnt_present_flag = 0
      transform_8x8_mode_flag = 0
      pic_scaling_matrix_present_flag = 0
      second_chroma_qp_index_offset = 10

    /////////////////////////////////////////////////////////////////////////////////////////////////
    这里需要特别提一下这两个参数
    pic_width_in_mbs_minus1 = 21
      pic_height_in_mbs_minus1 = 17
    分别表示图像的宽和高,以宏块(16x16)为单位的值减1
    因此,实际的宽为 (21+1)*16 = 352

    http://www.360doc.com/content/13/0916/13/9008018_314809692.shtml

    http://www.360doc.com/content/14/1201/16/9008018_429611145.shtml

    http://www.cnblogs.com/gaochundong/archive/2013/04/13/csharp_rtp_rfc3550.html

    (2)

    (3)

  • 相关阅读:
    C#读物
    那些健康手环真的值得买么?
    书籍推荐系列之一 -- 《凤凰项目:一个IT运维的传奇故事》
    测试
    HDU-2024 C语言合法标识符
    HDU-4548 美素数
    求最大流dinic算法模板
    最小费用最大流模板理解
    网络流初步——增广路代码的分析
    最短路的另外两种算法
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4143827.html
Copyright © 2020-2023  润新知