SELECT 
  video_id, 
  GROUP_CONCAT(
    DISTINCT product_id 
    ORDER BY 
      product_id ASC SEPARATOR ', '
  ) as products 
FROM 
  cscart_cp_video_product_links 
WHERE 
  video_id IN (
    2415, 2414, 2413, 2318, 2248, 2252, 2311, 
    2304, 2161, 2155, 2131, 2130, 2129, 
    2082, 2081, 2080, 2079, 2078, 2077, 
    2076
  ) 
GROUP BY 
  video_id

Query time 0.00063

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "7.27"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "cscart_cp_video_product_links",
        "access_type": "range",
        "possible_keys": [
          "PRIMARY",
          "position",
          "video_id_idx",
          "idx_product_type_position"
        ],
        "key": "video_id_idx",
        "used_key_parts": [
          "video_id"
        ],
        "key_length": "3",
        "rows_examined_per_scan": 32,
        "rows_produced_per_join": 32,
        "filtered": "100.00",
        "using_index": true,
        "cost_info": {
          "read_cost": "4.07",
          "eval_cost": "3.20",
          "prefix_cost": "7.27",
          "data_read_per_join": "768"
        },
        "used_columns": [
          "video_id",
          "product_id",
          "type"
        ],
        "attached_condition": "(`cscart_db`.`cscart_cp_video_product_links`.`video_id` in (2415,2414,2413,2318,2248,2252,2311,2304,2161,2155,2131,2130,2129,2082,2081,2080,2079,2078,2077,2076))"
      }
    }
  }
}

Result

video_id products
2076 65542
2077 66490
2078 66508
2079 36710
2080 65544
2081 26968
2082 37615
2129 66856
2130 31376
2131 39924
2155 68506
2161 68340
2248 68907, 68916, 68942
2252 3963, 31336, 33717
2304 30109, 37831, 66871, 66872, 68357
2311 39923, 68357, 69851
2318 65546, 66982, 68614
2413 69814
2414 69844
2415 69975