Skip to content

Transcoding

Samuel edited this page Oct 3, 2017 · 28 revisions

Transcoding settings

The Transcoding settings tab allows you to specify how content will be transcoded. UMS uses external programs to transcode and stream content to your device.
Some of these programs overlap in what kind of media they can transcode.
On this tab you can specify which order of preference the programs have when UMS determines how to transcode media.
For each media type there is a list of programs, sorted by preference. The topmost program is most likely to be used. If it cannot transcode the media, the next program on the list is used, and so on.

This tab also allows to set the details of transcoding for each program. Below is a list of the settings on this tab.

Common transcode settings

General settings

  • Maximum transcode buffer size in MB
    This value is about how much temporary space should be used for buffering a video before sending it to renderer. The maximum value is 400 if the program memory is set to its default value (768).
  • CPU threads to use when enabled for engine
    This value is about how many CPU cores should be used for transcoding. The maximum value depends on the physical available count of "real processor cores". That means hyperthreading virtual CPU cores do not count!
    If you are not sure, analyze your CPU with the free tool CPU-z on Windows systems. On Linux have a look at the virtual proc-filesystem. In the file /proc/cpuinfo you will find more details about your CPU. You also get much information about CPUs from AMD and Intel from their Wikipedia-articles.
    Regardless, UMS should be able to detect automatically and set the correct amount of cores.
  • Chapters support in the #--TRANSCODE--# folder (interval in minutes)
    Enable the creation of chapters automatically every x minutes in #--TRANSCODE--# virtual folder. Very useful when your renderer, like many Samsung, doesn't support the searches in transcoded media.
  • Disable subtitles
    If you do not need subtitles enable this feature.

Video quality settings

  • Maximum bandwidth in Mbits/s
    This is some kind of network throttle. One may think it is a brilliant idea to reduce network bandwidth in order to get HD videos streaming via WLAN. Experience shows that it does not work as expected. You need lots of CPU power for transcoding. If that is not a problem you will get really poor video quality when stream HD videos on low network bandwidth. So better leave the default value 0. You should also note that this setting won't affect muxed videos. You may have to enforce transcoding by choosing another transcoding engine. Mpeg2 Video quality settings (dropdown)
    If UMS is not able to stream directly or mux the audio/video to a PS3 compatible container it will transcode to MPEG2, which is PS3 compatible. This costs lots of CPU power. This also will increase the network traffic because MPEG2 compression is not very good for HD videos. You will need a 100MBit/s LAN or DLAN for playback of transcoded HD videos - WLAN won't work (maybe some 720p videos will do). You are able to control the quality settings of MPEG2 encoding which corresponds to needed network bandwidth. So there are some parameters available to control MPEG2 quality. Keyint means keyframes, keyint=3 means that every third frame is a keyframe which is a complete picture. In between there are two pictures which only contain differences to the predecessing picture. A high value for keyint will result in a lower network bandwidth but will also cause bad quality in fast action scenes in movies. There are also so called quantizer values (vqmqx, vqmin, vqscale). High values result in low quality. Try out some of the values available in the dropdown.

Video Files Engines: FFmpeg

  • Enable multithreading
    Whether FFmpeg should use multithreading. By default it use automatic-detection.
  • Remux videos with tsMuxeR when possible instead of transcoding
    Whether FFmpeg should remux videos with tsMuxeR when possible instead of transcoding.
  • Use font settings
    Whether FFmpeg should use fontconfig for its subtitles.
  • Defer to MEncoder when transcoding problematic subtitles
    Whether FFmpeg should defer to MEncoder when there are subtitles that need to be transcoded.
    MEncoder is more able to handle VOBSUB or internal text subtitles right now.

Video Files Engines: MEncoder

General settings

  • Enable multithreading
    Enable usage of special multicore version of MEncoder tool. This will improve performance on multicore systems.
  • Skip loop filter deblocking for h.264
    Disable deblocking filter for h.264 HD videos.
  • A/V sync alternative method
    If video and audio get out of sync disabling this might help.
  • Change video resolution Width / Height
    Usually the TV or PS3 is used to upscale the video to optimal video resolution. MEncoder is also able to do that for you which will cost additional CPU power.
  • Force framerate parsed from FFmpeg
    If framerate isn't recognized correctly (video is running too fast/slow) change this setting.
  • Deinterlace filter
    Enable deinterlace filter which will usually is done by your PS3 or TV.
  • Remux videos with tsMuxeR when possible instead of transcoding
    Enable this! When MEncoder transcoding engine is used and UMS recognizes a PS3 compatible video it will switch to transcoding engine tsMuxeR. The video will then be streamed directly or muxed but not transcoded! This setting will dramatically reduce the need of transcoding. Matroska video (mkv) for example aren't supported on PS3. Mostly the contained audio and video stream is PS3 compatible. So tsMuxeR creates a PS3 compatible m2ts container which contains the original audio and video stream and the PS3 is able to playback. This feature reduces both network traffic (because of better compression as MPEG2) and CPU power needed for playback.
  • Expert settings: Codec-specific parameters
    Press the button to change MEncoder parameters for certain codecs
  • Custom options
    Add specific commandline options for the external program MEncoder
  • Add borders for overscan compensation
    Width and Height values expressed in percentage.

