Download music from CBC.ca via the Brightcove player
This is our procedure for downloading music in MP3 format from CBC's Brightcove player.
To download the file and convert it to an MP3, we used ffmpeg. Download and install it if you don't already have it.
The following directions are based on the technique from René van Oosten.
In Google Chrome browse to: chrome://plugins/ and disable Flash.
Open an Incognito window by pressing CTRL+SHIFT+N
Press CTRL+SHIFT+I to open Developer Tools.
Click the cogwheel icon at the bottom right. Navigate to Overrides and change the User Agent to iPad – iOS 5.
Navigate to the website which contains the content you wish to download.
Return to Developer Tools and navigate to the Network tab.
Reload the page.
Pause the video, if it plays.
At the bottom of the Developer Tools window, click on the circle with a line through it to clear the list.
Play the video.
Look in the Type column for "application/vnd.apple.mpegurl". Right-click this, and choose "Copy link address".
Open a Command Prompt window and navigate to the folder in which ffmpeg is installed. Run the following command:
ffmpeg -i "PASTE THE LINK ADDRESS HERE"
The results will look something like this:
N:\Music>ffmpeg -i "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=0000000000000&pubId=0000000000&playerId=0000000000000&lineupId=0000000000000&affiliateId=" ffmpeg version N-61663-g19139d8 Copyright (c) 2000-2014 the FFmpeg developers built on Mar 20 2014 22:06:17 with gcc 4.8.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 67.100 / 52. 67.100 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 34.101 / 55. 34.101 libavdevice 55. 11.100 / 55. 11.100 libavfilter 4. 3.100 / 4. 3.100 libswscale 2. 5.102 / 2. 5.102 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, hls,applehttp, from 'http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=0000000000000&pubId=0000000000&playerId=0000000000000&lineupId=0000000000000&affiliateId=': Duration: 00:04:08.00, start: 0.000000, bitrate: 0 kb/s Program 0 Metadata: variant_bitrate : 446000 Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 396x224, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Metadata: variant_bitrate : 446000 Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 96 kb/s Metadata: variant_bitrate : 446000 Program 1 Metadata: variant_bitrate : 1928000 Stream #0:2: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 960x540, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Metadata: variant_bitrate : 1928000 Stream #0:3: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 128 kb/s Metadata: variant_bitrate : 1928000 At least one output file must be specified |
ffmpeg -i "PASTE THE LINK ADDRESS HERE" -map 0:3 output_file_name.mp3
If there is only one program, you may omit the -map 0:3 parameter if you wish. Omitting this causes ffmpeg to use the first program.
If all goes well, ffmpeg will download the file and convert it to MP3. If you like batch files, here's one:
@SET /p first=< BrightCove.txt \music\ffmpeg -i "%first%" @ECHO. @ECHO Enter the ffmpeg map parameter in the following format: -map 0:3 @SET /p m= SET c=0 setlocal ENABLEDELAYEDEXPANSION FOR /F "tokens=*" %%T IN (BrightCove.txt) DO ( SET /a c=c+1 CLS @ECHO Track !c! \music\ffmpeg -i "%%T" %m% !c!.mp3 ) CLS @ECHO All done. @ECHO. @PAUSE |
There's another method, no transcoding with ffmpeg, only sheer HTTP GET : )
http://kscherer.github.io/linux/2012/04/20/download-unofficial-cbc-podcast/
All the trickery to hide precious content from the searching mind, it is s0o shameful.