Szukaj na blogu

XBMC i pobieranie filmów z serwisów VOD

Trafiłem jakiś czas temu na ciekawe zastosowanie programu XBMC poza odtwarzaniem filmów z dysku potrafi to odtwarzać filmy i seriale z różnych serwisów VOD jak ipla, tvnplayer, vod.tvp i podobnych (więcej na ten temat)

Ogólnie działa to super, świetna jakość, praktycznie brak reklam, brakuje tylko jednej ważnej funkcji: nagrywania a właściwie to odpowiednika funkcji „zapisz jako” znanej z przeglądarki aby można była zachować sobie film albo odcinek serialu na później.

Po sprawdzeniu jak działa ten program szybko okazało się, że ładnie zapisuje on adres oglądanego filmu, wraz z całą masą informacji o tym co się działo, w pliku xbmc.log - wystarczy wiec odszukać właściwy adres w logu i można ściągnąć plik.
Nie jest to zbyt wygodne dlatego napisałem kolejny jednolinijkowy skrypt getlast, pobiera on ostatnio oglądany film (niezależnie od tego czy obejrzeliśmy cały czy tylko kawałek).
Jako parametr można mu podać to co ma zostać przekazane do programu wget, na przykład nazwę pod jaką ma zostać zapisany pobrany plik (-O nazwa) bo pliki na tych stronach mają dość dziwne nazwy.

Aktualizacja, ponieważ XBMC zmienił nazw na KODI zmieniała się nazwa katalogu i pliku w którym zapisywane są logi
getlast - wersja dla KODI

Tak przy okazji, mając legalne źródło seriali, w bardzo dobrej jakości, na szybkich serwerach, dziwi mnie, że te same seriale wrzuca się na fora warezowe z dużo gorszą jakością i podaje linki do jakiś dziwnych serwisów hostingowych z których pobranie czegokolwiek trwa pół dnia.

