View Full Version : How to convert a MKV with VOBsubs to convert?
mahsah
18th August 2006, 18:40
Usually, I just demux the MKV, select the Video, Audio, and subtitle streams in virtualdubmod, start a frameserver, make an AVIsynth script to the VDR, then load the AVI synth script into my converter.
Except I have not converted VOBsubs this way before, and I can't get virtualdubmod to load them.
Also, I am converting this for my PSP, if you know of any tool that would directly support this.
Thanks,
Sam
ilovejedd
18th August 2006, 19:08
Both 3GP Converter (http://www.nurs.or.jp/~calcium/3gpp/) and PSP Video 9 (http://www.pspvideo9.com/) accept AviSynth scripts as input. Regarding VobSub support, download TextSub from the AviSynth Filter archive (http://www.avisynth.org/warpenterprises/).
For sub/idx
LoadPlugin("VSFilter.dll")
VobSub("subtitle.sub")
For ssa, srt, etc.
LoadPlugin("VSFilter.dll")
TextSub("subtitle.ssa")
mahsah
18th August 2006, 19:14
Ah! Perfect.
Also, will avisynth take raw h264 avc streams, and is there a way I could dub in OGG audio with it?
ilovejedd
18th August 2006, 19:37
Raw H264, I have no idea. Regarding OGG, if you have a DirectShow filter for OGG, then, probably. Not sure how that will work, though... Maybe something like this...?
LoadPlugin("VSFilter.dll")
audio = DirectShowSource("audio.ogg")
video = DirectShowSource("video.h264").VobSub("subtitle.sub")
AudioDub(video,audio)
Safest bet would be to mux the raw h264 and ogg streams to AVI, first.
LoadPlugin("VSFilter.dll")
AviSource("file.avi")
VobSub("subtitle.sub")
mahsah
18th August 2006, 19:55
How would I go about muxing the raw stream into AVI? avi-mux GUI won't take the stream...
ilovejedd
19th August 2006, 00:05
Hmm, you're right. AVI-Mux GUI will accept AVI w/vorbis audio as input but it won't let you output to the same.
I think the ffmpeg build included in 3GP Converter accepts raw h264 streams, but I'm not that familiar with it.
This is a relatively long method, but it should work.
1) Extract OGG audio to uncompressed PCM WAV, there are a variety of methods to do this (CDex, BeSweet, etc)
2) Convert the raw h264 stream to avi container. This should do the trick.
ffmpeg -y -i "video.h264" -vcodec copy "video.avi"
AviSynth script:
LoadPlugin("VSFilter.dll")
video = DirectShowSource("video.avi").VobSub("subtitle.sub")
audio = WavSource("audio.wav")
AudioDub(video,audio)
If you have Haali Splitter installed, I think you might be able to use the MKV file directly (although, you'll still need to extract subs).
LoadPlugin("VSFilter.dll")
DirectShowSource("video.mkv")
VobSub("subtitle.sub")
I have no idea how it will treat MKV files with more than one audio tracks, though.
mahsah
19th August 2006, 02:36
Cool, thanks.
What I ended up doing was to have 2 avisynth scripts, 1st goes directly to the MKV, no subs, audio=false, then the second one points to that (with convertfps, it was VFR <_<), and dubs the audio and subs.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.