Цитата:
Сообщение от RussakHH
Да для тех кто привык что плагин через либу капризничал и не качал какие то раздачи, теперь он как автомат Калашникова что не закинешь всё хавает!
И крове всего прочего функционал значительно расширился.
|
Пожалуй поведаю мистическую историю при обновлении этого плагина. Я им не так что бы часто пользовался для просмотра, чаще просто для поиска и скачки, но когда увидел, что вышел libtorrent 1.0.0, то захотел проапгрейдить Торрентер для всех. Когда я поставил 1.0.0, то ничего не заработало, сиды отказывались искаться, я наивно полагал, что это связано именно с плагином, поэтому я углублялся в его исходный код, пытался перенастраивать libtorrent, но ничего не получалось, тогда я откатился на 0.16.10 и тут оказалось, что и она работает то не ахти. Но так как я уже узнал часть кода, то мне казалось странным, что находя сидов и закачивая все нужные кусочки видео не стартовало, при самом жестком моде работы с HDD, когда все куски пишутся на место без кэша ОС.
Буфер скачивался, закачка стопорилась, плагин пытался стартовать видео, но у него не получалось. Я шел в папку, открывал нормально видео с помощью VLC. Даже XBMC нормально открывало этот буфер. Все ходило по кругу, пока я не додумался открыв в XBMC буфер и не удаляя файл пойти открыть его опять через плагин. Тогда то это и произошло, файл внезапно заиграл и закачка продолжилась. В разных режимах отладки я пытался выяснить как так получается, что через браузер файлов в XBMC видео открывается, даже через пульт на телефоне запускается, а плагин этого сделать не может до открытия кем-то другим. Я пытался это делать и с помощью класса xbmc.Player() и с помощью внутреннего обращения xbmc.exec('Play()'), но все попытки были тщетны и ffmpeg не удавалось открыть поток, нужно было открыть в браузере файлов.
Именно тогда родился монстр:
PHP код:
#мегакостыль!
rpc=({'jsonrpc': '2.0', 'method': 'Files.GetDirectory', 'params': {
'media': 'video', 'directory':os.path.dirname(path)}, 'id': 0})
data = json.dumps(rpc)
request = xbmc.executeJSONRPC(data)
response = json.loads(request)
time.sleep(0.3)
В режиме отладки я обратил внимание, но то что создается эскиз видео, т.е. миниатюра thumbnail, это и послужило догадкой, что возможно при открытии для создания эскиза что-то меняется и идет по-другому. Поэтому успешность проигрывания файла теперь почти 100%. Глава департамента тестирования говорит, что даже капризные в этом смысле mp4 чаще всего начинают играть, а об остальных форматах вообще можно не беспокоиться.
В данный момент я все еще разбираюсь почему libtorrent 1.0.2 не хочет так резво искать сидов при всех равных настройках, даже сам научился компилировать под windows и ubuntu. Так что возможен скоро переход. Впрочем libtorrent теперь отдельный модуль в моем репо, перехода вы даже не заметите.
Ну и еще, я ищу качественные сайты со списком названий фильмов\сериалов для поиска, что бы не печатать все вручную, если не знаете что хотите. Кидайте свои предложения, лучший вариант это большой список новинок, желательно с картиной или понятным формированием урл картинки на основе ссылки. Еще принимаю заказы на добавление ваших любимых трекеров.