{
  "profiler_config" : {
    "enable_profiling" : true,
    "enable_tracing" : true
  },

  "source" : {
    "class_name" : "cnstream::DataSource",
    "next_modules" : ["detector"],
    "custom_params" : {
      "reuse_cndec_buf" : "true",
      "output_type" : "mlu",
      "decoder_type" : "mlu",
      "output_buf_number" : 32,
      "device_id" : 0
    }
  },
  "detector" : {
    "class_name" : "cnstream::Inferencer",
    "parallelism" : 1,
    "max_input_queue_size" : 20,
    "next_modules" : ["osd"],
    "custom_params" : {
      "model_path" : "../../data/models/yolov3_b4c4_argb_mlu270.cambricon",
      "func_name" : "subnet0",
      "postproc_name" : "PostprocYolov3",
      "keep_aspect_ratio" : "true",
      "threshold" : 0.5,
      "model_input_pixel_format" : "ARGB32",
      "batching_timeout" : 100,
      "device_id" : 0
    }
  },
  "osd" : {
    "class_name" : "cnstream::Osd",
    "parallelism" : 1,
    "max_input_queue_size" : 20,
    "next_modules" : ["rtsp_sink"],
    "custom_params" : {
      "label_path" : "../../data/models/label_map_coco.txt"
    }
  },
  "rtsp_sink" : {
    "class_name" : "cnstream::RtspSink",
    "parallelism" : 1,
    "max_input_queue_size" : 10,
    "custom_params" : {
      "encoder_type" : "mlu",
      "port" : 8554,
      "device_id" : 0
    }
  }
}