InflatableMouse-temp: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
 
(69 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This document will guide you through the process of installing and configuring MediaCenter for Linux. You are advised to read through the document before installing MediaCenter. It assumes some basic knowledge of Linux in general and familiarity working from a terminal. It also assumes an installation on 64-bit distribution as that will most likely be the target system. Installation on a 32-bit system will be very similar and, where applicable, notes will clarify the differences.
This is InflatableMouse' scratch page.
----
Note: this page is not done yet!
__TOC__
==Overview==


Throughout this document you are required to run certain commands in a terminal, sometimes with root permissions. Whether you do that as root itself or using temporarily elevated permissions through sudo is up to you. This document will precede each command with a # or $ sign, signifying whether the command needs to run as root (#) or as a regular user ($). Unless you changed your terminal prompt, it will show this same symbol for root (#) or user ($) on its prompt. You should not include this symbol in your command, it only signifies how the command should be run.
===What is madVR?===
madVR is an advanced video renderer written by Mathias Rauen, which leverages the power of your graphics card (hereby referred to as “GPU”) for advanced video scaling and processing.
Just some of the advanced features that madVR offers include: high precision YUV>RGB conversion, inverse-telecine with decimation to extract 24p from a 29fps source; frame blending to play back video smoothly regardless of the source framerate and your refresh rate; colorspace transformations and 3DLUT calibration.


{{Related articles start}}
===How do I use madVR?===
{{Related|Installation & Removal}}
In JRiver Media Center, madVR is activated by changing the video mode from Red October Standard to Red October HQ.
{{Related|Getting Started}}
{{Related|Trial Information}}
{{Related|http://www.jriver.com/purchase.html Purchase and License Information}}
{{Related articles end}}


== Before you begin ==
<span style="color: brown; font-family: monospace,monospace; font-size:1em;">Tools → Options → Video → General Video Settings → Video Mode: Red October HQ</span>
MediaCenter is in beta and is under heavy development. As such, it may not work as expected. Although it is considered to be stable enough for regular use it may still show unexpected behavior such as crashes or random refusals to play a track. Please make sure you read through the list of [http://yabb.jriver.com/interact/index.php?topic=85770.0 Outstanding issues].


It is strongly advised to make regular backups of your media. There have been no reports of MediaCenter for Linux messing up tags or otherwise corrupting files, but it is still in beta - consider yourself warned. You can configure MediaCenter to not update tags at all, it will only read from your files but that does not negate the fact that you should always have backups.
The next time you play a video, Media Center will download the required files for the plugin to work.


It is also a good idea to read through the [http://yabb.jriver.com/interact/index.php?board=35.0 sticky threads on the forums], too.


=== System requirements ===
{| style="width: 100%; border-spacing: 0; border: 0px solid black;" align="top" cellpadding="3" cellspacing="0"
MediaCenter is being developed on Debian Wheezy 32-bit, x86 architecture. It will run on multiarch distributions (64-bit with 32-bit libraries) once the proper 32-bit dependencies are satisfied. See DEPENDENCIES for more information.
! scope="row" style="background: #ecedf3; color: #111; border-style: solid; border-width: 2px solid #bbb;" width="100" | Important Note by JRiver -- Nothing further is required in order to enjoy the benefits of madVR. The following instructions should be considered for expert level users only.
|}


MediaCenter requires a CPU that supports SSE2. This means the CPU needs to be from around 2002 or later.


==== Hardware Requirements (Minimum) ====
==Configuring madVR==
* Intel or AMD x86 Compatible CPU with SSE2
madVR has a lot of options, which can be confusing for new users.
* 2GB RAM
It can also be quite demanding of your hardware in its default configuration. Unlike most HTPC tasks, madVR uses your GPU to handle its advanced scaling and image processing, and that is often a component that people do not consider when building a HTPC.
* 300MB free hard drive space for installation (excluding space for digital media)
* Sound device supported by ALSA
* Internet connection (recommended)


==== Software Requirements ====
<span style="color: red;"><b><i>To access the madVR configuration</i></b></span>, you need to start playing a video (I would then recommend pausing it) right-click anywhere on the screen, and go to:
Official Support:
* Debian Wheezy or a similar distribution based on Debian
* Working Xorg - see [[#Headless|Running MC Headless]] for a minimal installation. GUIfied - MediaCenter should work on any desktop. Its confirmed to work on XFCE, Unity, KDE, Gnome and Cinnamon. MATE and others are untested (try searching [http://yabb.jriver.com/interact/index.php?board=35.0 Interact]). If you know one that works or how to get it working, you are invited to share this on [http://yabb.jriver.com/interact/index.php?board=35.0 Interact].
* Working ALSA sound stack


MediaCenter requires:
<span style="color: brown; font-family: monospace,monospace; font-size:1em;">DirectShow Filters → madVR</span>
* X86 (32-bit)
* SSE2
* libc6 >= 2.13
* libX11-6 >= 2.1.5
* libcurl3 >= 7.26
* lame >= 3.99
* xfonts-75dpi
* xfonts-100dpi
* An ALSA device that supports S32_LE
* On multiarch/multilib systems, all libraries MediaCenter depend on need to be 32-bit.


MediaCenter is known to work on recent versions of Mint, Ubuntu, OpenSuse, Fedora and Arch Linux. However, this is considered experimental and is not guaranteed to work. If you intent to run MediaCenter on such a distribution, you are strongly encouraged to share your experience on [http://yabb.jriver.com/interact/index.php?board=35.0 Interact].
The first section to configure is <b><u>Devices</u></b>.
[[File:01-devices-display5lurz.png|none|frame|Configure Devices in MadVR Settings]]


=== Limitations ===
There may be a few devices already listed here even if you have not used madVR before, as the build Media Center downloads has some pre-configured. You can simply right-click and delete them—but leave the entry for your display.
* Although Linux can run on architectures other than x86 (like ARM or PowerPC for instance), MediaCenter does not run on architectures other than i386 or x86_64.
You can select what type of device is connected in this tab, but it doesnʼt affect anything other than the icon displayed.
* OSS and Pulse are currently not supported by MediaCenter. It may work with Pulse, but it is currently unsupported.
* MediaCenter can run in server mode on a headless server, but it requires an Xserver running. See [[#Headless|Running MC Headless]] for more information.
* MediaCenter can run on bleeding edge distributions like Arch Linux. However it is built on Debian Wheezy, so some of the libraries it depends on are older versions not included or compatible with the versions used on bleeding edge distributions. The [[#Troubleshooting|Troubleshooting]] section may contain some tips to get it working.


=== Dependencies ===
Below that is the Identification section, but there is nothing to configure there—it just gives you some additional information based on your displayʼs EDID data.
To successfully install MediaCenter, you need to make sure that the following depencies are installed. Installation on a 64-bit system requires multiarch to be enabled for 32-bit compatibility.


To enable multiarch on a 64-bit system, type the following in a terminal:
Next is the <b><u>Properties Tab</u></b>.
[[File:02-propertiesa4ux8.png|none|frame|Properties tab in MadVR Settings]]


<pre>
This allows you to set the levels madVR will output to Windows, and the level of dithering used.
# dpkg --add-architecture i386
</pre>


This command require you update. Type:
Regardless of what your display accepts, whether it is 16–235 or 0–255, it should be left at 0–255 to avoid having the image appear “washed out”.
Typically if you need to send 16–235 to a display, you will use the video card output to set that, not the video renderer.


<pre>
And unless you specifically know that your display is using less than 8-bit natively, you should leave that option at 8-bit. Reducing it increases the amount of dithering (noise) madVR will add to the image.
# apt-get update && apt-get upgrade
</pre>


If you had not updated in a while, you may get a lot of new packages. Read the output carefully. If it says certain packages are held-back, cancel using CTRL-C and issue the following command instead:
===Calibration===
[[File:03-calibrationoluk8.png|none|frame|Calibration tab in MadVR Settings]]


<pre>
madVR has a number of advanced calibration options, but I will not be going over them in detail in this guide—calibration could have a whole guide written about it alone.
# apt-get update && apt-get dist-upgrade
</pre>


You should reboot your system when it is done, unless it didn't update anything of course.
Unless you are looking to use the more advanced calibration features of madVR, it is generally best to leave it configured as shown above.
With HD content these settings mean that color should look the same as other video renderers, but with SD video, it allows madVR to perform the colorspace transformations required for SMPTE-C and EBU/PAL content.
These colorspace transformations require a small amount of GPU power, so if your computer is really struggling to play back video smoothly in madVR, it will have to be disabled.


Next we are going to install the following packages and libraries:
The yCMS and 3DLUT options are a lot more complicated to use, and are also more demanding of your GPU.


===Display Modes===
[[File:Refresh-rates1oj0c.png|none|frame|Display Modes tab in MadVR Settings]]


* lame
madVR includes a display mode switcher for automatic resolution and refresh rate changing.
* musepack-tools
* xfonts-75dpi
* xfonts-100dpi
* vorbis-tools


* libcurl3:i386
Most people will be using madVR to handle video scaling, so it will only be used to change refresh rates.
* libx11-6:i386
These are simply entered using comma separated values. Be sure that your display actually supports the resolutions you have selected. I would suggest that you try switching to them via your graphics cardʼs control panel first.
* lib32stdc++6
* libmpcdec6:i386
* libc6:i386
* libstdc++6:i386
* libcrypto++9:i386
* libasound2:i386
* libuuid1:i386
* libboost-regex1.49.0:i386
* libicu48:i386


Note: On a 32-bit system, you can install the same libraries by removing ':i386' part.
<span style="font-family: monospace,monospace; font-size:1em;">The treat 25p movies as 24p (requires Reclock)</span> option is useful for those of us with PAL film-based content (typically DVDs) as it allows either ReClock or JRiverʼs VideoClock (the text needs updated) to play back PAL content at the original 24p speed, rather than being sped-up to 25fps.
All this option does is tell madVR to switch to the best display mode for 24p when you are playing back 25p content—how that is handled is up to the player. (which is fine if you are using ReClock/VideoClock)


Unless you're installing on a fresh system you probably have some of these installed already. This doesn't matter as Aptitude will simply skip packages that are already installed. You can install all of them at once by issuing the following command with root privileges from a terminal:
madVRʼs display mode switcher is a bit more advanced than Media Centerʼs switcher right now, so I would recommend using it instead. With IVTC content (which I will detail later) it switches the display to 24p, whereas JRiverʼs switcher does not.


<pre>
<span style="color: blue;"><b><i>Updated 13/06/2013:</i></b></span> There is an issue with Windows 8 where most video cards will switch to 23Hz and 59Hz when an application tries to set the refresh rate to 24Hz or 60Hz. madVR 0.86.3 fixes this problem. Media Center's switcher currently does not, and will switch to 23/59Hz rather than 24/60Hz as specified.
# apt-get install lame musepack-tools xfonts-75dpi xfonts-100dpi vorbis-tools libcurl3:i386 libx11-6:i386 lib32stdc++6 libmpcdec6:i386 \
bc6:i386 libstdc++6:i386 libx11-6:i386 libcrypto++9:i386 libasound2:i386 libuuid1:i386 libboost-regex1.49.0:i386 libicu48:i386
</pre>


Or, on a 32-bit system (REQUIRES CONFIRMATION):
===Color & Gamma===


<pre>
[[File:05-color-gammatcusb.png|none|frame|Color & Gamma tab in MadVR Settings]]
# apt-get install lame musepack-tools xfonts-75dpi xfonts-100dpi vorbis-tools libcurl3 libx11-6 libstdc++6 libmpcdec6 bc6 libstdc++6 \
libx11-6 libcrypto++9 libasound2 libuuid1 libboost-regex1.49.0 libicu48
</pre>


Carefully read the output and make sure no packages are being removed.
This section allows you to perform simple color & gamma adjustments to any video being rendered by madVR.
It is probably best that these are left alone for most users.


Installing these packages and libraries do not require a reboot. Other packages these might pull in may require a reboot so to be sure, reboot your system afterwards.
===Decoding===


On a fresh install the CD or DVD from which the system was installed might have been added to the sources.list as an available source for packages. It is advised you remove this and use online repositories instead. To do this, edit /etc/apt/sources.list and remove any lines starting with "deb cdrom:". First, make a backup of the current file:
[[File:06-decoding9auj1.png|none|frame|Color & Gamma tab in MadVR Settings]]


<pre>
madVR has the option to handle video decoding itself. I recommend leaving that up to your player though. Media Center uses LAV Video for decoding.
# cp /etc/apt/sources.list{,.bak}
</pre>


Open the file in nano:
In Media Center, under <span style="font-family: monospace,monospace; font-size:1em;">Tools → Options → Video</span> there is an option to use hardware accelerated video decoding, which I recommend trying if you are having difficulty playing videos, or want to reduce power consumption during media playback.


<pre>
<span style="color: blue;"><b><i>Updated 13/06/2013:</i></b></span> Media Center now uses LAV's DXVA2 Copy-Back decoding with Nvidia cards, so no further configuration is necessary when using hardware acceleration.
# nano /etc/apt/sources.list
</pre>


Remove the lines, or comment them out, for example:
===Deinterlacing===


<pre>
The deinterlacing options in madVR are very specific to the types of content that you watch, so it is difficult to make recommendations.
# deb cdrom:[Debian GNU/Linux 7 _Wheezy_ - Official Snapshot i386 LIVE/INSTALL Binary 20131014-03:33]/ wheezy main


deb cdrom:[Debian GNU/Linux 7 _Wheezy_ - Official Snapshot i386 LIVE/INSTALL Binary 20131014-03:33]/ wheezy main
In my case, I have a lot of interlaced PAL DVDs, which are often misidentified as being Video-Type content rather than Film-Type content, so forcing film mode works best for me.
</pre>
Film mode will activate IVTC for interlaced video if madVR detects that it is natively 24/25p content, regardless of the source framerate. (e.g. 24p in a 29fps file)
You can always override the deinterlacing mode used either by adding <span style="font-family: monospace,monospace; font-size:1em;">deint=on/off/video/film/ivtc</span> to the filename, or switch modes at any time by pressing <span style="font-family: monospace,monospace; font-size:1em;">Ctrl+Alt+Shift+T</span> when a video is playing.


=== Downloading MediaCenter ===
The one recommendation I will make, is to leave the <span style="font-family: monospace,monospace; font-size:1em;">only look at pixels in the frame center</span> option enabled—I have have problems with cadence detection not working correctly when this is off.


The latest version of MediaCenter for Linux should be downloaded, this version can be found in one of the stickies on [http://yabb.jriver.com/interact/index.php?board=35.0 Interact]. You can download it from your browser to ~/Downloads, or use the terminal issuing the following command (replace the version/build number with the latest found on the Linux board above):
===Scaling Algorithms===


<pre>
Image scaling is one of the main reasons to use madVR. It offers very high quality scaling options that rival or best anything I have seen.
$ cd ~/Downloads && wget http://files.jriver.com/mediacenter/channels/v19/latest/MediaCenter-19.0.103.deb
</pre>


Obviously, the directory Downloads should exist under your home directory ;).
Most video is stored using [http://en.wikipedia.org/wiki/Chroma_subsampling#How_subsampling_works chroma subsampling] in a 4:2:0 video format.
In simple terms, what this means is that the video is basically stored as a black-and-white “detail” image (luma) with a lower resolution “color” image (chroma) layered on top.
This works because the detail image helps to mask the low resolution of the color image that is being layered on top.


== Installing MediaCenter ==
So the scaling options in madVR are broken down into three different categories:
<b>Chroma Upscaling</b>, which is the color layer.
<b>Image Upscaling</b>, which is the detail (luma) layer.
<b>Image downscaling</b>, which only applies when the image is being displayed at a lower resolution than the source—1080p content on a 720p display, or in a window on a 1080p display for example.


After having satisfied all MediaCenter's dependencies and having downloaded the package to your PC, you can continue with the installation. Change to the directory to which you downloaded, or add the full path on the commandline. Again, change the version/build number for the version you downloaded. Issue the following command from a terminal:
Chroma upscaling is performed on all videos—it takes the quarter resolution chroma image, and upscales it to the native luma resolution of the video. If there is any further scaling to be performed; whether that is upscaling or downscaling, then the image upscaling/downscaling algorithm is applied to both chroma and luma.


<pre>
[[File:10-image-scaling2dulw.png|none|frame|Image Upscaling tab in MadVR Settings]]
# dpkg -i /location/of/MediaCenter-19.0.103.deb
</pre>


If the output says it is missing dependencies, leaving unconfigured, you should take note of the packages mentioned. You can try to install them manually, or you can try issuing the following command:
There are a number of different scaling algorithms available in madVR, and what you choose depends on both the performance of the video card in your system, and personal preference.


<pre>
Image scaling is a balancing act (mostly) between three variables:
# apt-get install -f
* Sharpness
</pre>
* Aliasing
* Ringing


Examine the output carefully, as it may remove packages to satisfy dependencies. This may not always lead to a happy ending - so be careful.
Sharpness is an obvious one—it's how sharp the image appears.
[http://en.wikipedia.org/wiki/Aliasing Aliasing] is often seen as jagged edges on diagonal lines/curves rather than smooth edges, or as moiré patterns if you are downscaling.
[http://en.wikipedia.org/wiki/Ringing_artifacts Ringing] often shows as “halo” artefacts or darkened edges around bright objects, which can sometimes give the appearance of additional sharpness.


If you run into unresolvable dependencies, have a look at the troubleshooting section, or post your problems on [http://yabb.jriver.com/interact/index.php?board=35.0 Interact] where someone will try to help you resolve the issue.
madVR gives you a rough guide when selecting algorithms, but may be misleading in some cases.


=== First Run ===
In terms of scaling performance (rendering speed, not image quality) the algorithms in madVR are roughly tiered as:
When MediaCenter is first run, it will popup a Notification that it will timeout at a certain date. If it pops up a notification that it is has timed out already, you may have installed an older version. Visit [http://yabb.jriver.com/interact/index.php?board=35.0 Interact] and find the latest version in one of the sticky threads from the top of the board. You can simpy install it over the older version, see Upgrading.
High Performance:
* Nearest Neighbor
* Bilinear


=== Auto Import ===
Medium Performance:
MediaCenter will automatically start an Import shortly after startup to scan your home directory for media files. This is fine if your media is located there and you can let it run. If your media is somewhere else, you can cancel this in the lower left hand corner, where there will be a countdown from 45 seconds. Click the X to close the Action Window and not import anything, or click the link to configure Media Import. This automatic import will keep coming back until there is something in its library. There is no way to turn off this behavior.
* Mitchell-Netravali
* Catmull-Rom
* Bicubic
* SoftCubic


Note that the option called "Auto-Import" is called "Configure Auto-Import" on Windows. This option allows you to configure how Auto-Import should run.
Low Performance:
* Lanczos 3 / Spline 3
* Jinc


At the time of writing the browse button does not work, you need to type in the path to the location of the media files you wish to import.
Depending on your graphics card, the DXVA2 option may either be a high performance option, or a medium performance one.
There is also an anti-ringing filter, and a linear light option, both of which increase GPU demands when enabled. (though I do not recommend the linear light option in most cases)


=== Upgrading from an older version ===
Initially, your goal should be smooth video playback rather than the best image quality, so I would recommend setting all scaling algorithms to Bilinear.
Download the latest version from [http://yabb.jriver.com/interact/index.php?board=35.0 Interact] and install it, for example:
I will write up a post later that will go into detail about the differences between scaling algorithms, and which ones I recommend based on their performance and image quality.
As a rough guide, [http://i.imgur.com/HLv1qmj.png this image] was based on settings I recommended after some discussion over at the Doom9 madVR topic.


<pre>
===Rendering===
$ sudo dpkg -i MediaCenter-19.0.xxx.deb
</pre>


Replace xxx with the build number from the file you downloaded. There are currently no complications or different dependencies. All versions should be able to install the same way.
This section deals with what are mostly performance-related settings, and options that may be required to get the best performance out of your specific graphics card.
Unless you are actually experiencing performance issues, most of these settings are best left alone.


=== Library Server Compatibility ===
====General Settings====
MediaCenter for Linux can connect to a MediaCenter Library server running on Windows, Mac OS X or Linux. It will only play Audio however, even if the server is serving video as well. The Linux version currently supports only audio playback.


== Configuring MediaCenter ==
[[File:11-general-settingsmwuor.png|none|frame|General Rendering Settings tab in MadVR Settings]]
Config Intro.


=== Sound ===
I have never used madVR on XP, so I couldn't tell you what the <span style="font-family: monospace,monospace; font-size:1em;">use managed upload textures</span> setting does.
ALSA info.


=== Output Mode ===
The <span style="font-family: monospace,monospace; font-size:1em;">delay playback start until render queue is full</span> options will pause the video playback until a number of frames have been rendered in advance of playback. This potentially avoids some stuttering right at the start of video playback, or after seeking through a video—but it will add a slight delay to both. It is disabled by default, but I prefer to have it enabled.
Configuring Resampling with MC.
If you are having problems where a video fails to start playing, this is the first option I would disable when troubleshooting.


== Headless Configuration ==
<span style="font-family: monospace,monospace; font-size:1em;">Enable windowed overlay</span> changes the way that windowed mode is rendered, and will generally give you better performance. The downside to windowed overlay is that you cannot take screenshots of it with the “Print Screen” key on your keyboard, and any transparent aspects of Media Center's UI which overlays the video might look a bit strange. Other than that, it's mostly a “free” performance increase for people running Windows 7/8. [http://yabb.jriver.com/interact/index.php?topic=76904.msg523475#msg523475 It does not work with AMD graphics cards].


=== MC GUI via SSH ===
<span style="font-family: monospace,monospace; font-size:1em;">Enable automatic fullscreen exclusive mode</span> allows madVR to use “fullscreen exclusive mode” for video rendering. This can potentially give you some big performance improvements, and allows for several frames to be sent to the video card in advance, which can help eliminate random stuttering during playback. It will also prevent things like notifications from other applications being displayed on the screen at the same time, and similar to the Windowed Overlay mode, it stops “Print Screen” from working.
The main downside to Fullscreen Exclusive mode is that when switching in/out of FSE mode, the screen will flash black for a second. (similar to changing refresh rates)
Media Center's mouse-based interface is rendered in such a way that it would not be visible in FSE mode, so madVR gets kicked out of FSE mode any time you use it, and you get that black flash on the screen. I personally find this distracting, and as such, have disabled FSE mode, because I don't need the additional performance for smooth playback on my computer. (I have an Nvidia GTX 570) The "10ft interface" is unaffected, and renders correctly inside FSE mode.


== Troubleshooting ==
<span style="font-family: monospace,monospace; font-size:1em;">Disable desktop composition</span> This option will disable Aero during video playback. Back in the early days of madVR this may have been necessary on some systems, but I don't recommend enabling this option now. Typically the main thing that happens is that it breaks v-sync and you get [http://en.wikipedia.org/wiki/Screen_tearing screen tearing]. (horizontal lines over the video)

<span style="font-family: monospace,monospace; font-size:1em;">Use a separate device for presentation</span>. By default this option is now disabled, but I see a big increase in performance when it is enabled using Nvidia graphics cards. You will have to experiment with this one.

<span style="font-family: monospace,monospace; font-size:1em;">Use a separate device for DXVA processing</span> similar to the option above, this may or may not improve performance.

<span style="font-family: monospace,monospace; font-size:1em;">CPU/GPU Queue Size</span> This sets the size of the decoder queue (CPU) and upload/render queues. (GPU)
Unless you are experiencing problems, I would leave it at the default settings of 12/8. The higher these queue sizes are, the more memory madVR requires. With larger queues you could potentially have smoother playback on some systems, but increased queue sizes also mean increased delays when seeking if the <span style="font-family: monospace,monospace; font-size:1em;">delay playback…</span> options are enabled. Depending on your system, if you are having trouble getting smooth playback with madVR, sometimes turning the queue sizes all the way up <i>or</i> all the way down seems to help. It really depends on the machine.

<span style="color: blue;"><b><i>Updated 13/06/2013:</i></b></span> As of madVR 0.86.2, the decoder queue can now be increased to a maximum of 128 frames. In my experience, this increases the amount of RAM madVR uses to around 800MB with 1080p video. It may also greatly slow down seeking or switching between full-screen/windowed modes when <span style="font-family: monospace,monospace; font-size:1em;">delay playback…</span> is enabled. If you have the memory to spare, and your system is capable of filling the queues, it may result in smoother video playback. (far less chance of dropped frames occurring) In general, the decoder queue should only be set as high as your system can actually fill. There's no point in setting it to 128 frames if your system can only fill 30/128.

====Windowed Mode====

[[File:12-windowed-modeiouol.png|none|frame|Windowed Mode Settings tab in MadVR Settings]]

As the name suggests, these settings apply to madVR running in Windowed Mode. That means they apply when madVR is running in a Window, or when Fullscreen Exclusive mode is disabled.

Increasing the number of backbuffers could potentially result in smoother playback at the cost of increased memory usage. As always, I recommend leaving these settings at the defaults.

<i>However</i>, if you plan on using Smooth Motion, I would recommend setting them to the maximum of 8.

The flush settings could potentially be used to get more performance out of a struggling system, but these days they are largely unnecessary and best left alone.

====Exclusive Mode Settings====

[[File:13-exclusive-mode-setq9u7e.png|none|frame|Exclusive Mode Settings tab in MadVR Settings]]

<span style="font-family: monospace,monospace; font-size:1em;">Show seek bar</span> has no effect if you are using Media Center—it draws a seek bar which can be used in FSE mode without kicking you back to Windowed Mode—but Media Center disables this and uses its own UI anyway.

<span style="font-family: monospace,monospace; font-size:1em;">Delay switch to exclusive mode by 3 seconds.</span> If your media player switches into fullscreen mode, and FSE is enabled, it will always switch instantly.
This option is for when something such as Media Center's mouse-controlled UI breaks FSE mode and kicks it into Windowed Mode. If the option is enabled, it will wait 3 seconds returning to FSE mode, rather than switching instantly.
This can be useful if you are going to make a couple of changes, such as switching subtitle track, and adjusting its size and position, without it going in/out of FSE mode each time you bring up the menus.

<span style="font-family: monospace,monospace; font-size:1em;">Present several frames in advance should always be enabled.</span> Disabling this puts madVR into the legacy FSE mode, which has not been supported for years at this point.
Similar to the Windowed Mode option, I would recommend leaving madVR presenting 4 frames in advance, as is the default, unless you are going to be using Smooth Motion, in which case you should set it to the maximum. You may need to increase the CPU/GPU queues accordingly to fill the buffer.

====Smooth Motion====

[[File:14-smooth-motionceutc.png|none|frame|Smooth Motion Settings tab in MadVR Settings]]

Smooth Motion is a recently introduced frame blending system for madVR. What Smooth Motion <i>is not</i>, is a frame <i>interpolation</i> system—it will not introduce the “soap opera effect” like you see on 120Hz+ TVs, or reduce 24p judder.

Smooth Motion is designed to display content where the source framerate does not match up to any of the refresh rates that your display supports.
For example, that would be 25/50fps content on a 60Hz-only display, or 24p content on a 60Hz-only display.

It does not replace ReClock or VideoClock, and if your display supports 1080p24, 1080p50, and 1080p60 then you should not need to use Smooth Motion at all.

Because Smooth Motion works by using frame blending you <i>may</i> see slight ghost images at the edge of moving objects—but this seems to be rare and dependent on the display you are using, and is definitely preferable to the usual judder from mismatched framerates/refresh rates.

There are some cases where, even if your display <i>does</i> support 1080p24/50/60, you will want to use Smooth Motion though. If you have a Plasma that displays 24p at 48Hz for example, you might want to display it at 60Hz using Smooth Motion instead to reduce flicker.
Or if you have madVR's display mode switcher set up to only switch refresh rate when the player goes fullscreen, you may want to leave it enabled when you have a 24p video playing in a window while using the computer for something else at the same time with the display at 60Hz.

<span style="color: blue;"><b><i>Updated 13/06/2013:</i></b></span> As of madVR 0.86.3, Smooth Motion is now working as I would have hoped on my system, so when set to <span style="font-family: monospace,monospace; font-size:1em;">only when there would be motion judder without it…</span>, it is no longer enabled when the display mode switcher is used in conjunction with VideoClock.
So 23/24/25fps video played at 24Hz will not activate Smooth Motion, but 23/24/25fps video at 60Hz will. This means that videos displayed full-screen do not use Smooth Motion, but when I play videos in a window on the desktop at 60Hz, Smooth Motion is activated.

If your system can handle it, I now recommend enabling Smooth Motion, and leaving it at this setting. This also requires that you increase the Windowed/Full-screen Exclusive buffers to the largest that your system can handle.

====Trade Quality for Performance====

[[File:15-quality-performanc1iuo5.png|none|frame|Trade Quality for performance tab in MadVR Settings]]

As the name suggests, these options exist to reduce image quality to improve performance.
Many of these options will only have a very small impact on image quality.
Generally, if you are having performance troubles, working your way down the list, enabling them one at a time until playback is smooth, is the best way to approach them.

====User Interface====
This section allows you to view and change the keyboard shortcuts for madVR.

<!-- [[Category: Frequently Asked Questions|MadVR Guide]] -->

Latest revision as of 01:53, 11 February 2018

This document will guide you through the process of installing and configuring MediaCenter for Linux. You are advised to read through the document before installing MediaCenter. It assumes some basic knowledge of Linux in general and familiarity working from a terminal. It also assumes an installation on 64-bit distribution as that will most likely be the target system. Installation on a 32-bit system will be very similar and, where applicable, notes will clarify the differences.

Throughout this document you are required to run certain commands in a terminal, sometimes with root permissions. Whether you do that as root itself or using temporarily elevated permissions through sudo is up to you. This document will precede each command with a # or $ sign, signifying whether the command needs to run as root (#) or as a regular user ($). Unless you changed your terminal prompt, it will show this same symbol for root (#) or user ($) on its prompt. You should not include this symbol in your command, it only signifies how the command should be run.

Related articles

Before you begin

MediaCenter is in beta and is under heavy development. As such, it may not work as expected. Although it is considered to be stable enough for regular use it may still show unexpected behavior such as crashes or random refusals to play a track. Please make sure you read through the list of Outstanding issues.

It is strongly advised to make regular backups of your media. There have been no reports of MediaCenter for Linux messing up tags or otherwise corrupting files, but it is still in beta - consider yourself warned. You can configure MediaCenter to not update tags at all, it will only read from your files but that does not negate the fact that you should always have backups.

It is also a good idea to read through the sticky threads on the forums, too.

System requirements

MediaCenter is being developed on Debian Wheezy 32-bit, x86 architecture. It will run on multiarch distributions (64-bit with 32-bit libraries) once the proper 32-bit dependencies are satisfied. See DEPENDENCIES for more information.

MediaCenter requires a CPU that supports SSE2. This means the CPU needs to be from around 2002 or later.

Hardware Requirements (Minimum)

  • Intel or AMD x86 Compatible CPU with SSE2
  • 2GB RAM
  • 300MB free hard drive space for installation (excluding space for digital media)
  • Sound device supported by ALSA
  • Internet connection (recommended)

Software Requirements

Official Support:

  • Debian Wheezy or a similar distribution based on Debian
  • Working Xorg - see Running MC Headless for a minimal installation. GUIfied - MediaCenter should work on any desktop. Its confirmed to work on XFCE, Unity, KDE, Gnome and Cinnamon. MATE and others are untested (try searching Interact). If you know one that works or how to get it working, you are invited to share this on Interact.
  • Working ALSA sound stack

MediaCenter requires:

  • X86 (32-bit)
  • SSE2
  • libc6 >= 2.13
  • libX11-6 >= 2.1.5
  • libcurl3 >= 7.26
  • lame >= 3.99
  • xfonts-75dpi
  • xfonts-100dpi
  • An ALSA device that supports S32_LE
  • On multiarch/multilib systems, all libraries MediaCenter depend on need to be 32-bit.

MediaCenter is known to work on recent versions of Mint, Ubuntu, OpenSuse, Fedora and Arch Linux. However, this is considered experimental and is not guaranteed to work. If you intent to run MediaCenter on such a distribution, you are strongly encouraged to share your experience on Interact.

Limitations

  • Although Linux can run on architectures other than x86 (like ARM or PowerPC for instance), MediaCenter does not run on architectures other than i386 or x86_64.
  • OSS and Pulse are currently not supported by MediaCenter. It may work with Pulse, but it is currently unsupported.
  • MediaCenter can run in server mode on a headless server, but it requires an Xserver running. See Running MC Headless for more information.
  • MediaCenter can run on bleeding edge distributions like Arch Linux. However it is built on Debian Wheezy, so some of the libraries it depends on are older versions not included or compatible with the versions used on bleeding edge distributions. The Troubleshooting section may contain some tips to get it working.

Dependencies

To successfully install MediaCenter, you need to make sure that the following depencies are installed. Installation on a 64-bit system requires multiarch to be enabled for 32-bit compatibility.

To enable multiarch on a 64-bit system, type the following in a terminal:

# dpkg --add-architecture i386

This command require you update. Type:

# apt-get update && apt-get upgrade

If you had not updated in a while, you may get a lot of new packages. Read the output carefully. If it says certain packages are held-back, cancel using CTRL-C and issue the following command instead:

# apt-get update && apt-get dist-upgrade

You should reboot your system when it is done, unless it didn't update anything of course.

Next we are going to install the following packages and libraries:


  • lame
  • musepack-tools
  • xfonts-75dpi
  • xfonts-100dpi
  • vorbis-tools
  • libcurl3:i386
  • libx11-6:i386
  • lib32stdc++6
  • libmpcdec6:i386
  • libc6:i386
  • libstdc++6:i386
  • libcrypto++9:i386
  • libasound2:i386
  • libuuid1:i386
  • libboost-regex1.49.0:i386
  • libicu48:i386

Note: On a 32-bit system, you can install the same libraries by removing ':i386' part.

Unless you're installing on a fresh system you probably have some of these installed already. This doesn't matter as Aptitude will simply skip packages that are already installed. You can install all of them at once by issuing the following command with root privileges from a terminal:

# apt-get install lame musepack-tools xfonts-75dpi xfonts-100dpi vorbis-tools libcurl3:i386 libx11-6:i386 lib32stdc++6 libmpcdec6:i386 \
bc6:i386 libstdc++6:i386 libx11-6:i386 libcrypto++9:i386 libasound2:i386 libuuid1:i386 libboost-regex1.49.0:i386 libicu48:i386

Or, on a 32-bit system (REQUIRES CONFIRMATION):

# apt-get install lame musepack-tools xfonts-75dpi xfonts-100dpi vorbis-tools libcurl3 libx11-6 libstdc++6 libmpcdec6 bc6 libstdc++6 \
libx11-6 libcrypto++9 libasound2 libuuid1 libboost-regex1.49.0 libicu48

Carefully read the output and make sure no packages are being removed.

Installing these packages and libraries do not require a reboot. Other packages these might pull in may require a reboot so to be sure, reboot your system afterwards.

On a fresh install the CD or DVD from which the system was installed might have been added to the sources.list as an available source for packages. It is advised you remove this and use online repositories instead. To do this, edit /etc/apt/sources.list and remove any lines starting with "deb cdrom:". First, make a backup of the current file:

# cp /etc/apt/sources.list{,.bak}

Open the file in nano:

# nano /etc/apt/sources.list

Remove the lines, or comment them out, for example:

# deb cdrom:[Debian GNU/Linux 7 _Wheezy_ - Official Snapshot i386 LIVE/INSTALL Binary 20131014-03:33]/ wheezy main

deb cdrom:[Debian GNU/Linux 7 _Wheezy_ - Official Snapshot i386 LIVE/INSTALL Binary 20131014-03:33]/ wheezy main

Downloading MediaCenter

The latest version of MediaCenter for Linux should be downloaded, this version can be found in one of the stickies on Interact. You can download it from your browser to ~/Downloads, or use the terminal issuing the following command (replace the version/build number with the latest found on the Linux board above):

$ cd ~/Downloads && wget http://files.jriver.com/mediacenter/channels/v19/latest/MediaCenter-19.0.103.deb

Obviously, the directory Downloads should exist under your home directory ;).

Installing MediaCenter

After having satisfied all MediaCenter's dependencies and having downloaded the package to your PC, you can continue with the installation. Change to the directory to which you downloaded, or add the full path on the commandline. Again, change the version/build number for the version you downloaded. Issue the following command from a terminal:

# dpkg -i /location/of/MediaCenter-19.0.103.deb

If the output says it is missing dependencies, leaving unconfigured, you should take note of the packages mentioned. You can try to install them manually, or you can try issuing the following command:

# apt-get install -f

Examine the output carefully, as it may remove packages to satisfy dependencies. This may not always lead to a happy ending - so be careful.

If you run into unresolvable dependencies, have a look at the troubleshooting section, or post your problems on Interact where someone will try to help you resolve the issue.

First Run

When MediaCenter is first run, it will popup a Notification that it will timeout at a certain date. If it pops up a notification that it is has timed out already, you may have installed an older version. Visit Interact and find the latest version in one of the sticky threads from the top of the board. You can simpy install it over the older version, see Upgrading.

Auto Import

MediaCenter will automatically start an Import shortly after startup to scan your home directory for media files. This is fine if your media is located there and you can let it run. If your media is somewhere else, you can cancel this in the lower left hand corner, where there will be a countdown from 45 seconds. Click the X to close the Action Window and not import anything, or click the link to configure Media Import. This automatic import will keep coming back until there is something in its library. There is no way to turn off this behavior.

Note that the option called "Auto-Import" is called "Configure Auto-Import" on Windows. This option allows you to configure how Auto-Import should run.

At the time of writing the browse button does not work, you need to type in the path to the location of the media files you wish to import.

Upgrading from an older version

Download the latest version from Interact and install it, for example:

$ sudo dpkg -i MediaCenter-19.0.xxx.deb

Replace xxx with the build number from the file you downloaded. There are currently no complications or different dependencies. All versions should be able to install the same way.

Library Server Compatibility

MediaCenter for Linux can connect to a MediaCenter Library server running on Windows, Mac OS X or Linux. It will only play Audio however, even if the server is serving video as well. The Linux version currently supports only audio playback.

Configuring MediaCenter

Config Intro.

Sound

ALSA info.

Output Mode

Configuring Resampling with MC.

Headless Configuration

MC GUI via SSH

Troubleshooting