Bagaimana cara mengunduh video streaming dengan protokol rtmp? Dari Harvard Extension, lebih spesifik

24

Saya mengalami kesulitan mengunduh ceramah video dari Harvard Extension School. Saya berharap bisa mengambil CS171, tetapi saya mendapati diri saya harus menghabiskan banyak waktu menunggu buffering tanpa akhir. Jadi saya ingin menemukan cara agar ceramah diunduh dan menontonnya secara lokal.

Jadi saya mencoba melihat kode sumber halaman (ambil kuliah pertama misalnya), saya menemukan FlashViewer terhubung dengan url XML. Saya mengikuti tautan, dan menemukan bahwa di antara tag "rtmp" adalah tautan ke file mp4: "rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "dan saya yakin itu saja, file yang saya cari.

Lalu muncul masalah dengan mengunduh. Saya telah menjalankan beberapa pencarian besar, dan mencoba beberapa kali. Tidak ada yang berhasil.

Salah satu cara yang saya coba adalah berlari

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

di Ubuntu saya, dengan respons dari

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: Skema `rtmp 'yang tidak didukung.

Saya tidak yakin apa artinya ...

Saya juga sudah mencoba rtmpdump, diakuisisi melalui apt-get. Dan ketika saya lari

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

saya mendapat

    RTMPDump v2.4
    (c) Andrej Stepanchuk 2010, Howard Chu, Tim Flvstreamer; lisensi: GPL
    Menghubungkan ...
    INFO: Terhubung ...
    GALAT: Menutup koneksi: NetStream.Play.Failed

Saya tidak tahu apa artinya NetStrem.Play.Failed ...

Lalu aku berlari ke stack overflow, dengan saran menggunakan mplayer dan vlc, aku berlari, masing-masing:

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

kembali

    MPlayer svn r34540 (Ubuntu), dibangun dengan gcc-4.7 (C) 2000-2012 Tim MPlayer
    mplayer: tidak dapat terhubung ke soket
    mplayer: Tidak ada file atau direktori seperti itu
    Gagal membuka dukungan LIRC. Anda tidak akan dapat menggunakan remote control Anda.

    Bermain rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    libavformat versi 53.21.0 (eksternal)
    Versi header tidak cocok 53.19.0
    Menggunakan protokol jaringan tanpa inisialisasi jaringan global. Silakan gunakan avformat_network_init (), ini akan menjadi wajib nanti.
    Menggunakan protokol jaringan tanpa inisialisasi jaringan global. Silakan gunakan avformat_network_init (), ini akan menjadi wajib nanti.
    [rtmp @ 0x7f3de47abc00] Kesalahan server: Baca akses ditolak untuk streaming 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Gagal membuka rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Keluar ... (Akhir file)

dan

    $ vlc -I dummy vlc -I dummy 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: // berhenti

dengan

    VLC media player 2.0.4 Twoflower (revisi 2.0.3-289-g6e6100a)
    [0xf0aed8] antarmuka dummy: menggunakan modul antarmuka dummy ...
    Menggunakan protokol jaringan tanpa inisialisasi jaringan global. Silakan gunakan avformat_network_init (), ini akan menjadi wajib nanti.
    Menggunakan protokol jaringan tanpa inisialisasi jaringan global. Silakan gunakan avformat_network_init (), ini akan menjadi wajib nanti.
    [rtmp @ 0x7f6f28010a20] Kesalahan server: Baca akses ditolak untuk streaming 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] kesalahan akses access_avio: Gagal membuka rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4: Kesalahan input / output
    [0x7f6f20000b28] kesalahan input utama: buka `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4 'gagal
    [0x7f6f20000b28] kesalahan input utama: Input Anda tidak dapat dibuka
    [0x7f6f20000b28] kesalahan input utama: VLC tidak dapat membuka rtmp MRL: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4 '. Periksa log untuk rincian.
    [0x7f6f28002a08] idummy demux: perintah `keluar '

sebagai tanggapan.

Saya juga sudah mencoba Orbit Unduh di Windows dengan nol sukacita. Pengunduhan bahkan tidak akan dimulai!

Akankah seseorang memberi tahu saya dengan baik mengapa sangat sulit untuk mengunduh jenis file seperti itu dan apa arti pesan kesalahan itu? Dan apakah ada cara agar saya bisa menonton kuliah itu secara lokal?

alxyzc
sumber
selama Anda tidak mendistribusikan video, Anda harus adil untuk mengunduhnya IMHO
CSᵠ
Apakah Anda memeriksa responsnya di sini: stackoverflow.com/questions/4808322/…
d33pika
@godka haha ​​selama saya benar-benar bisa mengunduhnya;
@ d33pika sebenarnya tidak. Sepertinya rtmpdump masih merupakan alat yang ampuh. saya pikir itu adalah flag yang gagal saya

Jawaban:

15

Gunakan RtmpSrv. Ini dibundel dengan rtmpdmp v.21 dan seterusnya:

Pada 2.1 ada dua program server tambahan, rtmpsrv dan rtmpsuck.

rtmpsrv adalah sebuah rintisan untuk server; itu mencatat menghubungkan dan memainkan parameter dari klien biasa yang terhubung dengannya. Kemudian memanggil rtmpdump dengan parameter tersebut untuk mengambil aliran.

Pemakaian

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) Andrej Stepanchuk 2010, Howard Chu, Tim Flvstreamer; lisensi: GPL
Menghubungkan ...
INFO: Terhubung ...
Mulai mengunduh di: 0,000 kB
[...]
3322.127 kB / 22,03 dtk (0,3%)
  • -r- url dari server rtmp. Temukan url dalam paket "sambungkan". Misalnya connect('22773_VOD_HOP_NEW_2013')artinya url Andartmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- lokasi file dan ketik server rtmp file video Anda. Ditemukan di paket "play".

  • -o- nama file keluaran. Jika ini adalah aliran mp4 maka gunakan ekstensi .mp4.

Steven Penny
sumber
Kamu adalah pahlawanku! Saya semua bermasalah dengan flag -C dari perintah rtmpdump. (Saya masih gagal memahami bagaimana saya harus mengubah itu, tapi itu berhasil!)
alxyzc
4
Peduli untuk menjelaskan untuk apa semua opsi baris perintah, karena tidak jelas bagi saya
Ivo Flipse
11

Gunakan pemutar VLC untuk mengunduh rtmpstreaming:

  1. Langkah: Memilih Media > Convert/Save(atau menggunakan pintasan Ctrl+ R)
  2. Langkah: Pilih tab Network
  3. Langkah: Masukkan aliran rmtp URI

    masukkan deskripsi gambar di sini

  4. Langkah: Pilih Convertdan masukkan jalur / file target
  5. Langkah: Pergi!
Gottlieb Notschnabel
sumber
1

Berkenaan dengan legalitas yang akan tergantung pada batasan yang ditetapkan oleh pemilik. Tapi saya akan berasumsi jika itu hanya untuk penggunaan pribadi tidak akan ada banyak masalah.

Sehubungan dengan mengunduhnya, Anda harus dapat menggunakan VLC . Saya belum pernah mencobanya sendiri tetapi ia mencantumkan dukungan untuk protokol RTMP dan itu opsi convert / save reguler harus dapat menyimpan steam ke file tanpa masalah.

Dracs
sumber
Saya sudah mencobanya sebenarnya, dengan hasil VLC meneriaki saya dengan yang berikut: 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, bagaimana cara memeriksa log?
alxyzc
@alxyzc Alat> Pesan. Anda mungkin ingin meningkatkan verbositas untuk melihat semua pesan debug.
bdr9
1

Saya telah sukses dengan beberapa stream RTMP menggunakan program youtube-dl .

Ini adalah aplikasi baris perintah yang akan mengunduh ke direktori Anda saat ini jika Anda tidak memberikan argumen. Dengan stream RTMP, saya biasanya hanya memberikan URL halaman, daripada mencoba mencari RTMP URI.

youtube-dl "http://domain/page-with-stream"
palswim
sumber
0

Streaming Video Downloader dapat melakukannya - Saya menggunakannya untuk menyimpan semua video. Baru saja mencobanya dengan kuliah Harward Anda dan itu berhasil. Ini bukan freeware tetapi dapat melakukannya.

Anda mungkin harus me-refresh halaman web beberapa kali meskipun untuk mengambil video.

Pengungkapan: Saya adalah bagian dari tim pengembang untuk produk ini.

George
sumber
0

Sebagai mahasiswa Harvard, saya terbiasa menonton kuliah dengan 2x atau lebih tinggi (kebiasaan dari CS50), dan itu merepotkan bahwa video sekolah Extension tidak memiliki fitur ini.

Saya telah menemukan bahwa Jaksta (Anda mungkin dapat menemukan salinan online secara gratis di suatu tempat) cukup berhasil mengunduh ceramah streaming dalam FLVformat, yang kemudian dapat saya tonton di VLC player dengan kecepatan apa pun sesuai dengan isi hati saya.

Setelah saya mengunduh kuliah pertama, saya dapat mengunduh kuliah berikutnya di desktop terpisah sementara saya menonton yang pertama. Saya menemukan solusi ini setelah membaca semua forum ini dan tidak benar-benar memahami bagaimana menerapkan pada OS OS solusi RMTP yang diposting di atas.

Jonathan
sumber