[关闭]
@leaveye 2026-03-25T12:51:40.000000Z 字数 10969 阅读 50

20260325 客户现场信息备份

客户 旅顺 CT800 CP800 现场


基于 18.pcap 分析,CT800 不能解码视频流的原因

结论

当前 SDK(SS528V100V2.0.0.1 B020 Release)中:VDEC 模块无法解码场编码的 H264 数据流。

另:
- 调整后,VDEC 是否可以解码场编码的 H264 流还需确认。
- 对应的 H264E 模块,是否可以编码场编码的 H264 流还需确认。

定位过程

用 tcp-replay 将抓到的包发送到开发环境的 CT800 进行解码

SDK:VDEC 信息中,错误计数(pack_errformat_err)一直在上升,数量 get_pic = discard

  1. Every 2.0s: cat /proc/umap/vdec 2026-03-25 20:25:13
  2. [VDEC] Version: [SS528V100V2.0.0.1 B020 Release], Build Time[May 3 2022, 10:26:13]
  3. ----------------------------------------module param--------------------------------------------------------------------
  4. g_vdec_max_chn_num mini_buf_mode vb_src g_vdec_compat_mode
  5. 128 0 MOD 0
  6. max_video_width max_video_height max_slice_num vdh_msg_num schedule_mode
  7. 8192 8192 600 8 NORMAL
  8. max_pic_width max_pic_height progressive_en dynamic_alloc_en capacity_strategy
  9. 16384 16384 0 0 0
  10. ----------------------------------------chn comm attr & params----------------------------------------------------------
  11. id type max_w max_h width height send_mode str_buf_size frame_buf_size frame_buf_cnt tmv_buf_size
  12. 0 H264 3840 2160 352 576 FRAME/NOBLOCK 8294400 N/A N/A N/A
  13. id state display_num display_mode rotation set_user_pic enable_user_pic pic_pool_id tmv_pool_id
  14. 0 START 2 PREVIEW 0 N N N/A N/A
  15. ----------------------------------------chn video attr & params---------------------------------------------------------
  16. id vfmw_id ref_num tmv_en err_threshold dec_mode out_order compress_mode video_format
  17. 0 0 5 N 30 IP DEC N TILE
  18. id max_vps_num max_sps_num max_pps_num max_slice_segment_num
  19. 0 0 2 2 16
  20. id composite_dec_en quick_mark_mode deployment_mode
  21. 0 N ADAPT N/A
  22. ----------------------------------------chn pic attr & params-----------------------------------------------------------
  23. id pixel_format alpha
  24. 0 N/A N/A
  25. ----------------------------------------chn state-----------------------------------------------------------------------
  26. id protocol_err str_unsupport pack_err ref_num_err pic_size_err format_err pic_buf_size_err str_size_over
  27. 0 0 0 13 0 0 78138 0 0
  28. id pts_buf_free pts_buf_busy buf_len data_len rd_rgn_len scd_left_len wr_rgn_len
  29. 0 198 1 12443407 209 0 0 0
  30. id fps stream_end frame_end timer_cnt notify unique_id state send_vgs vgs_back
  31. 0 25 0 156219 252050 234370 12 CREATED 0 0
  32. ----------------------------------------detail stream state-------------------------------------------------------------
  33. id mpi_send_cnt mpi_send_len end_code_cnt end_code_len vfmw_get_cnt vfmw_get_len vfmw_rls_cnt vfmw_rls_len
  34. 0 156219 166025945 156219 2343285 312460 168369021 312460 168369021
  35. id vfmw_latest_get_len vfmw_rls_fail_cnt mpi_send_gap
  36. 0 30 0 8170
  37. ----------------------------------------detail frame store state--------------------------------------------------------
  38. id new_pic get_pic discard no_display mpi_get kernel_send kernel_rls meet_end frame_in_vdec
  39. 0 78138 78138 78138 0 0 0 0 156218 1
  40. id free_node vfmw_node vgs_node vgs_working_node busy_node user_node ref_num vb_cnt max_vb_cnt rotate_vb_cnt
  41. 0 39 1 0 0 0 0 2 2 8 0
  42. id available pic_vb_fail tmv_vb_fail rotate_vb_fail pic_size tmv_size rotate_size cur_pic_pts
  43. 0 0 0 0 0 338688 50688 0 0
  44. id dynamic_range color_gamut
  45. 0 SDR8 BT601
  46. ----------------------------------------detail user_data state----------------------------------------------------------
  47. id enable max_user_data_len free_buf_len data_buf_len
  48. 0 1 1024 4096 0
  49. id mpi_get_cnt mpi_get_len mpi_rls_cnt mpi_rls_len discard_cnt discard_len vdec_get_cnt vdec_get_len
  50. 0 0 0 0 0 0 0 0 0
  51. ^C

