View Single Post
Old 13th October 2015, 11:08   #626  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Mini guide: How to convert 2D SRT subtitles or SUP from another BD to 3D

So you have a 3DBD and you would like to add subtitles from another source with the correct 3D depths. Although the procedure is not automatic, it is possible to do it with BD3D2MK3D. Here is how.

Mini guide: How to convert 2D SRT subtitles or SUP from another BD to 3D
  1. Foreword
    The principle is to prepare the job with an existing 3D subtitles in another language, and then replace that stream (called the "guide stream") with your own stream, in your language.

    Unfortunately, a specific 3D-Planes is usually made for a specific subtitle stream, and it may not work well if you use it to convert another stream to 3D. That's why, for best results, you should chose a guide stream that has probably the same subtitles than in your language, at approximately the same timings. For example, if it's an US movie, there are probably forced subtitles in your stream not present in the English stream. Therefore, you should select another language for the guide, also with the same forced subtitles. You should also select a guide stream in a language similar to yours, because if the position and space occupied on screen by a specific subtitle of the guide stream are very different than the position and size of the same subtitle in your language, the final result may be very bad.
  2. Begin by processing the 3DBD normally with BD3D2MK3D, and select the guide stream according to the explanations above to hardcode it to the video in the last tab (or the guide stream in tab 2 if you just want to mux it in the final MKV). (Note also the number of the 3D-Plane used by the guide. You'll need it later.) Create the BD3D2MK3D project normally.
  3. Of course, you need the 2D subtitles to hardcode in graphic format. If you demux the PGS from a 2D BD, that should be OK. If your input subtitle file is a SRT (or a similar text based format), you have to convert it to PGS (or, better, to XML/PNG) first. You can use Subtitle Edit's export function to do it. For the reasons explained in the previous paragraph, you should use a font similar or smaller than the font of the guide file (to minimize the risk to have subtitles larger than the corresponding subtitles in the guide stream). And you should position the subtitles approximately at the same height within the image than in the guide file. In short, you should try to obtain a subtitle stream that resembles as closely as possible the guide stream.
  4. You should verify if your subtitle stream is correctly in sync with the video. Timings are critical to obtain the correct 3D effect. Normally, if you have grabbed the PGS stream from the 2D BD at the same frame rate that the 3D BD (23.976 fps) and if the version of the movie is identical (with the same studio logos at the beginning), that should be OK. Otherwise, use any subtitle editor to resync the subtitles.
  5. Many 3DBDs have the subtitles placed "normally", near the bottom of the screen and centred horizontally. If it's the case of the guide stream and if the position of the subtitles in your stream is identical or very similar, you can skip this step. But if the subtitles of the guide are placed at various positions on screen (like in Avatar) or if your subtitles are at a very different position than in the guide, you should use the "Clone Subtitles positions from another file" tool to "fix" the positions of your subtitles. That tool tries to place the subtitles at roughly the same positions than in the guide file. It works on subtitles stream in XML/PNG format only, so you may have to convert the two subtitles to that format with BDSup2Sub. You can use Tools -> Open Subtitle in BDSup2Sub. (Be sure to verify the frame rates and timings after each conversion with BDSup2Sub, because it changes them sometimes without reason!)
  6. At this point, your subtitle stream should be very similar to the guide stream, with all subtitles at their correct positions. You can now convert it to 3D with Tools -> Convert Subtitles to 3D. You should use the 3D-Plane of the guide stream. When it's finished, you should have a good 3D stream, with perhaps some problems, but globally correct.
  7. If you want to hardcode that stream on the video, you should replace the filename of the SupTitle("XXX.sup") command in the __ENCODE_3D_MOVIE.avs script to instruct avisynth to use your own stream instead of the guide stream. (You may want to edit also the language code of the video stream in __MUX_3D_OPTIONS.txt, because BD3D2MK3D sets it to the language of the hardcoded subtitle, but your stream is in another language. It's better, but not mandatory.)

    In the other hand, if you don't want to hardcode the subtitle stream but just mux it in the final MKV, you should edit the entry corresponding to the 3D guide stream in the __MUX_3D_OPTIONS.txt file, and change its title, language code and filename accordingly. For example, if your language is French, you may have to edit the blue strings below:
    Code:
    --track-name
    0:French 3D (BD SUP)
    --language
    0:fra
    --default-track
    0:no
    --forced-track
    0:no
    --sync
    0:0
    --compression
    0:none
    My_3D_stream.sup
  8. Now, you can launch __ENCODE_3D.cmd normally, and if you have made the job correctly, you should obtain a final SBS or T&B MKV file with correct 3D subtitles in your own language.
  9. Note
    Sometimes some subtitles may not be at the correct position, even if you have followed the guide correctly. That may be caused by several things: A subtitle may not have the right depth when here is no corresponding subtitle in the guide, or when the corresponding subtitle in the guide is smaller (in size) or displayed at different timings. If some subtitles are really badly placed, you can edit the XML file of the 2D XML/PNG stream, change the "Depth" or X/Y position of the badly placed subtitle, and convert again that XML to 3D, but this time WITHOUT specifying a 3D-Plane. Since the Depth values are already present in the XML, the conversion will use them, and it will therefore take your edits into account. That procedure is not easy, mainly because you have to figure out yourself the correct depth value to use without actually seeing the result, but is is useful anyway to fix the most badly placed subtitles. When done, you should relaunch the encoding (for hardcoded subtitles), or just launch __MUX_3D.cmd (for muxed subtitles).
I hope this helps. Let me know if you encounter any problem.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 4th April 2016 at 08:51.
r0lZ is offline