Merging Matroska S_VOBSUB
Goal:
Join 2 separate MKV files that are part of one movie.
Problem:
The MKV files contain S_VOBSUB streams that are zlib compressed. S_VOBSUB cannot be extracted with mkvextract, nor can be manipulated with VirtualDubMod or AVI-MUX Gui.
Tools Used:
- AVI-MUX Gui;
- Matroska Stream Editor;
- MKVMerge.
Assumption:
Let’s call the 1st MKV file A and the 2nd B
Step 1:
Remux A into a new MKV file, removing zlib compression for S_VOBSUB stream. Let’s call this new MKV file A_VOBSUBdecomp.
Repeat with B. The new MKV file is B_VOBSUBdecomp.
Step 2:
Remux A into another MKV file, this time removing S_VOBSUB stream completely. This new MKV file is A_noVOBSUB.
Repeat with B. This new file is B_noVOBSUB.
Step 3:
Join A_noVOBSUB and B_noVOBSUB together using AVI-MUX_GUI
This new file is AandB_noVOBSUB.
Step 4:
Load A_VOBSUBdecomp and B_VOBSUBdecomp into Matroska Stream Editor.
Append B_VOBSUBdecomp’s S_VOBSUB stream to A_VOBSUBdecomp’s. Time offset the appended S_VOBSUB stream if necessary.
Delete the rest of the streams.
Mux this single stream into a MKV file. Call this file AandB_VOBSUBonly.
Step 5:
Mux AandB_noVOBSUB with AandB_VOBSUBonly to produce final output file.
note: The reason why I didn’t try using Matroska Stream Editor to directly append and mux all the streams, and instead went through this longwinded process is because: 1. I’m not sure what sort of ‘side effects’ Matroska Stream Editor will produce; 2. I’ll not have to bother about time offsets except for the S_VOBSUB stream.
Subjects: Technology 技術
Tags: matroska
- Login to post comments