Базовые продукты ACE Stream ( Torrent Stream ) > Вопросы, предложения и пожелания
HTTP API - получение информации о текущем канале
Ingvar:
Здравствуйте! Подскажите, пожалуйста, есть ли соответствующий метод HTTP API для получения информации о работающем в данный момент канале?
Например, id, infohash или название?
Интересует что-то типа: http://127.0.0.1:6878/webui/api/service?method=get_current_channel_info&format=jsonp
Benny:
--- Цитата: Ingvar от 10 Июня 2020, 22:16:27 ---есть ли соответствующий метод HTTP API для получения информации о работающем в данный момент канале?
--- Конец цитаты ---
Для НТТР АПИ нет, в данном случае нужно использовать Search АПИ - https://wiki.acestream.media/index.php?title=Search_API#Simple_output (см. на "status" и "availability") - т.е CID со статусом "2" и "avail" 1 - "рабочий" на момент последнего обновления поисковой базы (подобный канал будет отображен в Р2Р поиске и отмечен зеленой иконкой). "Рабочий" в данном случае не гарантирует, что вместо собственно контента там не будет какой-нить "заглушки".
Или я неправильно понял вопрос и под "работающим" подразумевается "канал, который уже воспроизводится в данный момент"?
Ingvar:
--- Цитата: Benny от 11 Июня 2020, 00:39:15 ---Или я неправильно понял вопрос и под "работающим" подразумевается "канал, который уже воспроизводится в данный момент"?
--- Конец цитаты ---
Да, я имел в виду такую ситуацию: на ПК работает ace_engine и на этом же ПК в vlc-плеере или каком-либо другом плеере воспроизводится канал.
Так вот, есть ли в HTTP API какой-либо метод, в результате которого можно получить данные об этом канале: infohash, id, название?
Benny:
--- Цитата: Ingvar от 11 Июня 2020, 01:24:20 ---Так вот, есть ли в HTTP API какой-либо метод, в результате которого можно получить данные об этом канале: infohash, id, название?
--- Конец цитаты ---
Простого метода нет. На данный момент данные о сессии можно получить только по ссылке "stat_url", которая возвращается в ответ на запуск сессии. И ссылка эта "жива" столько, сколько активна сессия. Основные данные, которые отдаеются по этой ссылке, описаны здесь: https://wiki.acestream.media/index.php?title=Engine_HTTP_API#Getting_some_stats (названия канала и content id там нет).
В текущих версиях выдается infohash, и по нему можно вытянуть названия с помощью метода get_media_files.
Цепочка запросов для примера:
1) запуск сессии
--- Код: ---http://127.0.0.1:6878/ace/getstream?id=afeeb4c9336716ed180d0056e71bef27284c0116&format=json
{
"response": {
"stat_url": "http://127.0.0.1:6878/ace/stat/5d78090bf52eaa1c042da9b191c487cea4a0219a/f528764d624db129b32c21fbca0cb8d6",
"infohash": "5d78090bf52eaa1c042da9b191c487cea4a0219a",
...
},
"error": null
}
--- Конец кода ---
2) получаем информацию о сессии:
--- Код: ---http://127.0.0.1:6878/ace/stat/5d78090bf52eaa1c042da9b191c487cea4a0219a/f528764d624db129b32c21fbca0cb8d6
{
"response": {
"infohash": "5d78090bf52eaa1c042da9b191c487cea4a0219a",
...
},
"error": null
}
--- Конец кода ---
3) получаем название по infohash:
--- Код: ---http://127.0.0.1:6878/server/api/?method=get_media_files&infohash=5d78090bf52eaa1c042da9b191c487cea4a0219a&api_version=3
{
"result": {
"files": [
{
"index": 0,
"filename": "1+1"
}
],
"infohash": "5d78090bf52eaa1c042da9b191c487cea4a0219a",
"name": "1+1"
}
}
--- Конец кода ---
При наличии infohash и цели получить название канала все упрощается до примера из п. 3.
Ingvar:
Понятно. Но здесь один минус - нужно уже знать id, чтобы выполнить первый запрос... А задача такая, что не зная id, infohash или имя получить данные о текущей сессии.
--- Цитата: Benny от 11 Июня 2020, 15:25:01 ---Простого метода нет.
--- Конец цитаты ---
Но спасибо за ответ! ;)
Навигация
Перейти к полной версии