3

I have the latest version of Ubuntu MATE 64-bit on a low-end laptop/notebook (specs at the bottom).

I've been trying to play HD video, and it's been very inconsistent. It will play some videos fine, while other videos will lag/stutter (caused by CPU hitting 100%). The problem is, the videos that play fine are often much much higher quality than the videos it struggles with.

For example:

Game of Thrones s05e08 - Hardhome (plays fine)

Size: 4.96GB
Length: 59m59s
Format: .mkv
Video:
Resolution: 1920x1078
Data rate: 11,467kbps
Total bitrate: 11,851kbps
Audio:
Bit rate: 384kbps
Channels: 6
Audio sample rate: 48kHz

Mr. Robot s02e09 - eps2.7_init_5.fve (stutters/lags)

Size: 738MB
Length: 49m10s
Format: .mkv
Video:
Resolution: 1920x1080
Data rate: 1,712kbps
Total bitrate: 2,096kbps
Audio:
Bit rate: 384kbps
Channels: 6
Audio sample rate: 48kHz

By all logic, if my laptop can play the episode of Game of Thrones flawlessly, it should be able to play the episode of Mr. Robot without a hitch.

This isn't the case though. Mr. Robot runs very choppy and laggy. I've tried multiple video players (VLC, smplayer, mplayer, mpv media player, Gnomemplayer, kodi), all with the same results.

In Game of Thrones, my CPU sits under 50% usage. In Mr. Robot the CPU usage hits 100% regularly which causes stuttering and lag in the video. I don't have much RAM installed, but even when the CPU is hitting 100% in Mr. Robot the RAM never gets above 50% usage.

PC Specs:

CPU: Intel Celeron N3050 (2M cache, up to 2.16GHz)
RAM: 2GB
Storage: 32GB SSD
OS: Ubuntu MATE 16.04.1 64-bit
Extra info:
Window Manager: Compiz (anything else causes screen-tearing in video playback)

As a control: Both videos have been tested on my high-end gaming PC which runs Windows 10, and they work fine.

1 Answers1

1

This might be an issue of different codecs giving you different performance.

Not an expert on the matter, so take the considerations below with a grain of salt.

That said, a smaller file or lower bitrate (in theory) does not necessarily have to result in better playback performance, it could even result in worse playback performance.

For example, if we imagine an encoding that saves bandwidth by computing the current frame based on the frame before (e.g. just contains the pixels that actually change), that would be more taxing on the CPU compared to one that simply has the full data for every frame.

An additional catch would be that the player would not be able to simply skip a frame (something the viewer might not even notice) in a situation where we hit a CPU bottleneck, since it needs that frame in order to compute the next frame.

bgse
  • 700