Видео контент

Типы видео контента

Видео контент условно разделен на типы:
  • movie - Фильмы
  • serial - Сериалы
  • 3D - 3D Фильмы
  • concert - Концерты
  • documovie - Документальные фильмы
  • docuserial - Документальные сериалы

Запрос:

GET https://api.service-kp.com/v1/types

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        'id': 'movie',
        'title': 'Фильмы',
    },
    {
        'id': 'serial',
        'title': 'Сериалы'
    }
]

Жанры

Типы жанров:
  • movie - жанры типов видео контента movie, serial, 3D (Фильмов и Сериалов)
  • music - жанры типов видео контента concert (Концерты)
  • docu - жанры типов видео контента documovie, docuserial (Документальные фильмы и сериалы)

Жанры, как и контент, разделены по типам. Видео контент с типом movie, serial, 3d может принадлежать только жанрам с типом movie и т.д.

Запрос:

GET https://api.service-kp.com/v1/genres
Параметры запроса:
  • [type] - фильтр по типу жанров, по умолчанию возвращаются все жанры. Указать можно только один из нижеперечисленных

    • movie - Обощенный тип
    • docu - Обобщенный тип
    • music - Обобщенный тип
    • tvshow - Обобщенный тип
    • movie
    • documovie
    • serial
    • docuserial
    • tvshow
    • concert
    • 3d
    • 4k

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        'id': 1,
        'title': 'Комедия',
        'type': 'movie'
    },
    {
        'id':10,
        'title': 'Катастрофа',
        'type': 'docu'
    }
    {
        'id': 13,
        'title': Rock,
        'type': music
    }
]

Страны

Запрос:

GET https://api.service-kp.com/v1/countries

Ответ:

HTTP/1.1 200 OK
Content-Type: application/js

[
    {
        'id': 1,
        'title': 'США',
    }
]

Видео контент

Запрос:

GET https://api.service-kp.com/v1/items
Параметры запроса:
  • [type] - Типы видео контента

  • [title] - Поиск по заголовку, минимум 3 символа. Выборка по типу LIKE ‘$ASD’

  • [genre] - id жанра. Для множественного поиска список через запятую.

  • [country] - id страны. Для множественного поиска список через запятую.

  • [year] - Год. Для поиска в промежутке year1-year2

  • [finished] - 0/1. Статус сериала, завершен/снимается.

  • [actor] - Имена актеров чере запятую или +(плюс), “Actor1,Actor2+Actor3” - ищет (Actor1 OR (Actor2 AND Actor3))

  • [director] - Имена режисеров чере запятую или +(плюс), “Actor1,Actor2+Actor3” - ищет (Actor1 OR (Actor2 AND Actor3))

  • [letter] - Поиск по первой букве в названиях(рус,анг) фильма

  • [conditions] - Массив простых условий для фильтра. Доступные поля как и в сортировке. year <= 100. Объединение условий через AND

  • [force] - Массив для пропуска пользовательских настроек фильтрации
    • quality - Пропускаем проверку на сомнительное качество
    • advert - Пропускаем проверку на контент с рекламой
    • erotic - Пропускаем проверку на эротический контент
  • [sort] - Сортировка, по умолчанию ‘updated-‘. Без знака ‘-‘ сортируется по возрастанию(ASC), со знаком ‘-‘(минус) по убыванию(DESC). Можно указать можество полей через запятую,.

    • id
    • year
    • title
    • created
    • updated
    • rating
    • views
    • watchers
  • [quality] - Массив идентификаторов качеств

Ответ:

HTTP/1.1 200 OK
Content-Type: application/js

