API v2.2 & 2.3 Вопросы и обсуждение.

API sovok.tv

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Admin » 02 ноя 2015, 13:52

Это зависит от того, в каком виде предоставляет EPG поставщик. EPG заливается несколько раз в неделю, для поправки возможных уточнений, исправлений и т.д.
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение genekh » 29 ноя 2015, 02:36

Здравствуйте,

Вопрос по API v.2.3 - функция archive_next2

Вызывается плагином на основе dune_plugin_ktv - т.е. стандартным для такой ситуации - с cайта igores.ru

При просмотре передачи из архива при постановке на паузу на несколько минут видим 2 два варианта поведения
1) При простом нажатии на кнопку Play - Дюна доигрывает буфер, потом запрашивает новую ссылку и выдает ошибку "Не удается подключится к серверу"
Первичный вызов передачи
archive_next2?cid=3&time=1448642400
получаем ссылку a7.sovok.tv:8081/?ticket=de18fe78709ec2e4c0d48322ded5f46f24a593b65b783891b27f8a7b7a078ee62faf9b468f3d5e65263f01183a4fd3ac7cd8816817c28f0424f74f78118f0f787fd041b9a3a2b8a8a4a5d0bae1f5f8ebf51117470f315c65816cc7a25508501ed502821c891ba937e99c8614a2f91442d680039a40de1f55dabf17c9860bb765a0fb37a53506488e6f60a00206a1b0b34c9cc9d9914cfa4de81eb63ebd08d081bda44d4b0473a5daa2b244b6f975456ae80ef6a6c663665a700ffa4f

После паузы Дюна снова запрашивает ссылку
archive_next2?cid=3&time=1448642423
получаем ссылку a7.sovok.tv:8081/?ticket=d6ea473be26c016fd1ea59c275a5a3e3ea9d05a7a41e686eb4dfc177328bbff9b9b812f2400a34e35f4ba9e6e853178de7b0aacf8fa81a64a296611a66289c082b5345b61045bef28b4eb36b658b6e15c3748c678ae2a2a41aa5d03daed8805cbb2780136822bda8f4064562a5982677d55dbb73db6a62b59fdc43eae9012244a45294915224861589880f39f55c01cefd14eb695eabb4abb5028e444319332ef9d9fbff4ae01e95d05ce95e2778af46c1d07e05c79f6205527ddd89

Вот она "виснет"

2) При перемотке вперед-назад после паузы, т.е. при перемотке на 0 секунд все продолжает проигрываться нормально

Первичный вызов передачи
archive_next2?cid=3&time=1448642400
получаем ссылку a7.sovok.tv:8081/?ticket=263634fb90586fe2bf8945f98e66437ac468554c3d24a120b41ee1e97728ff1739c09cacbb33a5bb8130c024f2054f1573420679e96c7e9c48c0bfb35a16e57e5708015be6e9a55b4fcebd925ee01518940fc84f509351aa034c59e1d565466f3c748e12fa68c15ba606495512ee7b587171c07a48f69a06b1cb40a4b8d8fc9f3f1f3bebe6451e5081ccce03554f2ae94c6ab581d697eb3e895303ba1351d586642a67633fc90605b7589123faabbb31103b0cc9eb867e0e39443ee8

После перемотки на 0 секунд после паузы Дюна снова запрашивает ссылку
archive_next2?cid=3&time=1448642402
получаем ссылку a7.sovok.tv:8081/?ticket=2d72fb073a4cb99ca6745f7b87d8c9ba470a46d560b2d4128e0cfbda5eec760bf10c76e2765f844f8a7f74c787a3479705ff48f682260f419df1a2903d803dbd323baf666d3f03e8a0bbcb2c740a62a13984493b9552440cc7bf529d8c22d6b86900e695a86862ac6be6f95424f7982a86381dd4949bb788fe73538b1b8f5743d017f34ed407a8cd83f73ca66dc0288a74c42f46387652debf65fbf7407e3a2f5214113d03a0f086a14e127c64a2843c2c586471f8846ff916a8f104

Вот эта ссылка работает нормально.


Можно уточнить есть ли какая-то разница между этими двумя вариантами, может ли быть, что дюна перед запросом ссылки во втором случае что-либо еще делает с api - по логу я никакой разницы не вижу.

В других плагинах оба варианта работают одинаково.

Спасибо
genekh
 
Сообщения: 6
Зарегистрирован: 19 ноя 2015, 23:05

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Admin » 29 ноя 2015, 03:09

Здравствуйте!
Ссылка всегда и каждый раз будет разная, при каждом запросе. Должна проигрываться, это можно проверить, например, через VLC, при условии что внешний IP одинаковый и запрашиваемая запись существует.
Про саму Dune Вам лучше спросить у разработчика. Ну и еще надо бы предварительно, например с браузера, проверить что сам файл архива проигрывается, потому что за последнее время, в связи с переездом, мы очень часто и бывало на долго отключали архив, запрашиваемого Вами файла просто может не быть.
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение genekh » 29 ноя 2015, 13:47

Здравствуйте еще раз

Проверил все 4 ссылки через VLC - все 4 проигрываются, одна и та же передача, как и должно быть, и все сначала передачи, хотя 2-я ссылка теоретически должна быть с 23-й секунды. Т.е. вопросы скорее всего к Дюне, а не к Вам.

Попутно хотелось бы уточнить - какова гранулярность архива? Т.е. на какой минимальный интервал возможна перемотка (формирование ссылки) внутри одной и той же передачи?

Спасибо
genekh
 
Сообщения: 6
Зарегистрирован: 19 ноя 2015, 23:05

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Admin » 29 ноя 2015, 15:17

