====== Using Subtitles ======
Mezzmo includes extensive subtitling features so you can stream, play and watch all your subtitles for your videos on your devices and web browsers.
===== Subtitle Types =====
* **Text based** – means the rendering of subtitles is executed by the device (e.g. TV). It is up to the device to draw the given text in the selected size, colors and font. Subtitle text can be also encoded to allow characters for languages (e.g. Polish, Arabic) to be displayed correctly.
* **Image based** – where subtitles are specified as an image and the device displays them it as is. Advantage of this system is that devices do not need to process the text with fonts, encoding or formatting.
===== Presentation Types =====
* **Time based** – each subtitle text item is displayed based on the video’s timeline. Example: 1 minute 43 seconds 12 milliseconds
* **Frame based** – each subtitle text item is displayed based on the number of the video frame. Example: frame=123
**Note:** The video rate or frames per second (FPS) of a video may change if the original video is transcoded to another format. This can often occur when converting a video from PAL (25.0 fps) to NTSC (23.97 fps). In this case, frame based subtitles prepared for PAL will not match the new NTSC video and subtitles will no longer be synchronized with the video.
**Tip:** Mezzmo will automatically convert subtitles to match the video’s original FPS frame rate.
===== Encoding =====
Text based subtitles may be encoded, where bytes are representing different characters for various spoken languages. The most popular encoding format is UTF-8 (Unicode - 8 bits) and is commonly used for creating websites on the internet. This format covers most written languages. Other encoding formats are designed specifically for computer industry standards - for example, a text file in Polish language may be created using encoding such as 1250 ANSI Central Europe, 28592 ISO 8859-2 Central Europe or UTF-8, where 1250 and 28592 are identifiers of the code page used by Microsoft Windows.
**Example:** Reading SRT subtitles using an encoding that matches the subtitles content: UTF-8 without BOM,
Mezzmo settings: Language = Korean, Code Page = 65001 UFT-8, Font = Arial Unicode MS:
{{:subs-encoding-ko.png?nolink|}}
**Example:** Reading subtitles with Mezzmo settings: Font = "Arial" - the font is not supporting Korean letters:
{{:subs-encoding-ka.png?nolink|}}
**Example:** Reading subtitles with Mezzmo settings: Code Page = 1252 Font = "Arial" - the Code Page doesn't match the SRT text file:
{{:subs-encoding-ku.png?nolink|}}
**Note:** Reading text based subtitles with an incorrect encoding may result in syntax errors or displaying wrong characters. Some languages require selecting Unicode Fonts supporting all glyphs for the letters of Korean, Chinese, Hebrew or Arabic.
**Tip:** Mezzmo will automatically convert subtitles to match your device’s supported encoding formats.
==== Byte Order Mark (BOM) ====
Byte Order Mark (BOM) is a signature added to a Unicode text file to indicate the encoding format. For example:
* UTF-16 expects the following bytes at beginning of the file: 0xFFFE
* UTF-8 expects the following bytes at beginning of the file: 0xEFBBBF
These bytes allow devices to read the content of the text based subtitles without code page settings required.
**Tip:** Streaming text based subtitles encoded with Unicode (e.g. UTF-8 or UTF-16) allows devices to display the subtitle text automatically - without the need for you to make any extra Code Page or Encoding settings on your device using your device’s remote control.
===== How Mezzmo streams subtitles =====
Mezzmo uses 3 techniques for streaming subtitles.
==== External subtitles ====
External subtitles are stored in separate files and streamed directly to your device. Popular formats are .SRT, .SMI and .SUB.
External subtitles may be text based such as the SubRip (.SRT) format, or image based such as the VobSub (.SUB) ripped from a DVD.
This is the most effective way for streaming subtitles for a video, since it does not require any processing by Mezzmo. Unfortunately, some devices are not capable of displaying external subtitles - for example, Sony Playstation PS3, Microsoft Xbox 360 and Sony Bravia TVs.
==== Embedded subtitles ====
Embedded subtitles are stored inside the video file (or video container) as a stream - in the same way that video and audio streams are stored inside the video file. Not all video container formats can have embedded subtitles and there are limitations what subtitle formats are supported for each video container format.
Some popular video containers that allow embedded subtitles are:
* Matroska (MKV) – has excellent embedded subtitle support. For example, text based subtitles such as SubRip (SRT), Advanced Substation Alpha (ASS) and SubViewer (SUB), or image based subtitles such as DVD/Bluray subtitles (VobSub).
* MPEG-4/3GP/MOV/M4V – allows Mpg4 text based XML subtitle format
* MPEG-2, MPEG-TS – allows DVD (VobSub) subtitles
* OGG – allowing SubRip (SRT) and others.
* AVI – allows image based XSub subtitles withing the DivX specification
**Note:** Support for displaying embedded subtitles varies between each device model from manufacturers. The the most popular video container with embedded subtitle support is Matroska (MKV). For example, devices from WD, Samsung and Panasonic will display embedded subtitles in MKV video files.
**Tip:** Mezzmo can automatically embed external subtitles files into a video container before streaming by “remuxing” (or inserting) the external subtitle into the transcoded video.
**Tip:** Devices typically can list list all the embedded subtitles onscreen for you to choose using the device’s remote control. This allows you to choose your preferred subtitle language.
==== Burning subtitles ====
Burning subtitles are drawn (or superimposed) over the video frames in the video by Mezzmo before streaming.
Some devices (e.g. Sony Bravia TVs) cannot display external subtitles or embedded subtitles, so burning the subtitles into the video is the only way to display subtitles. Burning subtitles requires Mezzmo to fully transcode the video and this can require significant CPU and memory usage. Also, choosing another subtitle will require re-transcoding the video again. Note that the original video file is preserved so burning subtitles can be repeated as many times as required.
**Tip:** Mezzmo also burns subtitles into 3D movies. Examples below:
{{:subs-3d-sbs.png?nolink|Burning subtitles for 3D side-by-side}} {{:subs-3d-tab.png?nolink|Burning subtitles for 3D top-and-bottom}}
**Tip:** Procedure of embedding or burning subtitles will create a temporary file that will be used for streaming. Make sure the transcoded video file is deleted after changing subtitles settings or adding new external subtitle tracks.
===== Detecting External Subtitles =====
External subtitles are automatically detected by Mezzmo when you add your video files into your Mezzmo library or when you maintain your Mezzmo library.
The external subtitle file must exist in the same folder as the video file and should have the first part of the file name as video file name (i.e. “paired”). For example:
myvideo.avi - Video file
myvideo.srt - SubRip subtitle file
myvideo.txt - Subtitle file; format will be auto-detected by Mezzmo when reading the content
myvideo.fr.sub - Subtitle file in French language
==== Subtitles for DVD or Blu-ray ISO files ====
For DVD or Blu-ray ISO files, the external subtitle file must be placed in the same folder and renamed to match the ISO archive file name (i.e. “paired”) and the movie title index as detected Mezzmo. For example:
G:\video\myDVD.iso - DVD rip ISO archive file
G:\video\myDVD_title1.fr.srt - SubRip subtitle file in French language for "My movie (1/2)"
F:\video\myBluray.iso - Bluray rip ISO archive file
F:\video\myBluray_title2.srt - SubRip subtitle file for "My movie (2/2)"
==== Subtitles for DVD or Blu-ray rips ====
For DVD or Blu-ray rips, the external subtitle file need to be placed in rip root folder and renamed to match rip root folder name and the movie title index as detected Mezzmo. For example:
C:\video\myDVD\VIDEO_TS - DVD rip file structure
C:\video\myDVD\myDVD_title1.srt - SubRip subtitle file for movie "My movie (1/2)"
D:\video\myBluray\BDMV - Bluray rip file structure
D:\video\myBluray\myBluray_title2.fr.srt - SubRip subtitle file in French language for movie "My movie (2/2)"
==== Determining where Mezzmo is looking for external subtitles ====
- Right-click on a video and click **Properties**.
- On the Properties dialog, go to the Subtitles tab.
- Move your mouse over **Update Subtitles** button. The dialog will display the location of the the external subtitles. For example:
Search for: H:\Multimedia\The Fifth Element\The Fifth Element_title1*.* will match two external subtitle files like:
H:\Multimedia\The Fifth Element\The Fifth Element_title1.srt
H:\Multimedia\The Fifth Element\The Fifth Element_title1.fr.srt
==== Viewing subtitles in Mezzmo ====
Detected subtitles are listed in the Properties dialog (Subtitles tab) for a video file. Right-click on a video in Mezzmo and click Properties. On the Properties dialog, go to the Subtitles tab.
{{:subs-prop-external.png?nolink|Properties dialog (Subtitles tab)}}
Subtitles listed may have various formats and it is recommended to verify your subtitles by previewing them:
- Select a subtitle track from the Subtitle list.
- Click the **Subtitle Settings** button to preview the subtitle.
**Tip:** External subtitle tracks may be disabled using the checkbox in the first column in the subtitle list. Unchecked subtitle tracks will not be used by Mezzmo for any subtitle processing or streaming.
==== Adding an external subtitle file manually ====
- Click the **Add Subtitle** button.
- Select the subtitle file from your computer’s hard disk or NAS.
- Verify the subtitle content and click **OK** to accept the settings.
**Note:** If subtitles are not displayed properly on your devices, then it may be required to adjust the subtitle settings. Typically this means changing the language, font and code page. If Mezzmo reports reading errors, then the reason may be that the subtitle format may be unknown to Mezzmo or the subtitles may be corrupted. In this case, try to force the format using the Input format field.
==== Using global settings to specify the way Mezzmo handles all subtitles, including your preferred subtitle language, fonts and code page ====
- Go to the Options dialog (Subtitles page).
- Click the **Global Settings** button to specify the rules for processing all subtitles.
- Click the **Settings** button next to Preferred Languages to specify the rules for processing subtitles prepared in selected languages.
===== Detecting Embedded Subtitles =====
Embedded subtitles inside video files are automatically detected by Mezzmo when you add your video files into your Mezzmo library or when you maintain your Mezzmo library.
Mezzmo will also automatically embed external subtitle tracks into a transcoded video before streaming when **Stream embedded subtitles** checkbox is selected.
Subtitle tracks may be disabled using the checkbox in the first column of the Subtitle list. Unchecked subtitle tracks will not be used by Mezzmo when a video is transcoded and subtitles may not be embedded into that movie. When all subtitle tracks are disabled, the transcoded video will not contain any embedded subtitles.
{{:subs-prop-embedded.png?nolink|Properties dialog (Subtitles tab)}}
**Note:** Mezzmo lists all detected subtitle tracks - even if some of the subtitle formats are not supported by your devices. Click the Subtitle Settings button to change the language and the title of the embedded subtitle.
**Tip:** Mezzmo will arrange the order of the embedded subtitle tracks to match your preferred language.
**Tip:** Click the **Extract Subtitles** button to extract the selected embedded subtitle track from the video file and save it as an external subtitle file on your computer. Mezzmo can extract popular formats such as SubRip, ASS and VobSub. Extracted subtitles will be used by Mezzmo for streaming as external files or burning into the video.
===== Burning Subtitles =====
Burning subtitles should be selected in Mezzmo when your device is not capable of displaying embedded or external subtitles. Burning subtitles will require full video transcoding even when the original video format can be played natively by your device.
Some subtitle formats such as Karaoke or Advanced Substation Alpha (ASS) may have extra display or positional attributes that Mezzmo does not burn into the transcoded video. Attributes include special colors, overlapping and dynamic presentation. Mezzmo will ignore these attributes and just burn the subtitle text into the transcoded video using your selected burning font, size and color.
{{:subs-settings.png?nolink|Subtitle Settings dialog}}
===== Subtitle Settings dialog =====
The Subtitle Settings dialog can be used for previewing subtitles and for modifying the settings when Mezzmo reads subtitles and burns subtitles.
To display the Subtitle Settings dialog:
- Right-click on a video file and click Properties.
- On the Properties dialog, go to the Subtitles tab.
- Select an external subtitle track from the list.
- Click **Subtitle Settings** button to preview the subtitles.
**Tip:** It is recommended to select the language for each subtitle track. The language is used by Mezzmo for choosing subtitle tracks for streaming, and is required for proper encoding of text based subtitle files to match your device’s capabilities.
**Tip:** Set the code page and font for the subtitle if the subtitles are not displayed correctly in the dialog or on your device.
**Tip:** Use Global Settings to specify the settings for all your subtitles for all your video files and use the Properties dialog only if there are exceptions for particular subtitle tracks. Global Settings is also available for your preferred languages.
{{:subs-preview.png?nolink|Subtitle Settings dialog}}
===== Converting Subtitles =====
The Subtitle Settings dialog can be used for converting or reformatting an existing external subtitle file. In some cases, the original subtitle file may have syntax errors, or be the wrong format, or may be missing important tags, or the subtitle text is not ordered correctly. In these cases, Mezzmo and your devices may reject the subtitles and not display them at all or display them incorrectly.
Click the Convert Subtitles button on the Subtitle Settings dialog to convert subtitles in Mezzmo. The **Convert Subtitles** dialog can be used to improve or modify the formatting of the original subtitle file.
{{:subs-convert.png?nolink|Convert Subtitles dialog}}
**Note:** Mezzmo may reject external subtitle files and display errors like:
The subtitles items are not ordered properly on the timeline.
Subtitles may not work on some devices.
(Error: 141)
(L:9, C:0) “How are you?”
where ‘L’ indicate the text line, and ‘C’ the columns with the subtitle file.
**Tip:** Some XML based formats (for example: XAS, Mpg4, Timed Text) may be rejected by Mezzmo with syntax errors. You can try to load these XML/HTML files into your web browser such as Chrome, Firefox or Internet Explorer to get more detailed feedback about syntax problems.
**Tip:** Subtitle files with errors should be manually edited to resolve the errors - otherwise some of the text items may be lost, misinterpreted or ignored by Mezzmo when processing subtitles.
===== Global Subtitle Settings =====
You can configure the global subtitle settings as follows:
- Go to the Options dialog (Subtitles page).
- Click the **Global Settings** button.
- Click the **Browse** button and select a subtitle file from your video library.
- Select the language for the subtitles.
- Select the code page for the subtitles.
- Select the font.
- If the characters are not displayed correctly, then try a different code page or font.
- Choose the burning settings when Mezzmo burns your subtitles.
- Click OK to save the settings.
{{:subs-opt-global.png?nolink|Subtitle Settings dialog}}
==== Code pages used for popular languages ====
* 1250 or 28592 for Czech, Hrvatski, Hungarian, Moldavian, Polish, Romanian, Slovak, Turkmen
* 1251 or 28595 for Belarusian, Bulgarian, Kirghiz, Macedonian, Russian, Serbian, Ukrainian
* 1252 or 28591 for Danish, German, English, Spanish, Finnish, French, Indonesian, Italian, Nederlands, Portuguese
* 1253 or 28597 for Greek
* 1254 or 28599 for Turkish
* 1255 or 28598 for Hebrew
* 1256 or 28596 for Arabic, Persian
* 932 or 20932 for Japanese
* 936 or 950 for Chinese
* 949 or 50225 for Korean
===== Per-Language Subtitle Settings =====
You can specify the subtitle settings for each of your preferred languages that you have specified in the Options dialog (Subtitles page).
- Go to the Options dialog (Subtitles page).
- Click the Add button and add a new language to the “Preferred subtitle language” list.
- Order the list of languages using Up and Down buttons.
- Click the Settings button and specify subtitle settings for the selected language.
- Repeat the settings for each of the preferred languages.
Mezzmo automatically recognizes the language of external subtitles when the external subtitle file contains a special suffix language code. For example:
myvideo.avi - Video file
myvideo.fr.srt - Subtitle file in French language
myvideo.ger.srt - Subtitle file in German language
myvideo.Spanish.srt - Subtitle file in Spanish language
myvideo-fr-cd1.srt - Subtitle file in French language
==== Language identifiers that Mezzmo detects ====
* two letters code, as ISO-639-1 standard, commonly used by HTML pages on Internet. Examples: pl, fr, en,
* three letter code, as ISO-639-2 standard. Examples: pol, fra, eng
* name of the language. Examples: Polish, French, English
* two letter country code, as ISO-3166 standard. Examples: pl, fr, uk, us
Some subtitle formats like [B]Sami or VobSub[/B] may have special tags with language specifications. For all these files, Mezzmo will read these special tags and detect the language automatically. These formats may also have many subtitle tracks inside the one external subtitle file. Deleting the external subtitle file may actually remove many subtitle languages from the subtitle list of the video.
**Tip:** Use **Properties dialog (Subtitles tab)** for a video to manually specify the language for each subtitle track if the language has not been detected automatically by Mezzmo.
===== Alternative Folder for Subtitles =====
Some users prefer to keep all subtitle files in a separate folder rather than alongside their video files.
Use the **Options dialog (Subtitles / Advanced page)** to specify the alternative subtitle folder:
- Go to the Options dialog (Subtitles -> Advanced page).
- Click the Browse button next to **Additional folder containing external subtitle files** and choose the folder.
- Click **OK** to save your changes.
- Run **Maintain Library** to update your Mezzmo library.
Subtitle files stored in the alternative folder must follow the same file naming strategy to be “paired” with the video file name. For example:
D:\mymovies\myvideo.avi - Video file
C:\mysubtitles\myvideo.srt - SubRip subtitle file
C:\mysubtitles\myvideo.fr.sub - Subtitle file written in French language
**Note:** Make sure the alternative folder with subtitles is always available for reading, especially when the folder exists on a removable hard drive.
===== Device Profiles and Device Settings dialog =====
Device profiles are assigned to your devices in the Media Devices dialog and they tell Mezzmo what video, music, photo and subtitle formats the device supports.
For subtitles, the device profile may require you to manually override its subtitle settings to better match your particular model. This often occurs when a device’s model has regional differences (e.g. models from North America, Europe, Australia, Asia, Japan). Regional differences include the subtitle languages that are supported, fonts that are supported and encodings / code pages that are supported.
To override the subtitle settings for a device, go to the **Devices Settings dialog (Subtitles tab)** for your device:
- Go to the Media Devices dialog.
- Edit your device to display the Device Settings dialog.
- Go to the Subtitles tab to view and change all your device’s subtitle settings.
{{:subs-dev-subtitles.png?nolink|Device Settings (Subtitles tab)}}
The Device Settings dialog (Subtitles page) lets you override the global subtitle settings from the Options dialog (Subtitles page) for these subtitle attributes:
* Streaming rules: External, Embedded, or Burn.
* Preferred subtitle languages
**Tip:** With Mezzmo, you can stream your preferred subtitle language of (say) English to all your devices in your home by setting the global subtitle language in the Options dialog (Subtitles page). Additionally, you can also have certain devices in your home stream a different preferred subtitle language of (say) French by setting this preferred language in the Device Settings dialog (Subtitles tab).
To change the language preference for a particular device:
- Click the **Edit** button next to “Preferred subtitle language” .
- Click the **Add** button to add more languages to the list.
- Use the **Up** and **Down** buttons to change the language preference order.
- Click **OK** to save your changes.
===== Determining the Subtitle Support of your Device =====
Before modifying the subtitle settings for your device using the Device Settings dialog, you will need to read the your device’s manual or product web site to learn what kind of subtitle support that your device has. Also, try searching for your device model on the internet since there may be owner forums that can help you. Finally, you may just try to stream the movie with your subtitles to confirm that your new settings are working as expected.
Support for displaying subtitles on a device can be different depending on how you play the video. For example, a device may or may not display subtitles when:
* playing the video by SMB direct access or by USB (i.e. not by UPnP or DLNA!)
* playing the video by streaming it using DLNA/UPnP (like Mezzmo server does)
Example: Western Digital TV Live Hub (WD TV Live Hub) media players display VobSub subtitles (two files: .IDX and .SUB) when playing a video by SMB or USB, but do not when playing the video via DLNA/UPnP.
===== Before adjusting the subtitle settings for a particular device in Mezzmo, you need to answer the following questions: =====
==== 1. Does the device support external and/or embedded subtitles? ====
Modify the streaming subtitle rules by changing the following checkboxes:
* Stream external subtitles
* Stream embedded subtitles
* Burn subtitles
**Note:** These streaming subtitle rules are in the order that Mezzmo chooses to stream subtitles – i.e. stream external subtitles first, then if not possible to try embedding, and finally if none of these options are available, then transcode the video with subtitles burned in.
==== 2. What video containers support embedded subtitle formats? ====
- Click the Edit button next to “Supported video containers”,
- Choose the Embedded subtitle tab.
- Add or remove the video containers from the list.
{{:subs-dev-containers-emb.png?nolink|Edit Subtitle Settings dialog (Embedded tab)}}
**Note:** The most popular video containers are Matroska, MPEG, AVI or OGG. Others listed in the dialog like “Raw mpeg” or “Vcd” may not support embedded subtitles at all.
==== 3. What video containers support external subtitle formats? ====
- Choose the External subtitle tab.
- Add or remove the video containers on the list.
- Click OK to save your changes.
{{:subs-dev-containers-ext.png?nolink|Edit Subtitle Settings dialog (External tab)}}
**Important:** This is a negative list – i.e. the device does not display the external subtitles with certain video containers. For example, WD TV Live media players do not display external subtitles with Matroska (MKV) files and expect subtitles to be embedded in this video file. All the video formats not listed here are known to work with the external files.
**Tip:** The AVI/DivX video container is supported by many devices and typically can have embedded subtitles using the image based format called XSub. XSub is not yet read or transcoded by the current version of Mezzmo, but AVI/DivX files containing Xsub subtitles will be streamed natively by Mezzmo to your devices.
==== 4. What embedded subtitle formats are supported by the device? ====
- Click the Edit button next to “Supported subtitle formats”.
- Choose the Embedded subtitles tab.
- Add or remove the formats on the list.
{{:subs-dev-formats-emb.png?nolink|Edit Subtitle Settings dialog (Embedded tab)}}
The formats marked by “FFmpeg” are identifiers used for embedded subtitle tracks already detected in the video. All others are the names for the subtitle formats used by Mezzmo. When adding new subtitle tracks to a video container, expect some duplications - for example FFmpeg:subrip” and “SubRip” are the same subtitle format.
Adding formats marked by “FFmpeg” also tells Mezzmo to copy the already embedded subtitles into the new video format when transcoding is required. Note that not all combinations are actually supported - for example, AVI container will not accept embedded SubRip (SRT) subtitles and these subtitles will be ignored.
==== 5. What external subtitle formats are supported by the device? ====
- Choose the External subtitles tab.
- Add or remove the formats on the list.
{{:subs-dev-formats-ext.png?nolink|Edit Subtitle Settings (External tab)}}
Some devices are not able to display external subtitles when playing 3D video. When the **Allow with 3D Video** checkbox is unchecked, Mezzmo will force subtitles to be burnt into the 3D video.
Most devices support displaying SubRip (SRT) external subtitles. Mezzmo will automatically convert non-supported subtitles to SRT so your device can display subtitles.
There may be duplication for subtitle formats that are similar - for example, SubViewer, SubStation Alpha or TMPlayer. It is up to the device to recognize them properly.
==== 6. What encoding is supported by the device? ====
- Choose the Encoding tab.
- Add or remove Code Page identifiers on the list.
- Check BOM for Unicode files checkbox if BOM is supported by device.
- Click OK to save your changes.
{{:subs-dev-formats-enc.png?nolink|Edit Subtitle Settings (Encoding tab)}}
Most devices support text based subtitles with Unicode (UTF-8) encoding. Also, most devices will also tolerate these files with BOM or without BOM. Proper interpretation of the subtitle encoding may be selected on your device using it’s remote control.
Encoding is not important for English language subtitles as the characters are always represented in the same way regardless of the Code Page.
===== Extracting Embedded Subtitles =====
Mezzmo allows you to extract embedded subtitles from the original video file and use them as external files. This is useful particularly for devices where embedded subtitles are not supported but external subtitles are supported or burning is the only option for displaying subtitles.
Extraction of the subtitles from video files can be executed manually, one by one - or you can let Mezzmo automatically extract embedded subtitles into the subtitle cache so all are ready to use to stream as external or used for burning.
{{:subs-extract-auto.png?nolink|Options dialog (Subtitles -> Advanced tab)}}
==== Advanced Extraction Features ====
Mezzmo includes several third party software tools to extract embedded subtitles.
You can adjust the software tools used by Mezzmo to your needs.
**Important:** Adjusting the tools requires advanced technical knowledge and is only recommended for users with expert knowledge of these tools and video subtitles.
To modify the tools used to extract embedded subtitles:
- Go to the Options dialog (Subtitles -> Advanced tab).
- Click the **Edit Application List** button.
- The Mezzmo configuration file (called MezzmoMediaServer.INI) will be open in Notepad for editing.
- Locate the sections marked by [SubsExtract-XX] tags. Inspect and modify the rules as required.
- Save the text file to accept and reload tools used by Mezzmo to extract embedded subtitles.
Testing your changes:
- Right-click on a video and click Properties to display the Properties dialog.
- Go to the Subtitles tab.
- Select an embedded subtitle track form the list.
- Click the **Extract Subtitles** button and wait until it has completed.
- Any new extracted subtitle files will be loaded automatically by the Subtitle Settings dialog for your your verification.
- Adjust the language, code page and font if required.
- Click OK to add new external subtitle to your Mezzmo library.
Example Extraction Rules:
[SubsExtract-1]
Name=MKVToolNix
Path=c:\Mezzmo\Third\MKVToolNix\mkvextract.exe
Argm=tracks "" :"."
Rule=matroska
[SubsExtract-2]
Name=OGMDemuxer
Path=c:\Mezzmo\Third\OGMDemuxer\OGMDemuxer.exe
Argm=tracks "" :"."
Rule=.ogg.ogm.ogv
[SubsExtract-3]
Name=FFMpeg
Path=c:\Mezzmo\FFMpeg.exe
Argm=-y -i "" -map 0: -an -vn -c:s:0 copy -f ass "..ass"
Rule=ass[/FONT]
where:
* [SubsExtract-idx] - section for the rule, where “idx” is an ordinary number in order
* Name - name of the rule
* Path - full path to the executable file (extraction tool)
* Argm - arguments for the extraction tool
* Rule - list of the identifiers of video or subtitles formats, where the rule should be applied
Note:
* Video Container IDs as reported by FFmpeg, separated by commas. Example: matroska,mpeg,mpegts,avi,mov,mp4,m4a,3gp,3g2,mj2
* Subtitle Format IDs as reported by FFmpeg/Mezzmo, separated by commas. Example: subrip,sami,ass,ssa,microdvd,subviewer,mov_text,dvd_subtitle
* Video File Name Extension IDs separated by dots. Example: .ogg.ogm.ogv.avi.mpg.divx.mkv
Rules are processed in the order from first to the last until they match the video format identifier.
The tool’s command line is executed with the substituted arguments. Output files are saved into
default folder for subtitles - typically in the Videos folder under the Windows Documents folder:
C:\Users\{USER}\Videos\Subtitles
Command line arguments are substituted by Mezzmo with the keywords as following:
* - Full path to the video file for processing.
* - Natural Index of subtitles on Video Properties list.
* - Absolute Track Index as reported by FFMpeg Info
* - Relative Index as FFMpeg order for subtitles class
* - Destination folder (as recommended by Mezzmo).
* - Output file name (as recommended by Mezzmo)
* - Language identifier, eg: ".pl"
* - Output file extension (as recommended by Mezzmo) eg: ".srt"
* - Detected subtitles codec (as reported by FFmpeg or Mezzmo)
===== Extracting subtitles from a DVD rip =====
These instruction are for extracting DVD subtitles from a DVD rip - which is typically organized by the following file structure:
VTS_01_0.IFO - first title, information file
VTS_01_0.VOB - leading file
VTS_01_1.VOB - video part 1
VTS_01_2.VOB - video part 2
VTS_01_3.VOB - video part 3
VTS_02_0.IFO - second title information file
VTS_02_0.VOB - leading file
VTS_02_1.VOB - video part 1
VTS_02_2.VOB - video part 2
VTS_02_3.VOB - video part 3
Make sure you have identified the files as above. Use media player, like VLC to verify that first part is actually the movie and is having embedded DVD subtitles.
- Download install **VobSub Subtitle Ripper Wizard** (VSRip.exe 428KB). It is free software by Gabest (Copyright 2003) - http://sourceforge.net/projects/guliverkli/files/VSRip/VSRip%201.0.0.6/
- Run VSRip.exe\\ {{:vsrip_2.png?nolink|VSRip software tool}}
- Click **Load IFO** button to select input for processing. It should be the IFO file from the title group. Note: in case “ERROR: Invalid ifo” message, verify the path to the file is having only ASCII characters - multilanguage naming is not accepted by VSRip tool.
- Click **Save To** button to select output folder and specify the prefix name for the VobSub files. It should be a name like “VTS_01_1” to match first part video file.
- Click **Next** button and choose settings. You may extract all languages or just one. Vob/Cell IDS should be all selected.
- Click **Next** button to start processing. Successful extraction is reported by “Done!”. Close the application.
- Verify the output folder, expected files:
* VTS_01_1.idx - first VobSub file
* VTS_01_1.sub - second VobSub file
* VTS_01_1.chunks - this file may be deleted. Mezzmo is not using it
- Add VobSub subtitles to Mezzmo:
- Open Properties dialog for the video and select the Subtitles tab.
- Click **Add Subtitles** button and select the newly created "VTS_01_1.IDX" file.
- Use Preview dialog to verify the subtitles.
- Click OK to accept. All detected subtitles and languages will be added to the movie and used for burning as required.
**Tip:** External VobSub subtitles are generally not supported by DLNA media devices. So there is no other choice but to burn them by full video transcoding.
===== Using Mezzmo's diagnostic tools to troubleshoot subtitle issues =====
Mezzmo lets you check onscreen how Mezzmo is going to deliver subtitles for your device - even before playing the video:
- Go to the Options dialog (Logging page).
- Select the **Add diagnostic text to titles for troubleshooting** checkbox.
- Click OK to save your changes.
- Restart your Mezzmo server and browse your videos on your device to see extended information about your videos when listed.
==== Determining whether your device supports certain video/audio formats and containers ====
- Go to the Media Devices dialog and edit your device.
- On the Device Settings dialog, go to the Transcoding tab.
- Turn off the **Transcode incompatible media files** checkbox.
- Click OK to save your changes.
- Stream your video to your device.
Adjust the delivery rules for subtitles as described in the **Device Profile and Device Settings** section and then connect to your Mezzmo server using your device and browse your Mezzmo library's videos.
{{:subs-dbg-tv-screen.png?nolink|Subtitle Diagnostics As Displayed On A Device}}
Mezzmo will add a special suffix to the video title with the following keys:
(VideoFormatID+ SubtitlesID= OutputID)
where:
* **VideoFormatID** - identifier of the original video format. Examples: mkv, vob, avi, mpeg
* **SubtitlesID** - identifier of the subtitle delivery rules:
* sn - subtitles are not available for the movie
* sx - external subtitle file will be delivered
* si - video is having some embedded subtitles
* se - video with embedded subtitles will be delivered
* sb - subtitles are burnt into the video
* srt - format used for conversion of the external subtitles
* (The numbers used by SubtitlesID are internal identifiers of the subtitle tracks)
* **OutputID** - identifier of the video to be delivered:
* orig - streaming original video file
* trns - streaming transcoded or remuxed video file by one of the nominated containers like "avi", "mpegts", ...
**Examples:**
* “my video (avi+sx123srt=orig)” - streaming original AVI file with external subtitles converted to SubRip (srt)
* “our video (mpg+sb345=trns)” - streaming transcoded video with subtitles burned in
==== Restoring your original settings ====
- Turn on the **Transcode incompatible media files** checkbox in the Device Settings dialog (Transcoding tab).
- Turn off the **Add diagnostic text to titles for troubleshooting** checkbox in the Options dialog (Logging page).
- Restart your Mezzmo server.
===== Troubleshooting Common Subtitle Issues =====
==== Issue: Subtitle file was not detected by Mezzmo ====
Possible reasons your subtitles were not picked up by Mezzmo:
* Verify the subtitle file is following “video paired” naming strategy.
* Try to add the subtitle file manually. Mezzmo may report some errors that will help you understand the problem.
* Click the Update Subtitle button on Properties dialog (Subtitles tab) to refresh the subtitles list for the video.
* Run Maintain Library to to refresh your Mezzmo library.
==== Issue: External subtitles are not displayed by my device ====
Possible reasons external subtitles are not displayed:
* Make sure the subtitles are listed in Mezzmo. Use the Properties dialog (Subtitles tab) for the video.
* Make sure subtitles are properly displayed by Subtitles Settings dialog.
* Try popular software tools like VLC Player to play the video with your subtitles to check they are displaying.
* Verify your device’s onscreen settings when playing the video. Often subtitles are not displayed by default and you must choose the subtitle track on your device using your device’s remote control.
* Verify your device’s settings for encoding (code page). Subtitles may be rejected if the code page does not match the device settings.
* Use the diagnostic tools in the Options dialog (Logging page) to check what subtitles Mezzmo is delivering to your device.
* Verify the settings in the Device Settings dialog (Subtitles tab) against device’s manual and other knowledge sources.
* Check the Mezzmo forum (http://forum.conceiva.com) for other device owners with the same problem. It is possible that someone was having a similar problem and there is an easy fix for it.
==== Issue: Embedded subtitles are not displayed by my media device ====
Embedded subtitles must be supported and recognized by your device. Mezzmo is often just streaming the original video to your device. Note that devices often support a limited number of video and embedded subtitle formats.
* Make sure the subtitles are listed in Mezzmo. Use the Properties dialog (Subtitles tab) for the video.
* Verify your device’s onscreen settings when playing the video. Often subtitles are not displayed by default and you must choose the subtitle track on your device using your device’s remote control.
* Try popular software tools like VLC Player to play the video with your subtitles.
* Verify your device is actually supporting embedded subtitles in the video container.
* Make sure **Stream embedded subtitles** checkbox is checked. Go to the Options dialog (Subtitles page). Go to the Device Settings dialog (Subtitles tab).
* Turn off transcoding and try to play the movie with embedded already subtitles. It is possible that Mezzmo is transcoding the video file to a format that does not permit embedded subtitles (in this case, you should burn your subtitles).
**Tip:** Video hard disk recorders (DVRs/PVRs) may create video files with embedded subtitles using formats such as EIA-608, DVB Teletext, WebVTT. These embedded subtitle formats are often not supported by devices.
==== Issue: I have changed my subtitles settings but TV is not displaying the modifications ====
It is possible that the video file was already transcoded and the cached file is still used for streaming by Mezzmo DLNA Server.
To delete transcoded video file:
- Right-click on the video file and click Properties.
- On the Properties dialog, go to the Transcoding tab.
- Select transcoded file(s) on the list.
- Click Delete button.
{{:subs-prop-transcoding.png?nolink|Properties dialog (Transcoding tab)}}
**Tip:** To remove all transcoded files for all your media files:
- Go to the Transcoding Settings dialog.
- Click the **Delete Transcoded Files** button.
- Restart your Mezzmo DLNA Server.
==== Issue: How to quickly add new subtitles for a video into your Mezzmo library? ====
- Copy new subtitles to the folder with the video file.
- Rename the file to “pair” the file with video file.
- In Mezzmo, right-click on the video and click Properties to display the Properties dialog.
- Go to the Subtitles tab and click the **Update Subtitles** button.
**Tip:** The **Update Subtitles** button will preserve the settings for all your existing subtitles. New subtitle tracks will be added and subtitles that no longer exist will be removed. Make sure all removable drives are connected when using Update Subtitles.
**Tip:** Press [Ctrl] key on your keyboard and click the **Reload Subtitles** button to reload all subtitles for the video with their original settings.
==== Issue: Mezzmo is reporting “Out of order” error ====
Using a text editor like Notepad, open the subtitle text file. Scroll down the file to the line reported by Mezzmo in the error message, where L:9, C:10 “string” is number of the line (9), number of character in the line (10) and “string” display the text line in question. Edit the presentation time or move the line to the proper location, so that the items are ordered properly. Save the text file and verify the subtitle file again using the Add Subtitle button.
Typically, subtitle files are rejected when the time for the item has already passed when processing them one by one. For example:
00:02:19,110 --> 00:02:21,550
Return with trophies and glory,
13
00:04:21,790 --> 00:04:23,270 << expected time is 00:02:21,551 -->00:02:23,669
as you have always done.
14
00:02:23,670 --> 00:02:24,390 << item with “wrong order” error
So be it.