{
    'items':[
        {
            'id': 1,
            'title': 'Название / Оригинальное название',
            'type': 'movie', // тип контента
            'subtype': 'multi', // Подтип контента, бывают многосерийные фильмы, концерты
            'year': 2006,
            'cast': 'Актёр 1, Актёр 2',
            'director': 'Режиссёр 1, Режиссёр 2',
            'voice': 'Любительский одноголосый, Оригинал',
            'duration': [
                'average': 123, // Средняя продолжительность для сериалов, полная для фильмов
                'total': 123 //Общая продолжительность фильма, сериала
            ],
            'langs': 2, //Количество аудио дорожек
            'ac3': 0, // Присутствуют или нет AC-3 аудио
            'subtitles': 3, // Количество субтитров
            'quality': 1080, // Качество фильма, для сериалов берется наибольшее количество серий с определенным качеством
            'genres': [
                {
                    'id': 1,
                    'title': 'Комедия'
                },
                {
                    'id': 2,
                    'title': 'Ужасы'
                }
            ],
            'countries': [
                {
                    'id': 1,
                    'title': 'США'
                }
            ],
            'plot': 'Описание фильма',
            'tracklist': [
                {
                    'artist' => 'Исполнитель',
                    'title' => 'Название композиции',
                    'url' => 'ссылка на аудио файл',
                }
            ],
            'imdb': 123,
            'imdb_rating': 123,
            'imdb_votes': 123,
            'kinopoisk': 123,
            'kinopoisk_rating': 123,
            'kinopoisk_votes': 123,
            'rating': 456,
            'views': 15,
            'comments': 5,
            'finished' : false, // Для сериалов: true - окончен, false - снимается
            'advert' : true, // Присутствуют посторонние вставки рекламы
            'in_watchlist': true, // Подписан ли пользователь на сериал
            'subscribed': true, // Подписан ли пользователь на сериал, alias in_watchlist
            'posters': [
                'small': 'http://kino.pub/media/poster/item/small/1.jpg',
                'medium': 'http://kino.pub/media/poster/item/medium/1.jpg';
                'big': 'http://kino.pub/media/poster/item/big/1.jpg';
            ],
            'trailer': {
                'id': 'udNj459jn',
                'url': 'http://www.youtube.com/watch?v=udNj459jn',
            }
        }
    ],
    'pagination': {
        'total': 1,
        'current':1,
        'perpage':1
    }
}

Похожие видео

Запрос:

GET https://api.service-kp.com/v1/items/similar
Параметры запроса:
  • id - Идентификатор item для которого проивзодится поиск похожих
Ответ::
Список видео

Список медиа-контента

Запрос:

GET https://api.service-kp.com/v1/items/<item-id>
Параметры запроса:
  • [exclude_info] - 1 исключить из ответа секцию item

Ответ для типов movie, documovie, concert:

HTTP/1.1 200 OK
Content-Type: application/js

{
    'item': {
        // Набор данных из "https://api.service-kp.com/v1/items". Отсутствует, если exclude_info=1
        videos: [
            {
                'title': 'Название видео',
                'thumbnail': 'http://kino.pub/media/thumbnail/12345.jpg',
                'duration': 1234, //Время в секундах
                'watched' : 1, // Статус просмотра эпизода: -1 не смотрели вообще, 0 - начали смотреть, 1 - просмотрели
                'watching' : {
                    'status': -1, // Статус просмотра эпизода: -1 не смотрели вообще, 0 - начали смотреть, 1 - просмотрели
                    'time': 1234  // Время просмотра в секундах
                },
                'tracks': '1,2,3,4' // Номера аудио-дорожек
                'subtitles': [
                    {
                        'lang': 'eng',
                        'shift': 0, // Смещение относительно видео-потока
                        'embed': true, // Доступно в файле-исходнике, вшиты в него отдельным стримом
                        'url': 'http://url/to/file.srt',
                    }
                ],
                "audios": [
                   {
                       "id": 15510,
                       "index": 1,
                       "codec": "aac",
                       "channels": 2,
                       "lang": "ukr",
                       "type": {
                           "id": 2,
                           "title": "Многоголосый",
                           "short_title": "MVO"
                       },
                       "author": {
                           "id": 7,
                           "title": "Дохалов",
                           "short_title": null
                       }
                   },
                   {
                       "id": 15504,
                       "index": 2,
                       "codec": "aac",
                       "channels": 2,
                       "lang": "rus",
                       "type": {
                           "id": 2,
                           "title": "Многоголосый",
                           "short_title": "MVO"
                       },
                       "author": {
                           "id": 1,
                           "title": "Видеосервис",
                           "short_title": null
                       }
                   },
                   {
                       "id": 15505,
                       "index": 3,
                       "codec": "aac",
                       "channels": 2,
                       "lang": "rus",
                       "type": {
                           "id": 2,
                           "title": "Многоголосый",
                           "short_title": "MVO"
                       },
                       "author": {
                           "id": 2,
                           "title": "BD CEE",
                           "short_title": null
                       }
                   },
                   {
                       "id": 15508,
                       "index": 4,
                       "codec": "aac",
                       "channels": 2,
                       "lang": "rus",
                       "type": {
                           "id": 5,
                           "title": "Авторский",
                           "short_title": "AVO"
                       },
                       "author": {
                           "id": 4,
                           "title": "Гаврилов",
                           "short_title": null
                       }
                   },
                   {
                       "id": 15512,
                       "index": 10,
                       "codec": "ac3",
                       "channels": 6,
                       "lang": "rus",
                       "type": {
                           "id": 2,
                           "title": "Многоголосый",
                           "short_title": "MVO"
                       },
                       "author": {
                           "id": 1,
                           "title": "Видеосервис",
                           "short_title": null
                       }
                   }
                ],
                'files': [
                    {
                        'w': 720,
                        'h': 306,
                        'quality': '420p',
                        'url': {
                            'http': 'http://url/to/http/stream.mp4',
                            'hls': 'http://url/to/hls/stream/playlist.m3u8'
                        },
                    },
                    {
                        'w': 960,
                        'h': 480,
                        'quality': '720p'
                        'url': {
                            'http': 'http://url/to/http/stream.mp4',
                            'hls': 'http://url/to/hls/stream/playlist.m3u8'
                        },
                    }
                ]
            }
        ]
    },
}

