Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been having trouble downloading video lectures from Harvard Extension School. I was hoping I could take CS171, but I found myself having to spend awful lot of time waiting for endless buffering. So I wish to find a way to have the lectures downloaded and watch them locally.

So I tried to view the page's source code (take the first lecture for example), I found the FlashViewer is linked with an XML url. I followed the link, and found that between the "rtmp" tags was a link to an mp4 file: "rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4" and I believed that's it, the file I was looking for.

Then comes the problem with downloading. I've run some vast search, and tried multiple times. None worked.

One way that I tried was running

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

on my Ubuntu, with a response of

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

I'm not sure what that means...

I've also tried rtmpdump, acquired via apt-get. And when I run

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

I get

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting ...
    INFO: Connected...
    ERROR: Closing connection: NetStream.Play.Failed

I don't know what NetStrem.Play.Failed means either...

Then I ran into stack overflow, with the suggestions of using mplayer and vlc, I ran, respectively:

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

got back

    MPlayer svn r34540 (Ubuntu), built with gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: could not connect to socket
    mplayer: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.

    Playing rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    libavformat version 53.21.0 (external)
    Mismatching header version 53.19.0
    Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
    Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
    [rtmp @ 0x7f3de47abc00]Server error: Read access denied for stream 2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Failed to open rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Exiting... (End of file)

and

    $ 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://quit

with

    VLC media player 2.0.4 Twoflower (revision 2.0.3-289-g6e6100a)
    [0xf0aed8] dummy interface: using the dummy interface module...
    Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
    Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
    [rtmp @ 0x7f6f28010a20] Server error: Read access denied for stream 2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] access_avio access error: Failed to open rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: Input/output error
    [0x7f6f20000b28] main input error: open of `rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4' failed
    [0x7f6f20000b28] main input error: Your input can't be opened
    [0x7f6f20000b28] main input error: 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.
    [0x7f6f28002a08] idummy demux: command `quit'

in response.

I've also tried Orbit Download on Windows with zero joy. The downloading wouldn't even start!

Would someone nicely tell me why it is so hard to download such kind of files and what those error messages mean? And is there any way that I can watch those lectures locally?

share|improve this question

migrated from stackoverflow.com Jan 6 '13 at 9:34

This question came from our site for professional and enthusiast programmers.

    
as long as you don't distribute the video, you it should be fair to download it IMHO –  CSᵠ Jan 6 '13 at 6:33
    
Did you check the response here: stackoverflow.com/questions/4808322/… –  d33pika Jan 6 '13 at 6:43
    
@godka haha as long as i can actually get to download it; –  alxyzc Jan 6 '13 at 7:04
    
@d33pika actually no. seems like rtmpdump still is the powerful tool. i think it's the flags i failed to tweak with that didn't get the work done –  alxyzc Jan 6 '13 at 7:06

4 Answers 4

up vote 6 down vote accepted

Use RtmpSrv. It is bundled with rtmpdmp v.21 onwards:

As of 2.1 there are two additional server programs, rtmpsrv and rtmpsuck.

rtmpsrv is a stub for a server; it logs the connect and play parameters from a regular client that connects to it. It then invokes rtmpdump with those parameters to retrieve the stream.

Usage

rtmpdump -r rtmp://flash.dce.harvard.edu/bounce -C B:0 -C Z: \
-C S:/2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-C S:BounceAPI3.0 -C N:0.000000 -C S: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, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
[...]
3322.127 kB / 22.03 sec (0.3%)

You can probably make this work just with the -r, -y and -o options. I populated the arguments using wireshark.

  • -r - the url of the rtmp server. Find the url in the "connect" packet. E.g. connect('22773_VOD_HOP_NEW_2013') means your url will be rtmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y - the file location and type in the rtmp server of your video file. Found it in the "play" packet.

  • -o - the output filename. If it's an mp4 stream then use a .mp4 extension.

share|improve this answer
    
You are my hero! I was all troubled with the -C flag of the rtmpdump command. (I still failed to understand how I should tweak that, but it's working!) –  alxyzc Jun 13 '13 at 8:06
2  
Care to explain what all the command line options are for, because it's not exactly clear to me –  Ivo Flipse Jun 25 '13 at 12:38

In regards to the legality that would depend on the restrictions set by the owner. But I would assume if it was just for personal use there wouldn't be much of an issue.

In regards to downloading them you should be able to use VLC. I haven't ever tried it myself but it lists support for the RTMP protocol and it's regular convert/save option should be able to save the steam to a file without any issue.

share|improve this answer
    
I Have tried that actually, with the result of VLC yelling at me with the following: 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, how do I check the log? –  alxyzc Feb 28 '13 at 7:03
    
@alxyzc Tools > Messages. You may want to increase the verbosity in order to see all the debug messages. –  bdr9 Mar 28 '13 at 21:46

Streaming Video Downloader can do it - http://www.binarymark.com/Products/StreamingVideoDownloader/default.aspx I use it to save all kidns of videos. Just tried it with your Harward lecture and it worked. It's not free but it can do it.

You may have to refresh the webpage a couple of times though for the video to be picked up.

Disclosure: I was part of the dev team for this product.

share|improve this answer

As a Harvard undergrad, I'm used to watching lectures in 2x or higher (a habit from CS50), and it's a bother that Extension school videos don't have this feature. I've found that Jaksta (you can probably find a free copy online somewhere) pretty successfully downloads streaming lectures in FLV format, which I then can watch in VLC player at any speed to my heart's content. Once I've got the first lecture downloaded, I can get the next lectures downloading in a separate desktop while I watch the first. Found this solution after perusing all these forums and not really understanding how to implement on Mac OS the RMTP solution that was posted above.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.