Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
using_subtitles [2016/06/16 06:30]
admin [5. What external subtitle formats are supported by the device?]
using_subtitles [2018/01/18 22:18]
admin [Presentation Types]
Line 11: Line 11:
    
   * **Time based** – each subtitle text item is displayed based on the video’s timeline. Example: 1 minute 43 seconds 12 milliseconds   * **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 ​+  ​* **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. **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.
Line 419: Line 419:
  
 Encoding is not important for English language subtitles as the characters are always represented in the same way regardless of the Code Page. 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:
 + 
 +<​code>​
 +[SubsExtract-1]
 +Name=MKVToolNix
 +Path=c:​\Mezzmo\Third\MKVToolNix\mkvextract.exe
 +Argm=tracks "<​SrcFile>"​ <​TrackNr>:"<​OutDir><​OutName><​LangId>​.<​TrackNr><​OutExt>"​
 +Rule=matroska
 + 
 +[SubsExtract-2]
 +Name=OGMDemuxer
 +Path=c:​\Mezzmo\Third\OGMDemuxer\OGMDemuxer.exe
 +Argm=tracks "<​SrcFile>"​ <​TrackNr>:"<​OutDir><​OutName><​LangId>​.<​TrackNr><​OutExt>"​
 +Rule=.ogg.ogm.ogv
 + 
 +[SubsExtract-3]
 +Name=FFMpeg
 +Path=c:​\Mezzmo\FFMpeg.exe
 +Argm=-y -i "<​SrcFile>"​ -map 0:<​TrackNr>​ -an -vn -c:s:0 copy -f ass "<​OutDir><​OutName><​LangId>​.<​TrackNr>​.ass"​
 +Rule=ass[/​FONT]
 +</​code>​
 +
 +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:
 +
 +<​code>​
 +C:​\Users\{USER}\Videos\Subtitles
 +</​code>​
 +  ​
 +Command line arguments are substituted by Mezzmo with the keywords as following:
 + 
 +  * <​SrcFile>​ - Full path to the video file for processing.
 +  * <​Index>​ - Natural Index of subtitles on Video Properties list.
 +  * <​TrackNr>​ - Absolute Track Index as reported by FFMpeg Info
 +  * <​TrackIdx>​ - Relative Index as FFMpeg order for subtitles class 
 +  * <​OutPath>​ - Destination folder (as recommended by Mezzmo).
 +  * <​OutName>​ - Output file name (as recommended by Mezzmo)
 +  * <​LangID>​ - Language identifier, eg: "​.pl"​
 +  * <​OutExt>​ - Output file extension (as recommended by Mezzmo) eg: "​.srt"​
 +  * <​Codec>​ - 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:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +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:
 +
 +<​code>​
 +(VideoFormatID+ SubtitlesID= OutputID)
 +</​code>​
 + 
 +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:
 +
 +<​code>​
 +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.
 +</​code>​