SDK:logmpp 日志中,一直持续性报错

  1. <3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0
  2. <3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0
  3. <3>[ vdec] [Func]:vdec_check_firm_ware_image [Line]:1181 [Info]:this is a field stream and vdec do not support! chn 0
  4. <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

分析数据看出是场编码

  1. Input #0, h264, from '18.h264':
  2. Duration: N/A, bitrate: N/A
  3. Stream #0:0: Video: h264 (Main), yuv420p(top first), 352x576, 25 fps, 1200k tbr, 1200k tbn
  4. [trace_headers @ 0x55a913e38600] Extradata
  5. [trace_headers @ 0x55a913e38600] Sequence Parameter Set
  6. [trace_headers @ 0x55a913e38600] 0 forbidden_zero_bit 0 = 0
  7. [trace_headers @ 0x55a913e38600] 1 nal_ref_idc 11 = 3
  8. [trace_headers @ 0x55a913e38600] 3 nal_unit_type 00111 = 7
  9. [trace_headers @ 0x55a913e38600] 8 profile_idc 01001101 = 77
  10. [trace_headers @ 0x55a913e38600] 16 constraint_set0_flag 0 = 0
  11. [trace_headers @ 0x55a913e38600] 17 constraint_set1_flag 1 = 1
  12. [trace_headers @ 0x55a913e38600] 18 constraint_set2_flag 0 = 0
  13. [trace_headers @ 0x55a913e38600] 19 constraint_set3_flag 0 = 0
  14. [trace_headers @ 0x55a913e38600] 20 constraint_set4_flag 0 = 0
  15. [trace_headers @ 0x55a913e38600] 21 constraint_set5_flag 0 = 0
  16. [trace_headers @ 0x55a913e38600] 22 reserved_zero_2bits 00 = 0
  17. [trace_headers @ 0x55a913e38600] 24 level_idc 00011110 = 30
  18. [trace_headers @ 0x55a913e38600] 32 seq_parameter_set_id 1 = 0
  19. [trace_headers @ 0x55a913e38600] 33 log2_max_frame_num_minus4 00101 = 4
  20. [trace_headers @ 0x55a913e38600] 38 pic_order_cnt_type 1 = 0
  21. [trace_headers @ 0x55a913e38600] 39 log2_max_pic_order_cnt_lsb_minus4 00110 = 5
  22. [trace_headers @ 0x55a913e38600] 44 max_num_ref_frames 011 = 2
  23. [trace_headers @ 0x55a913e38600] 47 gaps_in_frame_num_allowed_flag 0 = 0
  24. [trace_headers @ 0x55a913e38600] 48 pic_width_in_mbs_minus1 000010110 = 21
  25. [trace_headers @ 0x55a913e38600] 57 pic_height_in_map_units_minus1 000010010 = 17
  26. [trace_headers @ 0x55a913e38600] 66 frame_mbs_only_flag 0 = 0 <--- 场编码
  27. [trace_headers @ 0x55a913e38600] 67 mb_adaptive_frame_field_flag 0 = 0
  28. [trace_headers @ 0x55a913e38600] 68 direct_8x8_inference_flag 1 = 1
  29. [trace_headers @ 0x55a913e38600] 69 frame_cropping_flag 0 = 0
  30. [trace_headers @ 0x55a913e38600] 70 vui_parameters_present_flag 0 = 0
  31. [trace_headers @ 0x55a913e38600] 71 rbsp_stop_one_bit 1 = 1
  32. [trace_headers @ 0x55a913e38600] Picture Parameter Set
  33. [trace_headers @ 0x55a913e38600] 0 forbidden_zero_bit 0 = 0
  34. [trace_headers @ 0x55a913e38600] 1 nal_ref_idc 11 = 3
  35. [trace_headers @ 0x55a913e38600] 3 nal_unit_type 01000 = 8
  36. [trace_headers @ 0x55a913e38600] 8 pic_parameter_set_id 1 = 0
  37. [trace_headers @ 0x55a913e38600] 9 seq_parameter_set_id 1 = 0
  38. [trace_headers @ 0x55a913e38600] 10 entropy_coding_mode_flag 0 = 0
  39. [trace_headers @ 0x55a913e38600] 11 bottom_field_pic_order_in_frame_present_flag 1 = 1
  40. [trace_headers @ 0x55a913e38600] 12 num_slice_groups_minus1 1 = 0
  41. [trace_headers @ 0x55a913e38600] 13 num_ref_idx_l0_default_active_minus1 010 = 1
  42. [trace_headers @ 0x55a913e38600] 16 num_ref_idx_l1_default_active_minus1 010 = 1
  43. [trace_headers @ 0x55a913e38600] 19 weighted_pred_flag 0 = 0
  44. [trace_headers @ 0x55a913e38600] 20 weighted_bipred_idc 00 = 0
  45. [trace_headers @ 0x55a913e38600] 22 pic_init_qp_minus26 1 = 0
  46. [trace_headers @ 0x55a913e38600] 23 pic_init_qs_minus26 1 = 0
  47. [trace_headers @ 0x55a913e38600] 24 chroma_qp_index_offset 1 = 0
  48. [trace_headers @ 0x55a913e38600] 25 deblocking_filter_control_present_flag 1 = 1
  49. [trace_headers @ 0x55a913e38600] 26 constrained_intra_pred_flag 0 = 0
  50. [trace_headers @ 0x55a913e38600] 27 redundant_pic_cnt_present_flag 0 = 0
  51. [trace_headers @ 0x55a913e38600] 28 rbsp_stop_one_bit 1 = 1
  52. [trace_headers @ 0x55a913e38600] 29 rbsp_alignment_zero_bit 0 = 0
  53. [trace_headers @ 0x55a913e38600] 30 rbsp_alignment_zero_bit 0 = 0
  54. [trace_headers @ 0x55a913e38600] 31 rbsp_alignment_zero_bit 0 = 0

