Files
iptvc/docs/json.md
AnthonyAxenov d15d4f47b6
All checks were successful
release / release (push) Successful in 5m47s
Initial commit
2025-05-06 10:45:37 +08:00

5.3 KiB
Raw Blame History

Результаты в формате JSON

Результаты проверки могут быть выведены в формате JSON. Для этого необходимо указать аргумент -j перед вызовом программы.

Структуры описаны файлах:

Ниже описан пример результата проверки плейлиста с четырьмя каналами:

  1. 01df21bb720e46fa8b3a1c064effa41f доступен для просмотра, сервер отдаёт m3u с разными потоками;
  2. 36a32a9741e869d182c21beb38dce0c9 доступен для просмотра, сервер отдаёт сразу один поток с бинарными данными, в ответе они скрыты строкой "binary";
  3. 2dab47162d78814e2a55b65c292d91e7 не доступен для просмотра, сервер отдаёт ошибку 403 и html страницы-заглушки;
  4. d5e815a6cb24221b317afc3eb436b537 не доступен для просмотра, произошла ошибка при проверке.
[
  {
    "code": "ru",
    "name": "[iptv-org] Российские",
    "description": "",
    "url": "https://raw.githubusercontent.com/iptv-org/iptv/master/streams/ru.m3u",
    "source": "https://github.com/iptv-org/iptv",
    "content": "#EXTM3U\n#EXTINF:-1 tvg-id=\"vijuPlusComedy.ru\",viju+ Comedy (1080p)\nhttp://77.235.1.17/vip_comedy/index.m3u8\n#EXTINF:-1 tvg-id=\"NanoHD.ru\",Нано ТВ HD\nhttp://s1.tv-nano.com/Nano_rec/index.m3u8\n#EXTINF:-1 tvg-id=\"\",TRK 555 (720p)\nhttp://trk555.tv:8888/live\n#EXTINF:-1 tvg-id=\"NizhniyNovgorod24.ru\",Нижний Новгород 24 (720p) [Not 24/7]\nhttps://live-vestinn.cdnvideo.ru/vestinn/nn24-khl/playlist.m3u8\n",
    "isOnline": true,
    "attributes": null,
    "groups": {},
    "channels": {
      "01df21bb720e46fa8b3a1c064effa41f": {
        "id": "01df21bb720e46fa8b3a1c064effa41f",
        "title": "Нано ТВ HD",
        "url": "http://s1.tv-nano.com/Nano_rec/index.m3u8",
        "groupId": "",
        "attributes": {
          "tvg-id": "NanoHD.ru"
        },
        "status": 200,
        "isOnline": true,
        "error": "",
        "content": "#EXTM3U\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=670000,BANDWIDTH=840000,RESOLUTION=480x270,FRAME-RATE=25.000,CODECS=\"avc1.4d400d,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v3a1/mono.ts.m3u8\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1320000,BANDWIDTH=1650000,RESOLUTION=640x360,FRAME-RATE=25.000,CODECS=\"avc1.4d4015,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v2a1/mono.ts.m3u8\n#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=2380000,BANDWIDTH=2980000,RESOLUTION=1024x576,FRAME-RATE=25.000,CODECS=\"avc1.4d401e,mp4a.40.2\",CLOSED-CAPTIONS=NONE\ntracks-v1a1/mono.ts.m3u8\n",
        "contentType": "application/vnd.apple.mpegurl",
        "tags": [
          "untagged"
        ],
        "checkedAt": 1234567890
      },
      "36a32a9741e869d182c21beb38dce0c9": {
        "id": "36a32a9741e869d182c21beb38dce0c9",
        "title": "TRK 555 (720p)",
        "url": "http://trk555.tv:8888/live",
        "groupId": "",
        "attributes": {
          "tvg-id": ""
        },
        "status": 200,
        "isOnline": true,
        "error": "",
        "content": "\u003cbinary\u003e",
        "contentType": "application/octet-stream",
        "tags": [
          "untagged"
        ],
        "checkedAt": 1234567890
      },
      "2dab47162d78814e2a55b65c292d91e7": {
        "id": "2dab47162d78814e2a55b65c292d91e7",
        "title": "Нижний Новгород 24 (720p) [Not 24/7]",
        "url": "https://live-vestinn.cdnvideo.ru/vestinn/nn24-khl/playlist.m3u8",
        "groupId": "",
        "attributes": {
          "tvg-id": "NizhniyNovgorod24.ru"
        },
        "status": 403,
        "isOnline": false,
        "error": "\u003chtml\u003e\r\n\u003chead\u003e\u003ctitle\u003e403 Forbidden\u003c/title\u003e\u003c/head\u003e\r\n\u003cbody\u003e\r\n\u003ccenter\u003e\u003ch1\u003e403 Forbidden\u003c/h1\u003e\u003c/center\u003e\r\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n",
        "content": "",
        "contentType": "text/html",
        "tags": [
          "RU",
          "local",
          "news"
        ],
        "checkedAt": 1234567890
      },
      "d5e815a6cb24221b317afc3eb436b537": {
        "id": "d5e815a6cb24221b317afc3eb436b537",
        "title": "viju+ Comedy (1080p)",
        "url": "http://77.235.1.17/vip_comedy/index.m3u8",
        "groupId": "",
        "attributes": {
          "tvg-id": "vijuPlusComedy.ru"
        },
        "status": 0,
        "isOnline": false,
        "error": "",
        "content": "",
        "contentType": "",
        "tags": [
          "untagged"
        ],
        "checkedAt": 1234567890
      }
    },
    "onlineCount": 2,
    "offlineCount": 2,
    "checkedAt": 1234567890
  }
]

На этом примере видно, что:

  • channels не массив, а объект, в котором ключи равны идентификаторам каналов id;
  • attributes не массив, а объект, в котором ключи есть названия атрибутов.