Duration time stamp jumps around in VLC playing downloaded radio.

dinkypumpkin dinkypumpkin at gmail.com
Tue Nov 19 14:07:33 EST 2013


On 19/11/2013 09:34, MS wrote:
> On 18/11/13 20:38, Marc 'BlackJack' Rintsch wrote:
>> Sounds a bit like a missing or broken „xing header” in the MP3 file that
>> helps the player to figure out how much of the audio was already played.
> ...
> I'm just wondering why this is happening with every single radio
> download I make (that's converted to MP3 by get_iplayer which I
> require). Clearly something is not working properly but I don't know what.

avconv/libav is the culprit.  Going from Ubuntu 10.04 to 12.04 means 
that you move from the original version of ffmpeg to the libav fork that 
Ubuntu adopted, so you may pick up problems that didn't exist in the 
original ffmpeg or were fixed after the fork.

As Marc inferred, the Xing header is a likely source of this problem. 
The version of libav packaged with 12.04 (from the 0.8 branch) produces 
a header that VLC doesn't seem to like.  The header only includes a 
total frame count, so perhaps VLC needs more info.  Original ffmpeg or 
libav 0.9 produce a more complete header (incl. total byte count) and 
those files work fine with VLC.  This may just be a VLC idiosyncrasy.  A 
random check of a few other media players didn't turn up any problems 
with the duration.

A couple of options:

1. As Marc suggested, you can install MP3 Diags.  If you use the 
"Rebuild VBR data" function you can repair the files without re-encoding 
with LAME.

2. You can switch to original ffmpeg.  There are a couple of ways to do 
this:

a. The most straightforward solution is to get your own static 
(standalone) build of ffmpeg and configure it with get_iplayer via the 
--ffmpeg option.  Try here to look for a pre-built version:

http://ffmpeg.org/download.html#LinuxBuilds

Also, there are several ffmpeg build scripts floating around the net to 
help you build your own.  Here is one I know works:

https://github.com/stvs/ffmpeg-static

FWIW, you could adapt this to build avconv from libav 0.9 as well.

b. There is a PPA for ffmpeg and related packages that enables you to 
upgrade over libav:

https://launchpad.net/~jon-severinsson/+archive/ffmpeg

After you add the PPA repository and run "apt-get update", the update 
manager should pick up the upgradeable packages.  The version of ffmpeg 
installed is fairly old (0.10), but should work OK with get_iplayer.




More information about the get_iplayer mailing list