This project has moved and is read-only. For the latest updates, please go here.

Cannot skip/seek with mkv files

Apr 7, 2014 at 7:10 AM
Edited Apr 7, 2014 at 7:10 AM
Hi,

Just after some advice with an issue I have. I am recording Aus free to air tv with h264 .ts files and using mcebuddy (latest version) to convert the .ts files to .mkv using ffmpeg (also tried handbrake and mencoder). I have created a custom profile that only re-encodes the audio steam from AAC to AC3 (as my LG player will only accept AC3). The files work great and video/audio sync is perfect.

The issue I have is I cannot skip/seek the mkv files with my LG player. After hours of searching on the Internet I found some info where others used mkvmerge with the options --clusters-in-meta-seek to quickly mux the outputted mkv file. I did this and it worked and I could skip/seek. I found out that if you use mkvmerge 3.4 or before you do not need to define the --clusters-in-meta-seek option as the earlier versions did this by default. I replaced mkvmerge 3.4 exe in the mcebuddy mkvmerge program files directory and tried to do a conversion with my profile. In this case it did not work, so I assume it did not call mkvmerge and only used ffmpeg. I have also tried all the custom profiles and different containers etc and still cannot get skip/seek to work natively from mcebuddy.

So my question is, is there a way to get mcebuddy to do this automatically? Can mcebuddy call a post process? Is there a way to call mkvmerge option within a profile? Is there similar parameters with ffmpeg or handbrake that can mux and enable skip/seek for me with mkv files?

Essentially I am open to any ideas, I just want to automate this process if I need to mux again :-)
Apr 7, 2014 at 2:32 PM
MCEBuddy does use MKVMerge with cluster-in-seek option when used with remuxto.
Simple answer, open the profile you are using. Say you are using ffmpeg, change
ffmpeg-ext=.mkv
to
ffmpeg-ext=.mp4

and add
ffmpeg-remuxto=.mkv

This will cause mcebuddy to use ffmpeg to create a mp4 file and then use mkvmerge to create a MKV file with the following options:
"--clusters-in-meta-seek -o <output> --compression -1:none <input>"


Marked as answer by rboy1 on 4/7/2014 at 2:26 PM
Apr 8, 2014 at 2:56 AM
Thanks for the reply rboy1.

I will give it a try tonight.

Cheers
Apr 8, 2014 at 12:37 PM
Edited Apr 8, 2014 at 12:37 PM
I tried the suggestion above, but it did not allow me to skip/seek.

My profile is below. If I remux a mkv file with mkvmerge with options --clusters-in-meta-seek then I can skip/seek with the newly muxed file.

I used .avi instead of .mp4 because I knew the ac3 audio encode options. Guessing that should not make a difference?

[AVI MPEG-2 Remux to MKV]
Description=AVI MPEG-2 Remux to MKV.
order=ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 3 -vcodec copy -sn
ffmpeg-audio=-acodec ac3 -ab 192k
ffmpeg-audioac3=-acodec ac3 -ab 192k
ffmpeg-ext=.avi
ffmpeg-remuxto=.mkv
ffmpeg-audiodelay=skip
FixedResolution=true
SkipCropping=true
PreConversionCommercialRemover=true
UniversalCommercialRemover=true
Apr 8, 2014 at 1:02 PM
No it won't work with AVI, only from MP4 to MKV. Try this, use ffmpeg-ext=.mp4 and then remux it to .mkv

Also attaching your conversion log


Apr 8, 2014 at 1:05 PM
Probably better is try ffmpeg-ext=.ts and ffmpeg-remuxto=.mkv


Apr 8, 2014 at 1:10 PM
And here I am assuming you're using hte latest build. if not please update to the latest build and then try it.


Apr 9, 2014 at 1:55 PM
Thanks for replies rboy1. I am on the latest version 2.3.15 beta. I tried

ffmpeg-ext=.mp4 and ffmpeg-remuxto=.mkv
ffmpeg-ext=.ts and ffmpeg-remuxto=.mkv

But I still could not seek/skip on my LG Player (conversion log and profile at bottom)

If I run the outputted mkv file through mkvmergeGUI version 6.2 and 6.8 with the command option --clusters-in-meta-seek, I cannot seek/skip on my LG Player.

If I run the outputted mkv file through mkvmergeGUI version 3.4 (--clusters-in-meta-seek is enabled by default in this version) I can seek/skip on my LG Player.

I replaced the mcebuddy mkvmerge 6.2 version with 3.4 and it still did not work. When looking through the logs I see the error

2014-04-09T22:06:25 MCEBuddy.AppWrapper.MKVMerge --> Launching process C:\Program Files\MCEBuddy2x\MKVMerge\MKVMerge.exe
2014-04-09T22:06:25 MCEBuddy.AppWrapper.MKVMerge --> Process arguments --clusters-in-meta-seek -o "C:\Program Files\MCEBuddy2x\working0\test_REMUX.mkv" --compression -1:none "C:\Program Files\MCEBuddy2x\working0\test.ts"
2014-04-09T22:06:25 MCEBuddy.AppWrapper.MKVMerge --> UI Session Admin Process : False
2014-04-09T22:06:25 MCEBuddy.AppWrapper.MKVMerge --> Setting process priority to AboveNormal
ERROR> 2014-04-09T22:06:28 MCEBuddy.Transcode.RemuxExt --> MKVMerge failed
2014-04-09T22:06:28 MCEBuddy.Transcode.RemuxExt --> Remuxing video using FFMpeg to .mkv

