记录安讯士摄像机调试

安讯士摄像机 使用live555接入之后,海思芯片解码不出图像,也没有报错。经过仔细分析之后,发现摄像机没有发 SPS 和 PPS信息。导致无法解码。

国内的摄像机通常在建立RTSP连接之后, 第一帧和第二帧都会发出 SPS 和 PPS信息。安讯士摄像机就不同,它没有发,解决办法是在 建立 RTSP的过程中,寻找SDP中的信息。

 

安讯士摄像机的SDP信息:

v=0
o=- 1545289767107731 1545289767107731 IN IP4 192.168.0.9
s=Media Presentation
e=NONE
b=AS:50000
t=0 0
a=control:rtsp://192.168.0.9/onvif-media/media.amp?profile=quality_h264&sessiontimeout=60&streamtype=unicast
a=range:npt=0.000000-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:50000
a=framerate:23.0
a=transform:1.000000,0.000000,0.000000;0.000000,1.000000,0.000000;0.000000,0.000000,1.000000
a=control:rtsp://192.168.0.9/onvif-media/media.amp/trackID=1?profile=quality_h264&sessiontimeout=60&streamtype=unicast
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter-sets=Z0IAKeKQCgC3YC3AQEB4eJEV,aM48gA==

 

上面黑色标识的是sps起始标志。 红色的部分是SPS字符串,  蓝色部分是PPS字符串部分。 这两部分的信息需要通过 BASE64解码得到信息。

十六进制: sps  67 4D 00 1E 9D A8 2C 04 9A 6E 02 02  02 80 00 00

pps: 68 EE 3C 80

可以看到 67 开头的就是 SPS帧  68 开头的就是PPS帧。

SPS 具体信息:

  profile_idc = 66
  constrained_set0_flag 
  constrained_set1_flag
  constrained_set2_flag 
  constrained_set3_flag 
  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 
  delta_pic_order_always_zero_flag 
  offset_for_non_ref_pic = 0
  offset_for_top_to_bottom_field 
  num_ref_frames_in_pic_order_cnt_cycle 
  num_ref_frames 
  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

 

其实SPS和PPS记录的是 视频帧率信息 视频宽高 等信息。详见 https://blog.csdn.net/lizhijian21/article/details/80982403

如果没有这些信息,是不解码的。

 

posted @ 2018-12-27 16:01  来火天大有  阅读(953)  评论(0编辑  收藏  举报