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

115 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Результаты в формате JSON
Результаты проверки могут быть выведены в формате JSON.
Для этого необходимо указать аргумент `-j` перед вызовом программы.
Структуры описаны файлах:
- [Канал](../app/playlist/channel.go)
- [Группа](../app/playlist/group.go)
- [Плейлист](../app/playlist/playlist.go)
Ниже описан пример результата проверки плейлиста с четырьмя каналами:
1. `01df21bb720e46fa8b3a1c064effa41f` доступен для просмотра, сервер отдаёт m3u с разными потоками;
2. `36a32a9741e869d182c21beb38dce0c9` доступен для просмотра, сервер отдаёт сразу один поток с бинарными данными, в ответе они скрыты строкой `"binary"`;
3. `2dab47162d78814e2a55b65c292d91e7` не доступен для просмотра, сервер отдаёт ошибку 403 и html страницы-заглушки;
4. `d5e815a6cb24221b317afc3eb436b537` не доступен для просмотра, произошла ошибка при проверке.
```json
[
{
"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` не массив, а объект, в котором ключи есть названия атрибутов.