So you’ve no doubt ended up here because you’re absolutely sick of trying to eliminate video jutter when watching your much loved content. While this is most obvious in panning scenes, it’s also obvious in many other motion scenes. Caused by a fairly complicated case of mismatching refresh rates between your video card and screen along with the frame drops caused by the average system trying to compensate for it, this is really quite a pain. In absolutely typical fashion, it’s the XBMC folk that have been first to fix this. No idea why others are so much less attentive to the real issues!
I posted that this was available a while back, but only got round to installing and testing it this morning. Let me tell you, I’m impressed! All the content that I tried played remarkably smooth, like I’ve not seen in an extremely long time. So if you want nice panning scenes that are smooth as butter and in the process eliminate video jutter forever, read on.
**Update** At the moment (26 November 09) you’d probably be better off going and downloading the latest beta of XBMC than following this guide. It will have all the features mentioned here, but further along the development cycle. In fact for the moment, this guide may not even work. Also the latest beta now has a new default look which is pretty awesome. For more information on that, take a look here and for the latest live beta download, have a look here.
Install XBMC Live 9.04.1
** If you’re going to completely wipe and reinstall an existing installation, don’t forget to export your video library and re-import it later, might save you quite a bit of bandwidth and time!
Install XBMC Live in hard disk mode (not removable disk mode
Choose your password and don’t forget it
Login and begin preparation
Once booted, press CTRL-ALT-F2 to get a console screen (Alternatively you could ssh into the box via linux or via PuTTy on Windows so you can just copy and paste out of this guide)
type $ sudo passwd root to set the root password
type $ su and your new root password
Add upgrade repositories to configuration file
Add the SVN repository (or the stable ones if you wish) from wattazoum at http://www.xbmc.org/forum/showthread.php?t=33327
Note for svn on XBMC Live 9.04.1 you will use Ubuntu Jaunty packages.
as root:
(You have to use pico in Ubuntu (what XBMC live is based on) because they’ve screwed up their implementation of vi so bad you’ll tear your hair out trying to use it).
# pico /etc/apt/sources.list.d/xbmc.org.list
(You will probably have a few lines in there already with a # in front of them). Two of them are the same as you want to add, but you may as well just copy and paste the below over the top of the whole lot:
deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/thefirstm/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/thefirstm/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/xbmc-addons/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/xbmc-addons/ppa/ubuntu jaunty main
(The last two items allow you to download all the additional content such as skins, scripts and plugins). The 4th and 5th items are to get the NVIDIA driver with the latest version of libvdpau.
Press Ctrl X, press Y, then press Enter to save your changes.
Add repository GPA keys
Import the GPA keys (don’t copy the # when you’re pasting into your terminal window!)
*Update* – No matter what I do, wordpress converts two – - into one – so when you copy the below three lines make sure there is two dashes before recv-keys and keyserver not one
# apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 64234534
# apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 318C7509
# apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 40618B66
Download list of latest repository updates
# apt-get update
Upgrade and install to the latest repository updates
#apt-get upgrade
Upgrade XBMC Live 9.04.1 to latest stable (Currently 9.04.2)
**Important Update** Currently as at 2 November 2009 there are some huge issues with the SVN version of XBMC for 1080p content and it seems VDPAU. If you want to know when they’re fixed, follow the thread here: http://xbmc.org/forum/showthread.php?p=428503&posted=1#post428503
So until that is fixed I don’t recommend doing apt-get install xbmc as per the instructions below. However we can still upgrade to a specific version. To do this read on.
Create a directory somewhere on your xbmc live system
$ mkdir mytempdir
Get a specific SVN version (copy the entire line below and press enter)
$ wget https://launchpad.net/~team-xbmc-svn…epid2_i386.deb https://launchpad.net/~team-xbmc-svn…epid2_i386.deb https://launchpad.net/~team-xbmc-svn…epid2_i386.deb https://launchpad.net/~team-xbmc-svn…epid2_i386.deb https://launchpad.net/~team-xbmc-svn…epid2_i386.deb https://launchpad.net/~team-xbmc-svn…epid2_i386.deb
Install any dependencies eg
# apt-get install libvorbisenc2.
Then in that same directory enter
# dpkg -i xbmc*.deb (as root)
This should get you a recent version that actually works until it’s fixed. Or if it’s broken any time in the future you can use this method. You may have to do this from a clean install for it to work.
**End of update**
# apt-get install xbmc (you will get an error about X11 and two more, just ignore them, they’re OK)
# reboot
You’re ready to go!
How to set the smoothvideo options in XBMC and eliminate video Jutter forever!
- Go to Settings Menu and scroll down to Player Menu. Change Render Method to VDPAU if you have a supported NVIDIA card (trust me this is worth it, 24GB 1080p video uses only 5% CPU on a 8600GT!) Yes you read right, that’s an 8 in 8600.
- You may as well set High quality software upscaling to Enabled for SD content, but this is optional
- Click the Radio Button next to Sync playback to display.
- Go to Settings, Settings, Screen and set the vertical blank sync to Always Enabled
There are three options for syncing the playback. I suggest you find a scene you know causes jitter and try each one. You’ll be impressed with all of them, but some are more perfect than others. Personally, I’ve found the Video Clock (Resample Audio) with resample quality set to high to give the best results. To check what it’s doing with a particular setup, press the letter ‘o’ on the keyboard during playback. You’ll see information regarding skipped frames, speedups etc. For the official blurb see below:
The official Blurb:
How does it work?
Usually video is referenced to the system clock, but with a little magic a clock can be made with information from the videocard, this makes sure every frame is presented right after a vblank. Also because the clock can now be controlled, the speed can be changed a little so the fps of the video playing matches the refreshrate.
What about audio?
Audio has to stay in sync, this can either be done by resampling, skipping/duplicating packets, or adjusting the clock if it gets out of sync too far.
Resampling has the advantage that the speed of the video can be changed considerably, so 24 fps can be sped up to 25 fps to play at PAL speed.
The disadvantage of resampling is that it doesn’t work with passthrough, and there is a slight loss of audio quality.
Skipping/duplicating audiopackets has no loss of audio quality, but the speed of the video can only be changed a little to avoid doing a skip/duplication too often, most of the time it’s inaudible, but it can produce a very audible click.
Adjusting the clock has the best audioquality, but some extra video jitter can occur, also the speed of the video can’t change much, as the audio will sync the clock more often the more the speed of the video is changed.
Maintenance
To check for future updates just repeat the last three steps, ie, apt-get update, apt-get upgrade and if there was anything there reboot to be safe
Nice side effects of following this guide
- You will now have little icons at the bottom of the library view showing you what kind of content each file is (ie 1080p, SD, h264, DTS etc etc). Really nice so you know what is high def and what is not.
- Your library will work better and detect more content correctly
- Your menus will activate more quickly and seem more responsive
- You have an option in Settings/General to extract the metadata information from files
- You have a new option under Settings/Settings/Screensave to enable and set powersaving to a timeframe
- You have some nice new options under Settings/Skin Settings (Present in left hand menu bar)
Bugs and annoyances
The only bug I’ve found so far is one that causes any content with DTS audio tracks to not play the audio when downsampling to analog. This was working before upgrading XBMC so I’m sure that it can be made to work again. This may not affect those with HDMI digital out, but I don’t yet use that.
Screenshots of some of the new settings you get
Thanks for reading, hope it helped someone somewhere!
There’s a thread here if you’re interested in more information or have a problem.