I have a mediaplayer program which lags playing one specific file. My assumption is that it is because of too high video bitrate (41.3 Mbps) and too slow CPU (it is embedded system). So, I want to be sure that bitrate is the case.

The question is: how can I convert videofile, changing only video bitrate? I can use avconv or any other package from Debian repos.

1 Answer 1


To keep a stream in file intact while transforming it with avconv (audio in your case), use -codec:[stream_specifier] copy - thus -codec:a copy or -acodec copy in your particular case (see the avconv(1) man page).

However, changing the bitrate means re-encoding the whole video - I take it you are playing something like FullHD. To re-encode it while minimizing the picture quality loss would take significant amount of time even on a fast machine. I would suggest first trying to rule out other things like broken file, display driver speed etc. First try another files with similar bitrate. Then try to scale the picture down: on slow desktop systems, I found it often helps to reduce the frame resolution. In mplayer or mpv this can be achieved with:

$ mpv -vf scale=480 -sws=4

which for FullHD just drops every three out of four pixels (in every direction - hence you'll get every 16th pixel in a plane). If that helps, fiddle with the desired resolution and software scaler algorithm to achieve the best still watchable result.

Last but not least, you are not mentioning what kind of system you have. These days many come with hardware assisted decoding (and encoding) capabilities - are you sure your system lacks it or has it enabled?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .