Jak działa pobieranie strumieniowych filmów?

Odpowiedzi:

5

Istnieją co najmniej dwa sposoby na osiągnięcie tego:

  1. Oprogramowanie przechwytuje strumienie pobierania i zapisuje wszystkie wykryte filmy (jest to najbardziej prawdopodobny scenariusz)

  2. Oprogramowanie po prostu kopiuje je z pamięci podręcznej przeglądarki internetowej (chociaż nie jest to niemożliwe, jest to znacznie mniej prawdopodobne z dwóch powodów: 1. wymaga konkretnej wiedzy o wszystkich obsługiwanych przeglądarkach internetowych i ewentualnie także niektórych odtwarzaczach wideo; oraz 2. nie wszystkich filmów są przechowywane na dysku w całości, ponieważ zależy to od odtwarzacza wideo)

    Edycja: Dodano trzecią i czwartą możliwość ...

  3. Oprogramowanie żąda wideo, wykonując to samo żądanie pobierania, co zrobiłoby wtyczka przeglądarki, a następnie zapisuje dane w momencie ich otrzymania (różni się to od pierwszej wymienionej powyżej możliwości i może wymagać pewnej inżynierii wstecznej odtwarzacze filmów napisane we Flashu lub wąchanie pakietów w celu ustalenia, w jaki sposób został skonstruowany identyfikator URI)

  4. Oprogramowanie zastępuje domyślny moduł obsługi odtwarzaczy wideo (lub może zastąpić moduł obsługi odtwarzacza Flash Player i działać jako przejściowy moduł obsługi w rozpoznawanych witrynach, takich jak YouTube.com, Video.Google.com itp., Ale w przypadku witryn i Flash Animacja, której nie rozpoznaje, po prostu przekazuje ją do poprzedniej wtyczki Flash Player, aby stworzyć bardziej „przezroczysty” efekt dla użytkownika)

Randolf Richardson
źródło
Tak, wiem o tym, ale chciałem uzyskać bardziej szczegółowe informacje na temat pierwszego sposobu. tzn. w jaki sposób oprogramowanie dokładnie identyfikuje strumień wideo, w jaki sposób przechwytuje strumień itp.
Ankit Soni
Nie jestem pewien, w jaki sposób przechwycilibyście taki strumień wideo bez użycia proxy, czego nie sądzę ci pobierający. Innym sposobem na to byłoby wykorzystanie informacji ze strony, aby zlokalizować rzeczywiste pliki wideo i pobrać je bezpośrednio. Więcej informacji na stronie raw.github.com/rg3/youtube-dl 2011.08.04/youtube-dl .
user55325,
@ user55325: W ten sam sposób zrobiłby to program do wykrywania pakietów.
Randolf Richardson,
Czy zwykle nie musi to być podłączane bezpośrednio do sterowników sieciowych? Z pewnością nie tak to robi youtube-dl; wygląda na to, że byłoby to jakoś przesadne.
user55325,
@ user55325: Cóż, opisałem „ przynajmniej dwa sposoby ” - nie jestem szczególnie pewien, w jaki sposób „youtube-dl” (który, jak zakładam, jest nazwą jednej z tych aplikacji do „przechwytywania wideo”), pobiera wideo, ale na przynajmniej znasz teraz dwie możliwe metody. Podłączenie do sterowników sieciowych prawdopodobnie nie jest potrzebne, ponieważ Windows prawdopodobnie zapewnia interfejs API wyższego poziomu, który jest bardziej ogólny i nie wymaga haków specyficznych dla karty sieciowej.
Randolf Richardson,
2

YouTube ma unikalny adres URL dla każdego filmu. Niektóre witryny oferują skrypt online, który konwertuje filmy z YouTube'a na MP4 lub podobne rozszerzenie pliku wideo. Ten skrypt zwykle pobiera wideo na ich serwer FFMPEG, a następnie konwertuje je do formatu MP4 lub innego obsługiwanego formatu i umożliwia pobranie wideo przesyłanego strumieniowo.

Ryu
źródło
jeśli chodzi o konwersję, czy mówisz o darmowym oprogramowaniu ffmpeg, kiedy mówisz o serwerze ffmpeg? Nie wiem, czy ma opcję serwera
barlop
Film jest zwykle przechowywany jako plik w formacie .FLV, który może być natywnie odtwarzany przez doskonały darmowy odtwarzacz VLC o otwartym kodzie źródłowym: videolan.org
Randolf Richardson
@barlop, serwer używa skryptu do konwersji. Istnieje wiele darmowych i płatnych skryptów, które dokonują tego rodzaju konwersji. Większość tych skryptów zaczęła się jako alternatywny skrypt do klonowania na youtube.
Ryu,
@Ryu Nigdy tego nie próbowałem, tylko czytam teraz trochę, ale myślę, że masz na myśli rzeczy, które zaczęły się jako klon witryny youtube, / skrypty witryny do udostępniania wideo, rozwiązania do hostingu i udostępniania wideo, konwerter flv po stronie serwera, jak ten pakiet youtube-clone.com Ciekawe. Widzę, że ffmpeg obejmuje transmisję strumieniową, więc być może, istnieje coś takiego jak serwer ffmpeg, jak mówisz, więc w pewnym sensie zobacz, o co ci chodzi. Nie spotkałem tego wcześniej.
barlop
Sterownik WinCAP służy do przechwytywania strumienia na serwerach Windows i komputerach stacjonarnych. Możesz google „URL snooper”, aby dowiedzieć się, jak można przechwytywać strumienie za pomocą tego sterownika na pulpicie systemu Windows. Podobnie istnieją serwery FFMPEG, które są przygotowane do obsługi treści multimedialnych, takich jak pliki flv, java i pliki multimedialne.
Ryu,
0

Istnieje narzędzie o nazwie youtube-dl, które robi to poprzez wyodrębnienie wszystkich niezbędnych informacji o pliku wideo i jego lokalizacji, a następnie pobranie go (przez RTMPDump lub bezpośrednio) zgodnie ze specyfikacją użytkownika (wiele filmów z YouTube jest dostępnych w wielu formatach ).

Źródło Python jest dostępne i powinno działać w systemach Linux, Windows i Mac OS X (pod warunkiem, że zainstalowany jest interpreter Python).

Myślę, że tak działa większość programów pobierających.

użytkownik55325
źródło