Yesterday I wanted to try a movie file that was encoded in 3D SBS (1920x1080, LR each 960x1080) (H264 MPEG-4 AVC), on my 3D projector (auto hdmi 1.4 3D mode support, or manual side-by-side mode).
It worked pretty well, not much noticeable difference from a Blu-Ray 3D (the projector is only 720p native, so not losing
that many pixels per LR frame)
But subtitles (.srt file, Chinese+English UTF8) were
same problem mentioned here by OP.
After some googling, I found this open source tool :
https://code.google.com/p/sub3dtool/
It takes your .srt file as input, and creates a .ass file (ASS = Advanced SSA), which has 2 copies of the subtitles for both L and R frames.
I couldn't get the javascript version to work (maybe a browser setting?), but the C version compiled and ran fine in Linux.
Code: Select all
./sub3dtool input.srt --3dsbs -o output.ass
If you rename .ass file to match the .mp4 (or .mkv, .avi, etc), just like the .srt, VLC will pick it up as a subtitle track automatically.
There were some offset+yellow subtitles at the beginning into that didn't show up correctly, but 99% of the main movie subtitles were there and looked good.
----
Other notes: The .ass renderer in VLC 2.1.3 had some problem, after 20-30 minutes (initially, then every 10 minutes after) subtitles disappeared, would start to corrupt video frames, then if I try to exit full screen, video would freeze (audio kept going) and if I close VLC, it crashed on exit. I upgraded to 2.1.5, and replaying same file/subtitle with no problems.
Wishlist: It would also be nice if VLC had a SBS mode for the full screen overlay (popup at bottom of screen), so that you could see it without needing 3D glasses + closing 1 eye at a time. Basically just auto-move the controls left to be centered between 0-960px, and duplicate identical controls to be centered between 961-1920px. Mouse input on either set of controls should work (and other half controls would reflect same changes in realtime)
Perhaps the same SBS mode could use code from above project to create a .ass file in ram (they are ~2-3x size of .srt files, so still small), and render subtitles using existing SSA renderer?