I am guessing it is failing because it is trying to pass the argument --clusters-in-meta-seek on version 3.4 which has this enabled by default and is causing a confliction.

Is there a way to edit config so the mkv remux process does not use the argument --clusters-in-meta-seek, then I can continue to use version 3.4 because I know it works manually? I am guessing that for some reason my LG Player does not like the latest versions of mkv merge. Do you have any ideas or suggestions?

Below is the mkv remux and profile part from the conversion log using mkvmerge 6.2. I grabbed these bits only as it was too many characters to insert the entire log.

--> Profile being used : TS Remux to MKV.
Profile entries ->
--> Description=TS Remux to MKV.
--> ffmpeg-audio=-acodec ac3 -ab 192k
--> ffmpeg-audioac3=-acodec ac3 -ab 192k
--> ffmpeg-audiodelay=skip
--> ffmpeg-ext=.ts
--> ffmpeg-general=-threads 0
--> ffmpeg-remuxto=.mkv
--> ffmpeg-video=-ss 3 -vcodec copy -sn
--> FixedResolution=true
--> order=ffmpeg
--> PreConversionCommercialRemover=true
--> SkipCropping=true
--> UniversalCommercialRemover=true


INFORMATION> 2014-04-09T20:33:33 MCEBuddy.Transcode.ConvertWithFfmpeg --> Remuxing video if required
2014-04-09T20:33:33 MCEBuddy.Transcode.RemuxExt --> Remux To : .mkv
2014-04-09T20:33:33 MCEBuddy.Transcode.RemuxExt --> Extension : .ts
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Launching process C:\Program Files\MCEBuddy2x\MKVMerge\MKVMerge.exe
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Process arguments --clusters-in-meta-seek -o "C:\Program Files\MCEBuddy2x\working0\test_REMUX.mkv" --compression -1:none "C:\Program Files\MCEBuddy2x\working0\test.ts"
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> UI Session Admin Process : False
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Setting process priority to AboveNormal
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> mkvmerge v6.2.0 ('Promised Land') built on Apr 28 2013 12:22:01
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> 'C:\Program Files\MCEBuddy2x\working0\test.ts': Using the demultiplexer for the format 'MPEG transport stream'.
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> 'C:\Program Files\MCEBuddy2x\working0\test.ts' track 0: Using the output module for the format 'AVC/h.264 (unframed)'.
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> 'C:\Program Files\MCEBuddy2x\working0(2014-04-09 19-20) test.ts' track 1: Using the output module for the format 'AC3'.
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> The file 'C:\Program Files\MCEBuddy2x\working0\test_REMUX.mkv' has been opened for writing.
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> 'C:\Program Files\MCEBuddy2x\working0\test.ts' track 0: Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to 1024/576.
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Progress: 1%
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Progress: 100%
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Progress: 100%
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> The cue entries (the index) are being written...
2014-04-09T20:33:33 MCEBuddy.AppWrapper.MKVMerge --> Muxing took 0 seconds.
INFORMATION> 2014-04-09T20:33:35 MCEBuddy.Transcode.RemuxExt --> MKVMerge remux moving file
2014-04-09T20:33:35 MCEBuddy.Transcode.RemuxExt --> Changing rexumed file names
OriginalFile : C:\Program Files\MCEBuddy2x\working0\test.ts
ReMuxedFile : C:\Program Files\MCEBuddy2x\working0\test_REMUX.mkv
ConvertedFile : C:\Program Files\MCEBuddy2x\working0\test.mkv
2014-04-09T20:33:35 MCEBuddy.Transcode.RemuxExt --> Finished video file remuxing, file size [KB] 15,974.00
2014-04-09T20:33:35 MCEBuddy.Transcode.ConvertWithFfmpeg --> Conversion Remux: Percentage Complete 100
2014-04-09T20:33:35 MCEBuddy.Transcode.Convert --> Successfully converted file test.ts using profile TS Remux to MKV
INFORMATION> 2014-04-09T20:33:35 MCEBuddy.Engine.ConversionJob --> Converted File : C:\Program Files\MCEBuddy2x\working0\test.mkv
2014-04-09T20:33:35 MCEBuddy.Engine.ConversionJob --> Finished conversion, file size [KB] 15,974.00
INFORMATION> 2014-04-09T20:33:35 MCEBuddy.Engine.ConversionJob --> Writing show information
2014-04-09T20:33:35 MCEBuddy.Engine.ConversionJob --> Finished writing tags, file size [KB] 15,974.00
Apr 9, 2014 at 2:20 PM
Here is the last option. Create a MP4 file (not MKV). Write a PostCustomCommand to invoke your custom MKVMerge and then convert the MP4 to MKV file. This may fail the conversion since you're changing the filename but it doesn't matter since this is a Post command, after the conversion and renaming is complete.

Search the forum on PostCustomCommand and see how others have used it.


Marked as answer by rboy1 on 4/9/2014 at 6:27 AM