与之相对的,CT800编码352x544分辨率得到的是帧编码:

  1. Input #0, h264, from 'my-352x544.h264':
  2. Duration: N/A, bitrate: N/A
  3. Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt470bg/bt470bg/bt709, progressive), 352x544, 25 fps, 1200k tbr, 1200k tbn
  4. [trace_headers @ 0x55ba1cac75c0] Extradata
  5. [trace_headers @ 0x55ba1cac75c0] Sequence Parameter Set
  6. [trace_headers @ 0x55ba1cac75c0] 0 forbidden_zero_bit 0 = 0
  7. [trace_headers @ 0x55ba1cac75c0] 1 nal_ref_idc 11 = 3
  8. [trace_headers @ 0x55ba1cac75c0] 3 nal_unit_type 00111 = 7
  9. [trace_headers @ 0x55ba1cac75c0] 8 profile_idc 01001101 = 77
  10. [trace_headers @ 0x55ba1cac75c0] 16 constraint_set0_flag 0 = 0
  11. [trace_headers @ 0x55ba1cac75c0] 17 constraint_set1_flag 0 = 0
  12. [trace_headers @ 0x55ba1cac75c0] 18 constraint_set2_flag 0 = 0
  13. [trace_headers @ 0x55ba1cac75c0] 19 constraint_set3_flag 0 = 0
  14. [trace_headers @ 0x55ba1cac75c0] 20 constraint_set4_flag 0 = 0
  15. [trace_headers @ 0x55ba1cac75c0] 21 constraint_set5_flag 0 = 0
  16. [trace_headers @ 0x55ba1cac75c0] 22 reserved_zero_2bits 00 = 0
  17. [trace_headers @ 0x55ba1cac75c0] 24 level_idc 00010101 = 21
  18. [trace_headers @ 0x55ba1cac75c0] 32 seq_parameter_set_id 1 = 0
  19. [trace_headers @ 0x55ba1cac75c0] 33 log2_max_frame_num_minus4 00101 = 4
  20. [trace_headers @ 0x55ba1cac75c0] 38 pic_order_cnt_type 1 = 0
  21. [trace_headers @ 0x55ba1cac75c0] 39 log2_max_pic_order_cnt_lsb_minus4 0001101 = 12
  22. [trace_headers @ 0x55ba1cac75c0] 46 max_num_ref_frames 010 = 1
  23. [trace_headers @ 0x55ba1cac75c0] 49 gaps_in_frame_num_allowed_flag 1 = 1
  24. [trace_headers @ 0x55ba1cac75c0] 50 pic_width_in_mbs_minus1 000010110 = 21
  25. [trace_headers @ 0x55ba1cac75c0] 59 pic_height_in_map_units_minus1 00000100010 = 33
  26. [trace_headers @ 0x55ba1cac75c0] 70 frame_mbs_only_flag 1 = 1 <--- 帧编码
  27. [trace_headers @ 0x55ba1cac75c0] 71 direct_8x8_inference_flag 1 = 1
  28. [trace_headers @ 0x55ba1cac75c0] 72 frame_cropping_flag 0 = 0
  29. [trace_headers @ 0x55ba1cac75c0] 73 vui_parameters_present_flag 1 = 1
  30. [trace_headers @ 0x55ba1cac75c0] 74 aspect_ratio_info_present_flag 0 = 0
  31. [trace_headers @ 0x55ba1cac75c0] 75 overscan_info_present_flag 0 = 0
  32. [trace_headers @ 0x55ba1cac75c0] 76 video_signal_type_present_flag 1 = 1
  33. [trace_headers @ 0x55ba1cac75c0] 77 video_format 101 = 5
  34. [trace_headers @ 0x55ba1cac75c0] 80 video_full_range_flag 1 = 1
  35. [trace_headers @ 0x55ba1cac75c0] 81 colour_description_present_flag 1 = 1
  36. [trace_headers @ 0x55ba1cac75c0] 82 colour_primaries 00000101 = 5
  37. [trace_headers @ 0x55ba1cac75c0] 90 transfer_characteristics 00000001 = 1
  38. [trace_headers @ 0x55ba1cac75c0] 98 matrix_coefficients 00000101 = 5
  39. [trace_headers @ 0x55ba1cac75c0] 106 chroma_loc_info_present_flag 0 = 0
  40. [trace_headers @ 0x55ba1cac75c0] 107 timing_info_present_flag 0 = 0
  41. [trace_headers @ 0x55ba1cac75c0] 108 nal_hrd_parameters_present_flag 0 = 0
  42. [trace_headers @ 0x55ba1cac75c0] 109 vcl_hrd_parameters_present_flag 0 = 0
  43. [trace_headers @ 0x55ba1cac75c0] 110 pic_struct_present_flag 0 = 0
  44. [trace_headers @ 0x55ba1cac75c0] 111 bitstream_restriction_flag 0 = 0
  45. [trace_headers @ 0x55ba1cac75c0] 112 rbsp_stop_one_bit 1 = 1
  46. [trace_headers @ 0x55ba1cac75c0] 113 rbsp_alignment_zero_bit 0 = 0
  47. [trace_headers @ 0x55ba1cac75c0] 114 rbsp_alignment_zero_bit 0 = 0
  48. [trace_headers @ 0x55ba1cac75c0] 115 rbsp_alignment_zero_bit 0 = 0
  49. [trace_headers @ 0x55ba1cac75c0] 116 rbsp_alignment_zero_bit 0 = 0
  50. [trace_headers @ 0x55ba1cac75c0] 117 rbsp_alignment_zero_bit 0 = 0
  51. [trace_headers @ 0x55ba1cac75c0] 118 rbsp_alignment_zero_bit 0 = 0
  52. [trace_headers @ 0x55ba1cac75c0] 119 rbsp_alignment_zero_bit 0 = 0
  53. [trace_headers @ 0x55ba1cac75c0] Picture Parameter Set
  54. [trace_headers @ 0x55ba1cac75c0] 0 forbidden_zero_bit 0 = 0
  55. [trace_headers @ 0x55ba1cac75c0] 1 nal_ref_idc 11 = 3
  56. [trace_headers @ 0x55ba1cac75c0] 3 nal_unit_type 01000 = 8
  57. [trace_headers @ 0x55ba1cac75c0] 8 pic_parameter_set_id 1 = 0
  58. [trace_headers @ 0x55ba1cac75c0] 9 seq_parameter_set_id 1 = 0
  59. [trace_headers @ 0x55ba1cac75c0] 10 entropy_coding_mode_flag 1 = 1
  60. [trace_headers @ 0x55ba1cac75c0] 11 bottom_field_pic_order_in_frame_present_flag 0 = 0
  61. [trace_headers @ 0x55ba1cac75c0] 12 num_slice_groups_minus1 1 = 0
  62. [trace_headers @ 0x55ba1cac75c0] 13 num_ref_idx_l0_default_active_minus1 1 = 0
  63. [trace_headers @ 0x55ba1cac75c0] 14 num_ref_idx_l1_default_active_minus1 1 = 0
  64. [trace_headers @ 0x55ba1cac75c0] 15 weighted_pred_flag 0 = 0
  65. [trace_headers @ 0x55ba1cac75c0] 16 weighted_bipred_idc 00 = 0
  66. [trace_headers @ 0x55ba1cac75c0] 18 pic_init_qp_minus26 1 = 0
  67. [trace_headers @ 0x55ba1cac75c0] 19 pic_init_qs_minus26 1 = 0
  68. [trace_headers @ 0x55ba1cac75c0] 20 chroma_qp_index_offset 0001101 = -6
  69. [trace_headers @ 0x55ba1cac75c0] 27 deblocking_filter_control_present_flag 1 = 1
  70. [trace_headers @ 0x55ba1cac75c0] 28 constrained_intra_pred_flag 0 = 0
  71. [trace_headers @ 0x55ba1cac75c0] 29 redundant_pic_cnt_present_flag 0 = 0
  72. [trace_headers @ 0x55ba1cac75c0] 30 rbsp_stop_one_bit 1 = 1
  73. [trace_headers @ 0x55ba1cac75c0] 31 rbsp_alignment_zero_bit 0 = 0

与报错信息对应。确认结论。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注