Jak mogę pobierać filmy strumieniowe przy użyciu protokołu RTMP? Z Harvard Extension, a dokładniej


24

Mam problem z pobraniem wykładów wideo z Harvard Extension School. Miałem nadzieję, że mogę wziąć CS171, ale musiałem spędzić strasznie dużo czasu, czekając na niekończące się buforowanie. Dlatego chcę znaleźć sposób na pobranie wykładów i obejrzenie ich lokalnie.

Próbowałem więc wyświetlić kod źródłowy strony (weźmy na przykład pierwszy wykład ), stwierdziłem, że FlashViewer jest połączony z adresem URL XML. Podążyłem za linkiem i stwierdziłem, że między tagami „rtmp” znajdował się link do pliku mp4: „rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "i wierzyłem, że o to chodzi, plik, którego szukałem.

Potem pojawia się problem z pobieraniem. Przeprowadziłem rozległe wyszukiwanie i próbowałem wiele razy. Żaden nie działał.

Jednym ze sposobów, które próbowałem, było bieganie

    $ wget rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

na moim Ubuntu, z odpowiedzią

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: Nieobsługiwany schemat `rtmp '.

Nie jestem pewien, co to znaczy ...

Próbowałem także rtmpdump, nabytego przez apt-get. A kiedy biegnę

    $ rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 -o wykład1.mp4

dostaję

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, zespół Flvstreamer; licencja: GPL
    Łączę ...
    INFORMACJE: Połączono ...
    BŁĄD: Zamykanie połączenia: NetStream.Play.Failed

Nie wiem, co NetStrem.Play.Failed oznacza albo ...

Potem wpadłem na przepełnienie stosu, z sugestiami użycia mplayera i vlc, uruchomiłem odpowiednio:

    $ mplayer -dumpstream rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

dostać z powrotem

    MPlayer svn r34540 (Ubuntu), zbudowany z gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: nie można połączyć się z gniazdem
    mplayer: Nie ma takiego pliku ani katalogu
    Nie można otworzyć obsługi LIRC. Nie będziesz mógł korzystać z pilota.

    Odtwarzanie rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    wersja libavformat 53.21.0 (zewnętrzna)
    Niezgodna wersja nagłówka 53.19.0
    Korzystanie z protokołów sieciowych bez globalnej inicjalizacji sieci. Proszę użyć avformat_network_init (), stanie się to później obowiązkowe.
    Korzystanie z protokołów sieciowych bez globalnej inicjalizacji sieci. Proszę użyć avformat_network_init (), stanie się to później obowiązkowe.
    [rtmp @ 0x7f3de47abc00] Błąd serwera: Odmowa dostępu do odczytu dla strumienia 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Nie można otworzyć rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Wyjście ... (koniec pliku)

i

    $ vlc -I manekin vlc -I manekin rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 --sout file / ts: output.mpg vlc: // quit

z

    Odtwarzacz multimedialny VLC 2.0.4 Twoflower (wersja 2.0.3-289-g6e6100a)
    [0xf0aed8] fikcyjny interfejs: korzystanie z fikcyjnego modułu interfejsu ...
    Korzystanie z protokołów sieciowych bez globalnej inicjalizacji sieci. Proszę użyć avformat_network_init (), stanie się to później obowiązkowe.
    Korzystanie z protokołów sieciowych bez globalnej inicjalizacji sieci. Proszę użyć avformat_network_init (), stanie się to później obowiązkowe.
    [rtmp @ 0x7f6f28010a20] Błąd serwera: Odmowa dostępu do odczytu dla strumienia 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] błąd dostępu access_avio: Nie można otworzyć rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4: Błąd wejścia / wyjścia
    [0x7f6f20000b28] główny błąd wejściowy: otwarty z `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4 'nie powiodło się
    [0x7f6f20000b28] główny błąd wejściowy: Nie można otworzyć danych wejściowych
    [0x7f6f20000b28] błąd głównego wejścia: VLC nie może otworzyć MRL 'rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4 '. Sprawdź szczegóły w dzienniku.
    [0x7f6f28002a08] idummy demux: polecenie `quit '

w odpowiedzi.

Próbowałem również pobrać Orbit Download na Windows z zerową radością. Pobieranie nawet się nie rozpocznie!

Czy ktoś mógłby mi powiedzieć, dlaczego tak trudno jest pobrać takie pliki i co oznaczają te komunikaty o błędach? I czy jest jakiś sposób, aby obejrzeć te wykłady lokalnie?


dopóki film nie będzie rozpowszechniany, pobieranie go powinno być uczciwe IMHO
CSᵠ

Czy sprawdziłeś odpowiedź tutaj: stackoverflow.com/questions/4808322/…
d33pika

@godka haha, o ile mogę go pobrać;

@ d33pika faktycznie nie. wygląda na to, że rtmpdump wciąż jest potężnym narzędziem. myślę, że to flagi, których nie poprawiłem, nie wykonały pracy

Odpowiedzi:


15

Użyj RtmpSrv. Jest on zawarty w pakiecie z rtmpdmp v.21 i nowszymi:

Od wersji 2.1 istnieją dwa dodatkowe programy serwerowe, rtmpsrv i rtmpsuck.

rtmpsrv to skrót dla serwera; rejestruje parametry połączenia i odtwarzania ze zwykłego klienta, który się z nim łączy. Następnie wywołuje rtmpdump z tymi parametrami, aby pobrać strumień.

Stosowanie

rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce -CB: 0 -CZ: \
-CS: /2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-CS: BounceAPI3.0 -CN: 0,000000 -CS: mp4 \
-y mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-o a.flv
RTMPDump v2.4-84-gdd57cd0
(c) 2010 Andrej Stepanchuk, Howard Chu, zespół Flvstreamer; licencja: GPL
Łączę ...
INFORMACJE: Połączono ...
Rozpoczęcie pobierania przy: 0,000 kB
[...]
3322.127 kB / 22.03 sec (0.3%)
  • -r- adres URL serwera rtmp. Znajdź adres URL w pakiecie „połącz”. Np. connect('22773_VOD_HOP_NEW_2013')Oznacza, że ​​twój adres URL będziertmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- lokalizację pliku i wpisz na serwerze rtmp pliku wideo. Znalazłem go w pakiecie „play”.

  • -o- wyjściowa nazwa pliku. Jeśli jest to strumień MP4, użyj rozszerzenia .mp4.


Jesteś moim bohaterem! Niepokoiła mnie flaga -C polecenia rtmpdump. (Nadal nie rozumiem, jak powinienem to ulepszyć, ale działa!)
alxyzc,

4
Troska o wyjaśnienie, co wszystkie opcje linii poleceń są za, bo to nie jest do końca jasne dla mnie
IVO Flipse

11

Użyj odtwarzacza VLC, aby pobrać rtmpstrumień:

  1. Krok: Wybierz Media > Convert/Save(lub użyj skrótu Ctrl+ R)
  2. Krok: Wybierz kartę Network
  3. Krok: Wprowadź identyfikator URI strumienia rmtp

    wprowadź opis zdjęcia tutaj

  4. Krok: Wybierz Converti wprowadź docelową ścieżkę / plik
  5. Krok: Idź!

1

W odniesieniu do legalności, która byłaby zależna od ograniczeń ustalonych przez właściciela. Zakładałbym jednak, że gdyby to był tylko do użytku osobistego, nie byłoby większego problemu.

Jeśli chodzi o ich pobieranie, powinieneś mieć możliwość korzystania z VLC . Nigdy nie próbowałem tego sam, ale wyświetla obsługę protokołu RTMP, a jego zwykła opcja konwersji / zapisu powinna być w stanie zapisać plik Steam do pliku bez żadnych problemów.


Próbowałem tego faktycznie, w wyniku VLC krzyczy na mnie z następującym: Your input can't be opened: VLC is unable to open the MRL 'rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4'. Check the log for details.btw, jak sprawdzić dziennik?
alxyzc

@alxyzc Narzędzia> Wiadomości. Możesz zwiększyć szczegółowość, aby zobaczyć wszystkie komunikaty debugowania.
bdr9,

1

Odniosłem sukces z niektórymi strumieniami RTMP przy użyciu programu youtube-dl .

Jest to aplikacja wiersza polecenia, która pobierze do twojego bieżącego katalogu, jeśli nie podasz żadnych argumentów. W przypadku strumieni RTMP zwykle po prostu przekazuję adres URL strony, zamiast próbować zlokalizować identyfikator URI RTMP.

youtube-dl "http://domain/page-with-stream"

0

Streaming Video Downloader może to zrobić - używam go do zapisywania wszystkich filmów wideo. Właśnie wypróbowałem to z twoim wykładem Harwarda i zadziałało. To nie jest darmowy, ale może to zrobić.

Być może trzeba będzie odświeżyć stronę kilka razy, aby film mógł zostać odtworzony.

Ujawnienie: Byłem częścią zespołu projektantów tego produktu.


0

Jako student Harvardu przyzwyczaiłem się do oglądania wykładów w 2x lub wyższej (nawyk z CS50) i niepokoję się tym, że filmy ze szkoły Extension nie mają tej funkcji.

Przekonałem się, że Jaksta (prawdopodobnie prawdopodobnie gdzieś znajdziesz darmową kopię online) dość skutecznie pobiera wykłady strumieniowe w FLVformacie, który następnie mogę oglądać w odtwarzaczu VLC z dowolną prędkością do treści mojego serca.

Po pobraniu pierwszego wykładu mogę pobrać kolejne wykłady na osobnym pulpicie podczas oglądania pierwszego. Znalazłem to rozwiązanie po przejrzeniu wszystkich forów i niezrozumieniu, jak wdrożyć w systemie Mac OS rozwiązanie RMTP, które zostało opublikowane powyżej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.