These forums are archived

See this post for further info

get_iplayer forums

Forum archived. Posting disabled.

Any way of getting old-style download progress output format back?

user-1451

Is it possible to get old-style download progress output format with 2.95 and later through a specific command line option? Or isn't this available anymore because ffmpeg is used instead of rtmpdump?

The new-style download progress output format is like this:

Recording:    45.71MB / 2284.79MB  6347kbps   2.0% 00:48:09 remaining

but often it calculates the total size incorrectly, meaning that you often get 102-105% in total so this information is unreliable. Also, you don't get any information about the total/downloaded duration of the program so if it breaks you don't know from which time offset you can start a new download.

I have built Java programs around the old-style download progress format and this is much more reliable than the new one. I realize that the old-style format doesn't give you information about estimated time remaining but my Java program calculates that.

By old-style download progress format I mean:

3616.923 kB / 10.88 sec (1.6%)

I could obviously stay on an older version of get_iplayer but I would like to be able to download BBC Radio 1 shows in 320Kbps so I need the new version.

user-2

(01-11-2016, 12:32 PM)Is it possible to get old-style download progress output format with 2.95 and later through a specific command line option? Or isn't this available anymore because ffmpeg is used instead of rtmpdump?
Not for your purposes (and it has nothing to do with ffmpeg). See below.
Quote:The new-style download progress output format is like this:

Recording:    45.71MB / 2284.79MB  6347kbps   2.0% 00:48:09 remaining

but often it calculates the total size incorrectly, meaning that you often get 102-105% in total so this information is unreliable.
If you had read the FAQ list you would know why that occurs. The BBC programme information isn't completely reliable, so don't expect it to be.
Quote:Also, you don't get any information about the total/downloaded duration of the program so if it breaks you don't know from which time offset you can start a new download.
get_iplayer doesn't parse the media stream so can't show accurate elapsed time. Also, the total duration included in programme metadata may be off by several minutes. get_iplayer cannot yet automatically resume DASH/HLS downloads, so the safest approach is to check the actual duration of any partial download and calculate accordingly, though that won't be a magic bullet. Any start/stop times for DASH/HLS downloads are only accurate to 6-10 seconds, so you would have to do some suturing in an audio editor if you download programmes in several pieces.

You can also use --radiomode=haf to make HLS the radio programme stream format and --hls-ffmpeg to force ffmpeg to be used for downloading.  The ffmpeg progress display shows elapsed time. However, this option has been deprecated, so it would only be a short term solution.
Quote:By old-style download progress format I mean:

3616.923 kB / 10.88 sec (1.6%)

I could obviously stay on an older version of get_iplayer but I would like to be able to download BBC Radio 1 shows in 320Kbps so I need the new version.
That is the progress display from rtmpdump, so only is shown with now-deprecated RTMP streams. get_iplayer can't replicate it for other stream formats. You can temporarily use --radiomode=flash if you're content with 128k. For benefit of others: Radio 1 shows are not available via RTMP at 320k.

user-1451

Thanks for your reply and sorry that I missed the duration inaccuracy from the FAQ.

Shame that the download progress info is now unreliable owing to BBC.

Is there any way of overwriting the duration that BBC provides through a command line parameter? for instance, the duration of The Film Review is most often around 660s and not 900s as provided by BBC. That way, one could specify 660s as the duration and progress info would be more accurate.

Or perhaps implement a new command line parameter that forces a call to ffprobe on the URL through which the program will be downloaded and correcting the duration to whatever ffprobe reports?

user-2

(01-11-2016, 05:23 PM)Is there any way of overwriting the duration that BBC provides through a command line parameter?
No.
(01-11-2016, 05:23 PM)Or perhaps implement a new command line parameter that forces a call to ffprobe on the URL through which the program will be downloaded and correcting the duration to whatever ffprobe reports?
No. That belongs in your wrapper application (assuming it would even work).

These forums are archived

See this post for further info