Subtitles settings

  • Use ASS/SSA subtitles styling
    Whether MEncoder should use ASS/SSA subtitles styling.
  • Fontconfig/embedded fonts
    When fontconfig is enabled, FFmpeg will force the UMS font style settings on internal, embedded and external subtitles.
    The font style is not used for 3D videos and ASS/SSA subtitles, and do not apply to FlowPlayer subtitles (Flash in the Web interface).
    This option is not enabled by default.
  • Plaintext subtitles settings
    The subfont text scale, outline, blur and subpos parameters used for subtitling without ASS.
  • DVD/VOB subtitles quality
    Quality of the subtitles, from 0 to 4. Higher means better quality. Default value is 3.

Video Files Engines: TsMuxer

  • Force FPS parsed from FFmpeg in the meta file
    If framerate isn't recognized correctly (video is running too fast/slow) change this setting.
  • Mux all audio tracks
    Enable it in order to get all audio tracks muxed.

Video Files Engines: AviSynth/FFmpeg

  • Enable multithreading
    Whether AviSynth/FFmpeg should use multithreading. By default it's will use automatic-detection.
  • Enable True Motion motion interpolation via InterFrame
    Uses motion interpolation to give videos higher framerates.
    25FPS becomes 50FPS, others become 60FPS.
  • Enable GPU use with True Motion
    Whether InterFrame should use the video card for some of the work.
    Better quality but slower.
  • Enable AviSynth variable framerate change into a constant framerate
    Pass the flag "convertfps=true" to AviSynth.

Video Files Engines: AviSynth/MEncoder

  • Enable multithreading
    Whether AviSynth should use multithreading.

  • Enable True Motion motion interpolation via InterFrame
    Uses motion interpolation to give videos higher framerates.
    25FPS becomes 50FPS, others become 60FPS.

  • Enable GPU use with True Motion
    Whether InterFrame should use the video card for some of the work.
    Better quality but slower.

  • Enable AviSynth variable framerate change into a constant framerate
    Pass the flag convertfps=true to AviSynth.

  • AviSynth script is fully customizable
    The template for the AviSynth script. The script string may contain the character "\u0001",
    which will be treated as newline character. Example: <movie>\u0001<sub>

    The following variables are available:
    <movie>: The complete DirectShowSource instruction, e.g. DirectShowSource(filename, convertfps)
    <sub>: The complete subtitles instruction if there's any detected (SRT/SUB/IDX/ASS/SSA)
    <moviefilename>: The video filename for if you want to do all this by yourself.

Video Files Engines: VLC

  • Enable experimental codecs
  • A/V sync alternative method

Audio Files Engines: FFmpeg Audio

  • Automatic audio resampling
    Enable automatic audio resampling function used for Linear Pulse Code Modulation (LPCM). Also know as audio_resample in UMS.conf, it's activate by default.

Audio Files Engines: Audio High Fidelity

Web Video Streaming Engines: FFmpeg Web Video

Web Video Streaming Engines: MEncoder Web

Web Video Streaming Engines: VLC Web Video

Web Video Streaming Engines: VLC Web Video (Legacy)

Web Audio Streaming Engines: VLC Web Audio (Legacy)

Misc Engines: FFmpeg DVR-MS remux

  • Alternative FFmpeg path
    This feature is for users of Microsoft Windows Mediacenter Edition, a.k.a alternativeffmpegpath in UMS.conf If you have recorded some TV shows and want to watch the DVR-MS files with UMS/PS3 this special version of FFmpeg will be used.

Misc Engines: dcraw Thumbnailer

Non-GUI parameters found in UMS.conf file

  • disable_transcoding
    Do not transcode under any circumstances.
    Warning: This will probably mean that your renderer will fail to play many files or fail to show subtitles, but there are cases where this is still preferable.

Clone this wiki locally