@leaveye
2026-03-25T12:51:40.000000Z
字数 10969
阅读 50
客户 旅顺 CT800 CP800 现场
18.pcap 分析,CT800 不能解码视频流的原因当前 SDK(SS528V100V2.0.0.1 B020 Release)中:VDEC 模块无法解码场编码的 H264 数据流。
另:
- 调整后,VDEC 是否可以解码场编码的 H264 流还需确认。
- 对应的 H264E 模块,是否可以编码场编码的 H264 流还需确认。
用 tcp-replay 将抓到的包发送到开发环境的 CT800 进行解码
SDK:VDEC 信息中,错误计数(pack_err、format_err)一直在上升,数量 get_pic = discard
Every 2.0s: cat /proc/umap/vdec 2026-03-25 20:25:13[VDEC] Version: [SS528V100V2.0.0.1 B020 Release], Build Time[May 3 2022, 10:26:13]----------------------------------------module param--------------------------------------------------------------------g_vdec_max_chn_num mini_buf_mode vb_src g_vdec_compat_mode128 0 MOD 0max_video_width max_video_height max_slice_num vdh_msg_num schedule_mode8192 8192 600 8 NORMALmax_pic_width max_pic_height progressive_en dynamic_alloc_en capacity_strategy16384 16384 0 0 0----------------------------------------chn comm attr & params----------------------------------------------------------id type max_w max_h width height send_mode str_buf_size frame_buf_size frame_buf_cnt tmv_buf_size0 H264 3840 2160 352 576 FRAME/NOBLOCK 8294400 N/A N/A N/Aid state display_num display_mode rotation set_user_pic enable_user_pic pic_pool_id tmv_pool_id0 START 2 PREVIEW 0 N N N/A N/A----------------------------------------chn video attr & params---------------------------------------------------------id vfmw_id ref_num tmv_en err_threshold dec_mode out_order compress_mode video_format0 0 5 N 30 IP DEC N TILEid max_vps_num max_sps_num max_pps_num max_slice_segment_num0 0 2 2 16id composite_dec_en quick_mark_mode deployment_mode0 N ADAPT N/A----------------------------------------chn pic attr & params-----------------------------------------------------------id pixel_format alpha0 N/A N/A----------------------------------------chn state-----------------------------------------------------------------------id protocol_err str_unsupport pack_err ref_num_err pic_size_err format_err pic_buf_size_err str_size_over0 0 0 13 0 0 78138 0 0id pts_buf_free pts_buf_busy buf_len data_len rd_rgn_len scd_left_len wr_rgn_len0 198 1 12443407 209 0 0 0id fps stream_end frame_end timer_cnt notify unique_id state send_vgs vgs_back0 25 0 156219 252050 234370 12 CREATED 0 0----------------------------------------detail stream state-------------------------------------------------------------id mpi_send_cnt mpi_send_len end_code_cnt end_code_len vfmw_get_cnt vfmw_get_len vfmw_rls_cnt vfmw_rls_len0 156219 166025945 156219 2343285 312460 168369021 312460 168369021id vfmw_latest_get_len vfmw_rls_fail_cnt mpi_send_gap0 30 0 8170----------------------------------------detail frame store state--------------------------------------------------------id new_pic get_pic discard no_display mpi_get kernel_send kernel_rls meet_end frame_in_vdec0 78138 78138 78138 0 0 0 0 156218 1id free_node vfmw_node vgs_node vgs_working_node busy_node user_node ref_num vb_cnt max_vb_cnt rotate_vb_cnt0 39 1 0 0 0 0 2 2 8 0id available pic_vb_fail tmv_vb_fail rotate_vb_fail pic_size tmv_size rotate_size cur_pic_pts0 0 0 0 0 338688 50688 0 0id dynamic_range color_gamut0 SDR8 BT601----------------------------------------detail user_data state----------------------------------------------------------id enable max_user_data_len free_buf_len data_buf_len0 1 1024 4096 0id mpi_get_cnt mpi_get_len mpi_rls_cnt mpi_rls_len discard_cnt discard_len vdec_get_cnt vdec_get_len0 0 0 0 0 0 0 0 0^C
SDK:logmpp 日志中,一直持续性报错
<3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0<3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0<3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0<3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0
导出数据流 18.h264
分析数据看出是场编码
Input #0, h264, from '18.h264':Duration: N/A, bitrate: N/AStream #0:0: Video: h264 (Main), yuv420p(top first), 352x576, 25 fps, 1200k tbr, 1200k tbn[trace_headers @ 0x55a913e38600] Extradata[trace_headers @ 0x55a913e38600] Sequence Parameter Set[trace_headers @ 0x55a913e38600] 0 forbidden_zero_bit 0 = 0[trace_headers @ 0x55a913e38600] 1 nal_ref_idc 11 = 3[trace_headers @ 0x55a913e38600] 3 nal_unit_type 00111 = 7[trace_headers @ 0x55a913e38600] 8 profile_idc 01001101 = 77[trace_headers @ 0x55a913e38600] 16 constraint_set0_flag 0 = 0[trace_headers @ 0x55a913e38600] 17 constraint_set1_flag 1 = 1[trace_headers @ 0x55a913e38600] 18 constraint_set2_flag 0 = 0[trace_headers @ 0x55a913e38600] 19 constraint_set3_flag 0 = 0[trace_headers @ 0x55a913e38600] 20 constraint_set4_flag 0 = 0[trace_headers @ 0x55a913e38600] 21 constraint_set5_flag 0 = 0[trace_headers @ 0x55a913e38600] 22 reserved_zero_2bits 00 = 0[trace_headers @ 0x55a913e38600] 24 level_idc 00011110 = 30[trace_headers @ 0x55a913e38600] 32 seq_parameter_set_id 1 = 0[trace_headers @ 0x55a913e38600] 33 log2_max_frame_num_minus4 00101 = 4[trace_headers @ 0x55a913e38600] 38 pic_order_cnt_type 1 = 0[trace_headers @ 0x55a913e38600] 39 log2_max_pic_order_cnt_lsb_minus4 00110 = 5[trace_headers @ 0x55a913e38600] 44 max_num_ref_frames 011 = 2[trace_headers @ 0x55a913e38600] 47 gaps_in_frame_num_allowed_flag 0 = 0[trace_headers @ 0x55a913e38600] 48 pic_width_in_mbs_minus1 000010110 = 21[trace_headers @ 0x55a913e38600] 57 pic_height_in_map_units_minus1 000010010 = 17[trace_headers @ 0x55a913e38600] 66 frame_mbs_only_flag 0 = 0 <--- 场编码[trace_headers @ 0x55a913e38600] 67 mb_adaptive_frame_field_flag 0 = 0[trace_headers @ 0x55a913e38600] 68 direct_8x8_inference_flag 1 = 1[trace_headers @ 0x55a913e38600] 69 frame_cropping_flag 0 = 0[trace_headers @ 0x55a913e38600] 70 vui_parameters_present_flag 0 = 0[trace_headers @ 0x55a913e38600] 71 rbsp_stop_one_bit 1 = 1[trace_headers @ 0x55a913e38600] Picture Parameter Set[trace_headers @ 0x55a913e38600] 0 forbidden_zero_bit 0 = 0[trace_headers @ 0x55a913e38600] 1 nal_ref_idc 11 = 3[trace_headers @ 0x55a913e38600] 3 nal_unit_type 01000 = 8[trace_headers @ 0x55a913e38600] 8 pic_parameter_set_id 1 = 0[trace_headers @ 0x55a913e38600] 9 seq_parameter_set_id 1 = 0[trace_headers @ 0x55a913e38600] 10 entropy_coding_mode_flag 0 = 0[trace_headers @ 0x55a913e38600] 11 bottom_field_pic_order_in_frame_present_flag 1 = 1[trace_headers @ 0x55a913e38600] 12 num_slice_groups_minus1 1 = 0[trace_headers @ 0x55a913e38600] 13 num_ref_idx_l0_default_active_minus1 010 = 1[trace_headers @ 0x55a913e38600] 16 num_ref_idx_l1_default_active_minus1 010 = 1[trace_headers @ 0x55a913e38600] 19 weighted_pred_flag 0 = 0[trace_headers @ 0x55a913e38600] 20 weighted_bipred_idc 00 = 0[trace_headers @ 0x55a913e38600] 22 pic_init_qp_minus26 1 = 0[trace_headers @ 0x55a913e38600] 23 pic_init_qs_minus26 1 = 0[trace_headers @ 0x55a913e38600] 24 chroma_qp_index_offset 1 = 0[trace_headers @ 0x55a913e38600] 25 deblocking_filter_control_present_flag 1 = 1[trace_headers @ 0x55a913e38600] 26 constrained_intra_pred_flag 0 = 0[trace_headers @ 0x55a913e38600] 27 redundant_pic_cnt_present_flag 0 = 0[trace_headers @ 0x55a913e38600] 28 rbsp_stop_one_bit 1 = 1[trace_headers @ 0x55a913e38600] 29 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55a913e38600] 30 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55a913e38600] 31 rbsp_alignment_zero_bit 0 = 0
与之相对的,CT800编码352x544分辨率得到的是帧编码:
Input #0, h264, from 'my-352x544.h264':Duration: N/A, bitrate: N/AStream #0:0: Video: h264 (Main), yuvj420p(pc, bt470bg/bt470bg/bt709, progressive), 352x544, 25 fps, 1200k tbr, 1200k tbn[trace_headers @ 0x55ba1cac75c0] Extradata[trace_headers @ 0x55ba1cac75c0] Sequence Parameter Set[trace_headers @ 0x55ba1cac75c0] 0 forbidden_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 1 nal_ref_idc 11 = 3[trace_headers @ 0x55ba1cac75c0] 3 nal_unit_type 00111 = 7[trace_headers @ 0x55ba1cac75c0] 8 profile_idc 01001101 = 77[trace_headers @ 0x55ba1cac75c0] 16 constraint_set0_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 17 constraint_set1_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 18 constraint_set2_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 19 constraint_set3_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 20 constraint_set4_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 21 constraint_set5_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 22 reserved_zero_2bits 00 = 0[trace_headers @ 0x55ba1cac75c0] 24 level_idc 00010101 = 21[trace_headers @ 0x55ba1cac75c0] 32 seq_parameter_set_id 1 = 0[trace_headers @ 0x55ba1cac75c0] 33 log2_max_frame_num_minus4 00101 = 4[trace_headers @ 0x55ba1cac75c0] 38 pic_order_cnt_type 1 = 0[trace_headers @ 0x55ba1cac75c0] 39 log2_max_pic_order_cnt_lsb_minus4 0001101 = 12[trace_headers @ 0x55ba1cac75c0] 46 max_num_ref_frames 010 = 1[trace_headers @ 0x55ba1cac75c0] 49 gaps_in_frame_num_allowed_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 50 pic_width_in_mbs_minus1 000010110 = 21[trace_headers @ 0x55ba1cac75c0] 59 pic_height_in_map_units_minus1 00000100010 = 33[trace_headers @ 0x55ba1cac75c0] 70 frame_mbs_only_flag 1 = 1 <--- 帧编码[trace_headers @ 0x55ba1cac75c0] 71 direct_8x8_inference_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 72 frame_cropping_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 73 vui_parameters_present_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 74 aspect_ratio_info_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 75 overscan_info_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 76 video_signal_type_present_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 77 video_format 101 = 5[trace_headers @ 0x55ba1cac75c0] 80 video_full_range_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 81 colour_description_present_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 82 colour_primaries 00000101 = 5[trace_headers @ 0x55ba1cac75c0] 90 transfer_characteristics 00000001 = 1[trace_headers @ 0x55ba1cac75c0] 98 matrix_coefficients 00000101 = 5[trace_headers @ 0x55ba1cac75c0] 106 chroma_loc_info_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 107 timing_info_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 108 nal_hrd_parameters_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 109 vcl_hrd_parameters_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 110 pic_struct_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 111 bitstream_restriction_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 112 rbsp_stop_one_bit 1 = 1[trace_headers @ 0x55ba1cac75c0] 113 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 114 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 115 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 116 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 117 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 118 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 119 rbsp_alignment_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] Picture Parameter Set[trace_headers @ 0x55ba1cac75c0] 0 forbidden_zero_bit 0 = 0[trace_headers @ 0x55ba1cac75c0] 1 nal_ref_idc 11 = 3[trace_headers @ 0x55ba1cac75c0] 3 nal_unit_type 01000 = 8[trace_headers @ 0x55ba1cac75c0] 8 pic_parameter_set_id 1 = 0[trace_headers @ 0x55ba1cac75c0] 9 seq_parameter_set_id 1 = 0[trace_headers @ 0x55ba1cac75c0] 10 entropy_coding_mode_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 11 bottom_field_pic_order_in_frame_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 12 num_slice_groups_minus1 1 = 0[trace_headers @ 0x55ba1cac75c0] 13 num_ref_idx_l0_default_active_minus1 1 = 0[trace_headers @ 0x55ba1cac75c0] 14 num_ref_idx_l1_default_active_minus1 1 = 0[trace_headers @ 0x55ba1cac75c0] 15 weighted_pred_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 16 weighted_bipred_idc 00 = 0[trace_headers @ 0x55ba1cac75c0] 18 pic_init_qp_minus26 1 = 0[trace_headers @ 0x55ba1cac75c0] 19 pic_init_qs_minus26 1 = 0[trace_headers @ 0x55ba1cac75c0] 20 chroma_qp_index_offset 0001101 = -6[trace_headers @ 0x55ba1cac75c0] 27 deblocking_filter_control_present_flag 1 = 1[trace_headers @ 0x55ba1cac75c0] 28 constrained_intra_pred_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 29 redundant_pic_cnt_present_flag 0 = 0[trace_headers @ 0x55ba1cac75c0] 30 rbsp_stop_one_bit 1 = 1[trace_headers @ 0x55ba1cac75c0] 31 rbsp_alignment_zero_bit 0 = 0
与报错信息对应。确认结论。