27 komentarzy:

  1. A mnie nie dziwi takie zachowanie .. dopoki dzieci neostrady nie wymrą albo ktoś im nie pomoże dopóty będą wrzucać na śmietnikowe serwisy takie linki i żerować na każdym grosiku zebranym na downloadzie .. ot cała filozofia debilnego wrzucania na debilne serwery ..

    OdpowiedzUsuń
    Odpowiedzi
    1. Chcialem pocieszyc, oni sa oplacani przez takich jak ja. tylko ze po oplacie okazalo sie ze nie moge ogladac i nie moge odzyskac pieniedzy.
      rozszerze toche.
      bedac w polsce kupilem abonament do iply i tez T-HD1000 reciever do ogladania iply przez internet i by moc ogladac localne programy DTerestial, jak wrocilem do siebie okazalo sie ze nie moge uzyc mojego abonamentu gdyz ipla nie uznaje poza polska. ipla ma pocket world ktoren kosztuje 3 razy tyle co polski ale nie ma az tylu programow, wiekszosc jest nie dopuszczalnych poza granicami.
      Kupujac z iply packet world wiskakuje oplata w USD , euro i jeszcze w jednej walucie, tylko ze gdzie ja mieszkam zarobki nie sa az takie jak w usa czy w niemchech lub szwajcarji , unas srednia zarobkow jest mniej wiecej taka jak w polsce a moze i mniej, a by porownac niektore koszty zycia to litr mleka unas kosztuje 7 zl wiec mnie na mleko nie stac a tymbardziej na ipla z wieloma limitacjami.
      Zakupujac iple mialem nadzieje by utrzymac kontakt z polska i jezykiem, ale wyglada ze nie da rady.
      ale co zplacilem to zaplacilem i maja moje pienadze wiec nie moze sie im krzywda zdac,
      a jak moge moje straty nadrobic?

      Usuń
  2. Być może to trochę naiwne pytanie (nie mam zbyt wielu doświadczeń z linuxem, xbmc i skryptami od strony grzebania w nich) ale... co zrobić z tym skryptem, żeby działał?

    OdpowiedzUsuń
    Odpowiedzi
    1. Po ściągnięciu wystarczy nadać mu uprawnienia do wykonywania, np poleceniem:
      chmod 775 getlast
      potem oglądasz sobie coś w XBMC i gdy chcesz to pobrać uruchamiasz skrypt poleceniem ./getlast albo naciskając na nim enter w mc albo możesz sobie do niego skrót zrobić na pulpicie, czyli tak jak będzie wygodnie.

      Jeśli się spodoba możesz sobie go przenieść do katalogu /usr/bin albo /usr/local/bin wtedy będziesz mógł go uruchamiać poleceniem getlast.

      Polecam uruchamianie z konsoli bo wtedy można mu podać nazwę pliku pod jaką ma zapisać ściągnięty film pisząc:
      getlast -O nazwa_pliku.mp4

      Acha jeszcze jedno aby skrypt zadziałał musisz mieć zainstalowany program wget

      Usuń
    2. Nie działa. :-(
      Niestety, zwraca komunikat:
      (...)
      Translacja dcs-193-111-38-246.atmcdn.pl... 193.111.38.246
      Łączenie się z dcs-193-111-38-246.atmcdn.pl|193.111.38.246|:80... połączono.
      Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 403 Forbidden
      2013-03-01 21:12:05 BŁĄD 403: Forbidden.

      Problem w tym, ze linki działają (np. w znienawidzonym przeze mnie multigecie), więc problem nie w linkach. :-(

      Usuń
    3. W tym przypadku jak podejrzewam problemem jest czas, na niektórych stronach jak np na tvnplayer linki wygasają po jakimś czasie.

      Jeśli zacznie się pobieranie od razu wszytko jest OK ale po chwili może już być 403 albo 404

      Usuń
    4. kolejna sprawa: czasem pojawia się odpowiedź: Nie można zapisać do `profile_1600.mp4?salt.... (za długa nazwa pliku).
      przy komendzie z parametrem -o w terminalu nic sie nie dzieje, natomiast z parametrem o, parametr traktowany jest jak url. i pobierana jest strona dnsa z komunikatem o błedzie.
      Może sam skrypt da się tak zmodyfikować, żeby podmieniał nazwę na domyślna, np. film_z_xbmc.mp4

      Usuń
    5. Ma być -O nazwa pliku (wielkość litery ma znaczenie)

      Jeśli chcesz mieć podaną nazwę na stałe to możesz dopisać to na samym końcu tej linijki w skrypcie

      Usuń
    6. ok, chyba ogarnąłem mniej więcej.
      Dzięki wielkie za skrypt i za pomoc. Skrypcik naprawdę fajny.
      Gdyby tylko jeszcze mozna było uzywac go z poziomu XBMC, i gdyby sam umiał nadawać kolejne numery dla nazwy pliku (tak, żeby mozna było oglądając, lub włączając odcinki na tvnplayer jednym kliknięciem zapisywać kolejne bez zbędnego pisania - grzebie teraz w informacjach, nt. utworzenia wykonywalnych skrótów klawiszowych, ale ciężko mi idzie.) to już byłby idealny. :-)

      Usuń
    7. W takim razie dopisz na końcu tej linii coś takiego:

      -O `date +%s`.mp4

      (najlepiej zrób kopiuj wklej aby nie przekręcić czegoś)
      wówczas plikom będą nadawane numerki które odpowiadają ilości sekund jaka upłynęła od początku 1970r
      Czyli będzie zachowana kolejność i nie będą się powtarzały.

      Usuń
  3. Witam, a jak można uruchomić ten skrypt na win7 ? nie za bardzo wiem jak to zrobić...

    OdpowiedzUsuń
    Odpowiedzi
    1. O tego to ja też za bardzo nie wiem. Pewnie jak by zainstalować cygwina to by poszło. No i trzeba jeszcze pamiętać o tym, że ścieżka do pliku z logiem będzie tam inna więc trzeba poprawić.

      Usuń
    2. Ten komentarz został usunięty przez autora.

      Usuń
    3. win-bash w zupełności wystarczy, tylko trzeba ciut popracować - wrzucić pliki w jakiś folder, dodać folder do zmiennej PATH, skojarzyć pliki sh i bash z odpowiednimi binarkami, przerobić skrypt żeby miał rozszerzenie i wskazywał na odpowiedni plik z logiem.

      Usuń
  4. Witajcie. Ja mam następujące pytanie ;) Wsadziłem sobie skrypt do /usr/bin/ i dałem sobie na pulpit skrót do konsoli "konsole -e getlast" aby widziec w konsoli postep pobierania. Pliki mi zapisuje w katalogu domowym a co dopisac zeby zapisywal na drugim dysku pod wskazanym folderem?

    Dzieki za info

    OdpowiedzUsuń
    Odpowiedzi
    1. Wsadź sobie ten skrypt do foldera, do którego chcesz pobierać filmy, utwórz dowiązanie do skryptu na pulpicie i pobieraj urachamiając skrypt przyciskiem 'wykonaj w terminalu' wtedy też będziesz miał podgląd).

      Usuń
    2. Albo dopisz na początku skryptu
      cd jakiś/katalog
      wtedy będzie się pobierało do tego katalogu

      Usuń
  5. Witam.
    Mam pytanie do autora strony: czy jest sposób na wydobycie linków z mniej popularnych stron używających silverlight do wyświetlania video?
    Chciałbym obejrzeć powtórkę programu "7 Dzień Tygodnia" w wersji video na stronie radiozet.pl; byłbym wdzięczny za krótkie How To, jak zrobić skryptozakładkę dopasowaną do konkretnej strony.

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie ma jednego sposobu który działał by wszędzie, każdy z serwisów video wykorzystujących te dziwne odtwarzacze ma jakieś woje api, trzeba podpatrzyć jak ono działa a potem napisać własny program (skrypt) który będzie z niego korzystał.

      Usuń
    2. Ale jak podejrzeć.. Zainstalować silver. na windowsie i sprawdzić logi?
      Rozumiem, że bez podstawowej znajomości JS nie zrobię samodzielnie takiej kryptozakładki?

      Usuń
    3. Z reguły najlepiej się sprawdza podsłuchiwanie komunikacji z telewizorami z internetem - telewizory dostają materiał najlepszej jakości i bez drm (dlatego, że zwykle chodzą na linuksie gdzie nie ma żadnych drmów).
      W dalszej kolejności odtwarzacze na tablety, a dopiero jak nie ma innej możliwości to same odtwarzacze w przeglądarce.

      Aby podsłuchać ruch w internecie najlepiej użyć sniffera zainstalowanego na ruterze albo komputerze udostępniającym internet. Zwykle nie trzeba przechwytywać wszystkiego wystarczą same zapytania http.

      Zanim jednak się zacznie, radzę poszukać w internecie czy ktoś już nie zrobił tego wcześniej i nie opublikował gdzieś adresów z którymi łączą się te programy - oszczędzi to dużo czasu i niepotrzebnej zabawy.
      Większość tych skryptów pisałem mając właśnie jeden czy dwa przykładowe adresy podsłuchane przez zupełnie kogoś innego, widząc je można było się łatwo domyślić która cześć odpowiada za identyfikację (id) filmu i samemu musiałem tylko sprawdzić gdzie na stronie występuje taki identyfikator, a potem napisać skrypt który wyciąga go ze strony odpytuje serwer za pomocą api i odpowiednio parsuje/interpretuje wyniki zwrócone przez serwer.

      Zwykle do napisania skryptu wystarcza najbardziej podstawowa umiejętność programowania, jeśli już się wcześniej w czymś programowało to samego JS można się nauczyć w kilka godzin.

      Usuń
    4. Witam ponownie
      Chciałbym poruszyć jeszcze pewną sprawę a mianowicie problem z odtworzeniem filmów pobranych z ipla z rozszerzeniem .flv. Bez problemu mogę odtworzyć filmy np. z you-tube w formacie .flv a tych z ipli żadnym odtwarzaczem- mplayer, vlc, xine.
      Nie wiem czy to problem globalny, czy może tylko u mnie, bo jakiegoś kodeka brakuje w systemie.

      Usuń
  6. Witam.
    Proszę o wyrozumiałość, jeżeli to głupie pytanie, ale czy można ściągnąć coś np z tvnplayera przez xbmc na androida? Próbowałam zrobić to analogicznie jak w windows, ale pliku xbmc.log nie ma tam, gdzie być powinien ( nigdzie indziej też go nie mogę znaleźć ).

    OdpowiedzUsuń
  7. No proste acz genialne.
    Chwile szukalem czegos generycznego.
    Niektore wtyczki maja opcje download ale w sumie rzadko dzialaly.
    Szukalem takze jakiegos generycznego add-ona co by to robil.
    Mozna by sie o taki pokusic... :)

    OdpowiedzUsuń
  8. Szacun dla Twórcy. Pozdrawiam

    OdpowiedzUsuń
  9. ps. Bash nie jest katalogiem :)
    pozdrawiam

    OdpowiedzUsuń