#1
|
|||
|
|||
Generowanie bezpośredniego do wideo linku youtube
Witam,
Na wiele nie liczę, ale czy jest jakakolwiek szansa by dowiedzieć się, jak wyciągnąć bezpośredni link do filmu na youtube ? Chciałbym wiedzieć jaki jest na to sposób, oprogramuje to sam. Znam sposób z plikiem get_video_info ale ten sposób nie działa dla każdego wideo, natomiast jDownloader potrafi pobrać każdy film. Czy ktokolwiek wie ? Czy jest jakakolwiek realna szansa, że support jdownloadera pomoże mi ? Pozdrawiam |
#2
|
||||
|
||||
Źródła JD są ogólnie dostępne więc wystarczy prześledzić jak działa dekrypter i wtyczka pobierająca pliki z YT
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
#3
|
|||
|
|||
Mowa o plikach .class ? Jest możliwe prześledzenie zawartości ?
|
#4
|
||||
|
||||
Nie, wystarczy jakiś klientem SVN (np. Tortoise SVN) podłączyć się do repozytorium źródeł JD (svn://svn.jdownloader.org/jdownloader) lub też zainstalować całe środowisko developerskie:
http://jdownloader.org/knowledge/wik...nt/get-started
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
#5
|
|||
|
|||
Dziękuje, nawet nie wiedziałem że jest taka możliwość. Dałbyś radę mi pomóc z tym ? Mam plik youtube.java prawdopodobnie w głównej mierze odpowiedzialny za generowanie linku, ale całość jest napisana naprawdę profesjonalnie, ciężko się w tym połapać. Rzucisz okiem na to ?
Last edited by editestowy; 05.11.2014 at 19:12. Reason: usunąłem kod - nie ma sensu go tu zamieszczać |
#6
|
||||
|
||||
Tak naprawdę to potrzebujesz prześledzić jak działa metoda przetwarzająca link YT w dekrypterze - metodą tą jest decryptIt w klasach: TbCm (stary typ linków) lub TbCmV2 (nowy typ linków).
W skrócie: -- metoda ta tworzy obiekt klasy YoutubeHelper (YoutubeHelper helper = getCachedHelper();) i analizując link wyszukuje finalne linki dla źródłowego adresu wykonując metodę: vc = helper.loadVideo(vid); I to co cię interesuje znajduje się w tej metodzie - czyli na podstawie określonych wyrażeń regularnych parsowana jest strona i wyszukiwane są wszelkie informacje o linku/linkach (np. warianty video). Informacje o linku/linkach zawarte są w obiekcie vc, z którego można je "wydobyć" np. vc.values().toArray() - otrzymujemy tablicę dostępnych możliwych wariantów (czyli video/audio/obrazki/napisy) związanych z linkiem bazowym, m.in. dla każdego wariantu także jego url.
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
#7
|
|||
|
|||
Wracam po czasie, znowu się za to zabrałem, ostatnio brakło czasu i nie dałem rady. Prawie półtorej roku temu. Co do Twojej odpowiedzi (dziękuję za nią) to jesteś pewien? Przeanalizowałem obie klasy (tbCmv2 oraz YouTubeHelper) i nie znalazłem tam algorytmu żadnego. Linki są przeszukiwane pod różnymi kątami, czy wideo jest płatne, zagraniczne, zablokowane itp ale wszelkie wartości które te metody zwracają to coś na zasadzie tego:
Code:
**External links are only visible to Support Staff** |
#8
|
||||
|
||||
Tak jak pisałem - cały algorytm wyszukiwania na stronie linków i załadowania ich do obiektu helper jest w metodzie loadVideo klasy YoutubeHelper:
vc = helper.loadVideo(vid); (vid to obiekt klasy YoutubeClipData przechowujący informacje o klipie) I chcąc zobaczyć jak strona jest przetwarzana, i jak są wyszukiwane warianty - najlepiej krokowo w debuggerze sobie prześledzić jak powyższa metoda to robi. Natomiast chcąc znaleźć linki: Znajdź w kodzie dekryptera linię, gdzie przetwarzany jest zbiór znalezionych obiektów/wariantów. for (Entry<YoutubeITAG, YoutubeStreamData> es : vc.entrySet()) { .. .. } Pojedynczy link do wariantu możesz "wydobyć" w tej pętli dodając np. wyrzucenie na konsolę info o tagu/wariancie i jego adresie url: System.out.println("tag=" + es.getValue().getItag() + ", url=" + es.getValue().getUrl());
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
Thread Tools | |
Display Modes | |
|
|