Все зависит от размера файла и от длинны передачи. На основе этих данных вычисляется примерный байт с которого начать считывать записи.
Тут, понятно, что на 100% достоверно определить это невозможно, так как битрейт плавающий и размер файла лишь опорная величина, считается что он равномерный, поэтому могут быть огрехи при перемотке на пару секунд, хотя при 23 уже должно нормально мотать. Могу предположить что этот файл от 27 числа не совсем целый.
100% способ перемотки - это использовать заголовки HTTP_RANGE, но Dune, на сколько я знаю, такого не может.
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение genekh » 08 дек 2015, 03:08

Здравствуйте,

Спасибо за ответ.

А индексировать по времени поток при записи у Вас не планируется? Чтобы при обращении по archive_next2 ссылка выдавалась с правильным смещением внутри файла записи даже при переменном битрейте потока?

А то сейчас позиционирование достаточно условно можно назвать точным - в среднем при перемотке на 10-20-30 секунд возвращаемся на одну и ту же точку, при перемотке на 40 чаще всего смещается в нужную сторону, но не на очень предсказуемое время. Иногда прыжки получаются достаточно произвольные - до нескольких минут.
Мне кажется, что внутренний TimeIndex с интервалом 10 секунд идеально решил бы проблему, но я могу ошибаться. Может быть это слишком затратно по ресурсам или по вычислительным затратам?
genekh
 
Сообщения: 6
Зарегистрирован: 19 ноя 2015, 23:05

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Admin » 08 дек 2015, 03:16

Именно затратно по ресурсам. И в нашем случае это никак не поможет. Вы присылаете время в формате timestamp, серверная сторона считает с какого байта начать считывание по формуле. Архивные файлы представляют собой сложенный ts и нарезанный на одинаковые по времени куски. При наличии какого-то индекса, будет идти перемотка встроенными средствами большинства плееров только при обращении к конкретному файлу на прямую, но не в нашем случае. В нашем случае обязательно будут вычисления по формуле.
Кстати, что-то я не замечал или не обращал внимание чтоб 10-20-30 секунд возвращали на одну и ту же точку.Такое может быть только при очень длинных передачах.
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение genekh » 08 дек 2015, 07:05

Я неточно выразился, я думаю. Я не имел в виду индексированный поток - индекс внутри самого файла. Я имел ввиду, что когда вы архив пишете вы отдельно пишете файл (таблицу в базу) с номером канала, timestamp и оффсетом в байтах (от начала куска или начала дня) - и так каждые 10 секунд. По объемам это должно быть очень немного по сравнению с объемом самого видеопотока - менее 9000 записей на канал в сутки - каждая запись реально байт 10-12. Когда к вам приходит запрос archive_next2 вы видите номер канала и timestamp - по индексу вычисляете два ближайших - и уже дальше по своей формуле вычисляете оффсет между двумя ближайшими оффсетами - таким образом вы никогда не ошибетесь больше, чем на 10 секукд, а реально гораздо меньше.

А насчет длинных передач я имел в виду 1.5-2 часа - попробуйте на СТБ помотать любое шоу - МастерШеф там, или на Первом - Голос - увидите, как сильно скачет.

Может, конечно, за послендние 2 недели архив немного битый был - не знаю.
genekh
 
Сообщения: 6
Зарегистрирован: 19 ноя 2015, 23:05

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение tradakad » 18 дек 2015, 01:15

Здравствуйте.

Проблема с открыванием видео полученного с помощью get_url

Как я делаю.

1) через postman посылаю запрос на /login
логин ок.

2) через postman http://api.sovok.tv/v2.3/json/get_url?c ... 1450386900
респонс

{
"url": "http/ts://us2.sovok.tv:8081/?ticket=9cd32ab55e5490a927ed8125e35a7f4029d7a776af2ddc5b44e5d30057a4e10ced550355b4fad5d922b246f84fcf1a4d26ae0b3f770a4417036f6e2b2b17a5eb6faf43633cc7f43495b647634c5808b3b5d6327112b14101c3c279ebff6a5cde012129f1ef7feafba7621c682f022731fac1b659ff5fe4745892b6211cfa290411b5b55a73e71a1bc31753800685f9cef4f17cb1227d95deee58286bdf0863639f6b1b5def420bd435172e94b8901994f036510ea804139b8c1b2382c330a902a0d8b077cf094a879af4352245fe8f15d7931b0f898f10fd9f433ed8253e01ba :network-caching=5000 :http-caching=5000 :no-http-reconnect :aspect-ratio=16:9",
"servertime": 1450386525
}


3. копирую ссылку и открываю в vlc
http/ts://us2.sovok.tv:8081/?ticket=9cd32ab55e5490a927ed8125e35a7f4029d7a776af2ddc5b44e5d30057a4e10ced550355b4fad5d922b246f84fcf1a4d26ae0b3f770a4417036f6e2b2b17a5eb6faf43633cc7f43495b647634c5808b3b5d6327112b14101c3c279ebff6a5cde012129f1ef7feafba7621c682f022731fac1b659ff5fe4745892b6211cfa290411b5b55a73e71a1bc31753800685f9cef4f17cb1227d95deee58286bdf0863639f6b1b5def420bd435172e94b8901994f036510ea804139b8c1b2382c330a902a0d8b077cf094a879af4352245fe8f15d7931b0f898f10fd9f433ed8253e01ba


не открывается,равно как и



подскажите в чем дело пожалуйста.

спасибо
tradakad
 
Сообщения: 16
Зарегистрирован: 26 июл 2015, 22:28

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Admin » 18 дек 2015, 18:38

Откройте ссылку в браузере, что пишет?
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

Пред.След.

Вернуться в REST API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron