Làm cách nào để tải xuống video với giao thức rtmp? Từ Harvard Mở rộng, cụ thể hơn


24

Tôi đã gặp khó khăn khi tải xuống các bài giảng video từ Trường Mở rộng Harvard. Tôi đã hy vọng tôi có thể lấy CS171, nhưng tôi thấy mình phải mất rất nhiều thời gian để chờ đợi bộ đệm vô tận. Vì vậy, tôi muốn tìm một cách để tải xuống các bài giảng và xem chúng tại địa phương.

Vì vậy, tôi đã cố gắng xem mã nguồn của trang ( ví dụ như bài giảng đầu tiên ), tôi thấy FlashViewer được liên kết với một url XML. Tôi đã theo liên kết và thấy rằng giữa các thẻ "rtmp" là một liên kết đến tệp mp4: "rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "và tôi tin rằng đó là tập tin mà tôi đang tìm kiếm.

Sau đó là vấn đề với việc tải xuống. Tôi đã chạy một số tìm kiếm lớn, và đã thử nhiều lần. Không có làm việc.

Một cách mà tôi đã thử là chạy

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

trên Ubuntu của tôi, với phản hồi của

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: Lược đồ không được hỗ trợ `rtmp '.

Tôi không chắc điều đó có nghĩa là gì...

Tôi cũng đã thử rtmpdump, có được thông qua apt-get. Và khi tôi chạy

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

tôi có

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, Đội ngũ phù thủy; giấy phép: GPL
    Đang kết nối ...
    THÔNG TIN: Đã kết nối ...
    LRI: Kết nối đóng: NetStream.Play.Fails

Tôi không biết NetStrem.Play.Fails nghĩa là gì ...

Sau đó, tôi chạy vào stack stack, với các gợi ý sử dụng mplayer và vlc, tôi đã chạy, tương ứng:

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

đã trở lại

    MPlayer svn r34540 (Ubuntu), được xây dựng với Nhóm MPlayer gcc-4.7 (C) 2000-2012
    mplayer: không thể kết nối với ổ cắm
    mplayer: Không có tập tin hoặc thư mục như vậy
    Không thể mở hỗ trợ LIRC. Bạn sẽ không thể sử dụng điều khiển từ xa của bạn.

    Chơi rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    phiên bản libavformat 53,21.0 (bên ngoài)
    Phiên bản tiêu đề không khớp 53.19.0
    Sử dụng các giao thức mạng mà không cần khởi tạo mạng toàn cầu. Vui lòng sử dụng avformat_network_init (), điều này sẽ trở thành bắt buộc sau này.
    Sử dụng các giao thức mạng mà không cần khởi tạo mạng toàn cầu. Vui lòng sử dụng avformat_network_init (), điều này sẽ trở thành bắt buộc sau này.
    [rtmp @ 0x7f3de47abc00] Lỗi máy chủ: Đọc quyền truy cập bị từ chối cho luồng 2012/02 / 22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Không thể mở rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Đang thoát ... (Kết thúc tập tin)

    $ vlc -I dummy vlc - tập tin xuất / ts: output.mpg vlc: // thoát

với

    Trình phát đa phương tiện VLC 2.0.4 Twoflower (phiên bản 2.0.3-289-g6e6100a)
    [0xf0aed8] giao diện giả: sử dụng mô-đun giao diện giả ...
    Sử dụng các giao thức mạng mà không cần khởi tạo mạng toàn cầu. Vui lòng sử dụng avformat_network_init (), điều này sẽ trở thành bắt buộc sau này.
    Sử dụng các giao thức mạng mà không cần khởi tạo mạng toàn cầu. Vui lòng sử dụng avformat_network_init (), điều này sẽ trở thành bắt buộc sau này.
    [rtmp @ 0x7f6f28010a20] Lỗi máy chủ: Đọc quyền truy cập bị từ chối cho luồng 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] lỗi truy cập access_avio: Không thể mở rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02 / 22872 / L01 / 22872-20120124-L01-1-h264 -121280 mp4: Lỗi đầu vào / đầu ra
    [0x7f6f20000b28] lỗi đầu vào chính: mở `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02 / 22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x980 mp4 'thất bại
    [0x7f6f20000b28] lỗi đầu vào chính: Không thể mở đầu vào của bạn
    [0x7f6f20000b28] lỗi đầu vào chính: VLC không thể mở MRL 'rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02 / 22872 / L01 / 22872-20120124-L01-1-h264 -16x9-852x480.mp4 '. Kiểm tra nhật ký để biết chi tiết.
    [0x7f6f28002a08] demux demux: lệnh `thoát '

đáp lại

Tôi cũng đã thử Orbit Download trên Windows với niềm vui không. Việc tải xuống thậm chí sẽ không bắt đầu!

Ai đó sẽ nói với tôi tại sao rất khó để tải xuống loại tệp như vậy và những thông báo lỗi đó có ý nghĩa gì? Và có cách nào để tôi có thể xem những bài giảng đó tại địa phương không?


miễn là bạn không phân phối video, bạn nên công bằng khi tải xuống IMHO
CSᵠ

Bạn có kiểm tra câu trả lời ở đây không: stackoverflow.com/questions/4808322/ Cách
d33pika

@godka haha ​​miễn là tôi thực sự có thể tải xuống;

@ d33pika thực sự không. có vẻ như rtmpdump vẫn là công cụ mạnh mẽ. Tôi nghĩ rằng đó là những lá cờ tôi đã thất bại trong việc chỉnh sửa mà không hoàn thành công việc

Câu trả lời:


15

Sử dụng RtmpSrv. Nó được gói cùng với rtmpdmp v.21 trở đi:

Kể từ 2.1, có hai chương trình máy chủ bổ sung là rtmpsrv và rtmpsuck.

rtmpsrv là một sơ khai cho một máy chủ; nó ghi lại các tham số kết nối và phát từ một máy khách thông thường kết nối với nó. Sau đó, nó gọi rtmpdump với các tham số đó để lấy luồng.

Sử dụng

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, Đội ngũ phù thủy; giấy phép: GPL
Đang kết nối ...
THÔNG TIN: Đã kết nối ...
Bắt đầu tải xuống với giá: 0,000 kB
[...]
3322.127 kB / 22,03 giây (0,3%)
  • -r- url của máy chủ rtmp. Tìm url trong gói "kết nối". Ví dụ: connect('22773_VOD_HOP_NEW_2013')url của bạn sẽ làrtmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- vị trí tệp và nhập vào máy chủ rtmp của tệp video của bạn. Tìm thấy nó trong gói "chơi".

  • -o- tên tệp đầu ra. Nếu đó là luồng mp4 thì hãy sử dụng phần mở rộng .mp4.


Bạn là người hùng của tôi! Tôi đã gặp rắc rối với cờ -C của lệnh rtmpdump. (Tôi vẫn không hiểu làm thế nào tôi nên điều chỉnh nó, nhưng nó vẫn hoạt động!)
alxyzc

4
Quan tâm giải thích tất cả các tùy chọn dòng lệnh là gì, bởi vì nó không chính xác rõ ràng với tôi
Ivo Flipse

11

Sử dụng trình phát VLC để tải xuống một rtmpluồng:

  1. Bước: Chọn Media > Convert/Save(hoặc sử dụng phím tắt Ctrl+ R)
  2. Bước: Chọn tab Network
  3. Bước: Nhập URI luồng rmtp

    nhập mô tả hình ảnh ở đây

  4. Bước: Chọn Convertvà nhập đường dẫn / tệp đích
  5. Bước: Đi!

1

Liên quan đến tính hợp pháp sẽ phụ thuộc vào các hạn chế do chủ sở hữu đặt ra. Nhưng tôi sẽ cho rằng nếu nó chỉ dành cho sử dụng cá nhân thì sẽ không có vấn đề gì.

Liên quan đến việc tải chúng, bạn sẽ có thể sử dụng VLC . Tôi chưa bao giờ thử bản thân mình nhưng nó liệt kê hỗ trợ cho giao thức RTMP và tùy chọn chuyển đổi / lưu thông thường sẽ có thể lưu hơi vào một tệp mà không gặp vấn đề gì.


Tôi đã thử điều đó thực sự, với kết quả của VLC la hét với tôi như sau: 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, làm cách nào để kiểm tra nhật ký?
alxyzc

@alxyzc Công cụ> Tin nhắn. Bạn có thể muốn tăng mức độ chi tiết để xem tất cả các thông báo gỡ lỗi.
bdr9

1

Tôi đã thành công với một số luồng RTMP bằng chương trình youtube-dl .

Đây là một ứng dụng dòng lệnh sẽ tải xuống thư mục hiện tại của bạn nếu bạn vượt qua nó không có đối số. Với các luồng RTMP, tôi thường chỉ chuyển nó qua URL trang, thay vì cố gắng định vị URI RTMP.

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

0

Streaming Video Downloader có thể làm điều đó - Tôi sử dụng nó để lưu tất cả các video trẻ em. Chỉ cần thử nó với bài giảng Harward của bạn và nó đã làm việc. Nó không phải là phần mềm miễn phí nhưng nó có thể làm được.

Bạn có thể phải làm mới trang web một vài lần mặc dù video sẽ được chọn.

Tiết lộ: Tôi là một phần của nhóm phát triển sản phẩm này.


0

Là sinh viên đại học Harvard, tôi thường xem các bài giảng ở mức 2 lần trở lên (thói quen từ CS50) và thật phiền khi các video của trường Mở rộng không có tính năng này.

Tôi đã thấy rằng Jaksta (có lẽ bạn có thể tìm thấy một bản sao miễn phí trực tuyến ở đâu đó) tải xuống thành công các bài giảng phát trực tuyến ở FLVđịnh dạng, sau đó tôi có thể xem trình phát VLC ở bất kỳ tốc độ nào với nội dung trái tim tôi.

Khi tôi đã tải xuống bài giảng đầu tiên, tôi có thể tải xuống các bài giảng tiếp theo trong một máy tính để bàn riêng trong khi tôi xem bài đầu tiên. Tôi đã tìm thấy giải pháp này sau khi xem qua tất cả các diễn đàn này và không thực sự hiểu cách triển khai trên Mac OS, giải pháp RMTP đã được đăng ở trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.