Ответ для типов serial, docuserial:

HTTP/1.1 200 OK
Content-Type: application/js

{
    'item': {
        // Набор данных из "https://api.service-kp.com/v1/items". Отсутствует, если exclude_info=1
        seasons: [
            {
                'title': 'Название сезона',
                'number': 1,
                'episodes': [
                    {
                        'title': 'Название видео',
                        'thumbnail': 'http://kino.pub/media/thumbnail/12345.jpg',
                        'duration': 1234, //Время в секундах
                        'audios': [],
                        'files': [
                            {
                                'w': 720,
                                'h': 306,
                                'quality': '420p',
                                'url': {
                                    'http': 'http://url/to/http/stream.mp4',
                                    'hls': 'http://url/to/hls/stream/playlist.m3u8'
                                },
                            },
                            {
                                'w': 960,
                                'h': 480,
                                'quality': '720p'
                                'url': {
                                    'http': 'http://url/to/http/stream.mp4',
                                    'hls': 'http://url/to/hls/stream/playlist.m3u8'
                                },
                            }
                        ]
                    }
                ]
            }
        ]
    },
}

Комментарии для фильма/эпизода

Запрос:

GET https://api.service-kp.com/v1/items/comments?id=<item_id>
Параметры запроса:
  • id - Идентификатор фильма/сериала/etc

Ответ:

HTTP/1.1 200 OK
Content-Type: application/js

{
    "status":200,
    "item" : {
        "id":1235,
        "title":"Книга крови /  Book of Blood"
    },
    "comments":[
       {
           "id":1,
           "depth":0,
           "unread":false,
           "deleted":false,
           "message":"comment message",
           "created":1234234234,
           "rating":"0",
           "user":{
               "id":123,
               "name":"UserName",
               "avatar":"http://gravatar.com/avatar/asdasdasdas"
            }
        },
     ]
 }

Трейлер к контенту

Запрос:

GET https://api.service-kp.com/v1/items/trailer?[id=123 | sid=l_5JsdfkjN34]

Ответ:

HTTP/1.1 200 OK
Content-Type: application/js

[
    {
        'status': 200,
        'trailer': {
            'id': 'l_54Jsdfkn',
            'url': 'http://youtube.com/watch?v=l_54Jsdfkn',
            'files': [
                {
                    'url': 'https://url.to.file',
                    'quality': 360,
                    'width: 480,
                    'height': 360,
                },
            ],
        }
    }
]

Shortcut - свежие видео

Запрос:

GET https://api.service-kp.com/v1/items/fresh
Параметры запроса:
Ответ::
Видео контент

Shortcut - горячие видео

Запрос:

GET https://api.service-kp.com/v1/items/hot
Параметры запроса:
Ответ::
Видео контент