标签:cas map 连接 direct ice set none 开头 无法
安讯士摄像机 使用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
如果没有这些信息,是不解码的。
标签:cas map 连接 direct ice set none 开头 无法
原文地址:https://www.cnblogs.com/richfire/p/10185483.html