Fan subtitling (and translating) a video - a guide
Posted: Fri Mar 25, 2022 10:28 pm
It was suggested I write a "how to" guide on how I fan-subtitled a film. Here's that guide...
The best fan subtitling software appears to be Aegisub. Aegisub 3.2.2 is the latest.
Can read about it here: https://en.wikipedia.org/wiki/Aegisub
Download link - best one seems to be here: https://aegisub.en.uptodown.com/windows/download
2 key advantages, it supports drag-drop of any common video format (mp4 / mkv), and, it has a "wave audio" window (top right) to allow for precise timing against the audio.
The wave audio window in the top-right corner is what you'll use most. The white square brackets is the previous subtitles timings. The red-to-blue area is where the "active" subtitle will start and finish. Note: Other faint coloured lines appear, I finally worked out these are it's "guess" at scene-detection. Incase you want a subtitle to end before the scene changes!
After a few minutes it becomes really easy to detect the start of the dialogue. Most of the time you will be adding subtitles by "click-and-drag" on this wave window for where+how long you want the subtitle to display. Make sure it's zoomed so about an inch = about 1 second of film/audio - see the screenshot below. This gives you good timing accuracy.
[Image]
To play the entire video (from the highlighted subtitle onwards without it stopping) press the black triangle on the left under the video.
To play JUST the selected subtitle click the "triangle in a box" next to the above one.
I use that first one to play through the next few people talking then do my clicking and typing. Then click that first one to check the timing.
There's lots of play options under the audio waveform. But most are only for fine-tuning.
But first. To get the video file. I find it's easiest to work with a low-quality "copy" at say 640x360 size at a fairly low quality encode. Just big enough to see the lips of who's talking. Several advantages:
The file will open and load the audio quicker and prove less frustrating.
The subtitles will appear at a readable size. I tried a 1080p file once and it scaled the subtitles too small to be visible.
It'll allow for quicker scrolling and editing.
To make this low quality version drop the file into Handbrake (freware download is easy to find with Google). Install and drag-drop video into it:
Tab 1. picture: 640 x ??? (it'll probably enter something to maintain the aspect ration) that's fine.
Tab 2. Filters. All to "off" is fine for this.
Tab 3. Video: video codec: H.264 (x264), Framerate: "same as source". Constant Framerate (no drop frames). Encoder preset "superfast". Level "4.1". Constant quality: 27 (we want a small file size - but "constant quality" assigns more data to busy scenes, less to static stuff, for a "quality" output you would want this to be 15-20).
Tab 4: Audio. Default is fine.
Check the destination. Click encode. (Note "superfast" is telling the encoder I want it quickly (it'll be 10x quicker than "slow" but your file will be 15% bigger. It'll be as fast as 5minutes on a new PC that has hardware mp4 encoding chips on the graphics card).
Drop the file into Aegisub. It'll load quickly if you did the above and hopefully it'll display the video + audio wave (top right).
You can play the video OR the audio. Not both at once obviously using the black triangles under each.
Watch the slider line move over the wave form and the spoken sentence start/stop should be obvious. Drag your mouse from the dialogue line and make it at least a second long, but less than 5 seconds long. The timings, and dialogue will be entered in the bottom left window. Type the text into where it says "Testing 3". When you hit [enter] it'll do several things: 1. commit that line, 2. automatically start the next line of dialogue "immediately" after that one ends and show you (top right on the wave window) where it's going to appear. Repeat the "Drag and release" if you want to change the timing. But in "conversation" scenes this should be starting in the right place if you got the first entry to end in the right place.
To move quickly around the subtitles. You can scroll the lines of text in the bottom third window. Click a line of text, and the video play + waveform play shold jump immediately to that subtitle. Click a triangle to then play from that point. This should be the only time you use the bottom third of the screen.
The length of dialogue vs the amount of text is the "CPS" (characters per second), note this is shown next to the timingss. 10-13 is a good number to aim for. Sometimes fast conversation will inevitably mean this is higher. 2 lines can be entered in the same subtitle. To do this, press "shift-return" to create a "soft return". So if 2 people are speaking quickly you can do "- Person 1. [press shift-return] - Person 2". It's easier to read than 2 quickly flashing subtitles.
Avoid overlapping the subtitles. These look awkward. So check your playback. Click on the lines of dialogue and watch where each appears on the "wave" image to check your dialogue timings (start/stop) locations.
Save the file. It'll default to a .ASS file. It's a standard that supports colour coding, bold, and other advanced stuff we really don't need. Not at beginner level anyway.
To be most compatible with the most popular Windows video players (MPHC and VLC) you want the file as a SRT (Sub text file). Re-save it as that using: https://github.com/SubtitleEdit/subtitl ... /tag/3.6.5 or Substation Alpha, or Subtitle Workshop https://www.uruworks.net/index.html .
The latter can do fan subtitling - but does (at least for me) not support just drag-dropping any old video MKV file into it.
To convert the file. Simply drop the .ASS file into either of the above and then immediately resave and pick the one that gives you a .SRT extension (have file extensions turned on in windows).
To check all is good. Have your film named like this:
film.mkv (could be .avi, mp4, .mkv)
film.srt
Then open the video in "VLC" https://en.wikipedia.org/wiki/VLC_media_player (probably the most popular video player for Windows - I don't recomend Microsoft's default player). The subtitles should play over the video! But this is just for testing.
To embed the subtiles into the mp4/mkv is called "multiplexing". The best tool for this is "MKV Merge GUI". Freely / easily available online. They let you download dozens of versions. I still use a really old one as it's more intuitive and just works fine.
Drop your high qality video into this. It shoud show your video and audio streams with tick boxes. Here you can add additonal dialogues, or untick any you don't want to keep! Drop in the new SRT subtitle file. You'll see a line added to the tracks hopefully. Change default to Yes. Optionally also change language to English.
Importantly you want to make the new file it makes play at the right speed. So importantly open your high quality video file, look for properties, look for something that says 23.97, 24, 25 or 30 fps. In MKV merge GUI click the video track. CLick the "format specific options" tab. Touch nothing except the FPS: entry and make it match your film. Check the output path is right. Click "start muxing". This program does NOT encode audio or video. It merges the streams into a new file. Your video will play at the right speed (so won't lose audio sync) and will play with embedded subtitles (then you won't need the SRT file next to your mkv/mp4 file.
As for actually getting the translation to English.
On your phone (eg. Android). Download both "Translator 4.0.5" or above (has a logo like white chinese text on a red background) or Google Translator app. I prefer the first one.
Have a "very" good set of PC speakers. Make sure your PC is not humming nearby. Make sure Wifi is enabled and you have a good signal. Click the microphone button in the app to start it "listening". Play the scene using the audio / video play button in Aegisub. Type out what it translates. Experiment with both apps. Experiment at different volumes. Quite loud I find is best, with the phone 15cm from the speaker. You should get some results. Especially with "Translator".
The best fan subtitling software appears to be Aegisub. Aegisub 3.2.2 is the latest.
Can read about it here: https://en.wikipedia.org/wiki/Aegisub
Download link - best one seems to be here: https://aegisub.en.uptodown.com/windows/download
2 key advantages, it supports drag-drop of any common video format (mp4 / mkv), and, it has a "wave audio" window (top right) to allow for precise timing against the audio.
The wave audio window in the top-right corner is what you'll use most. The white square brackets is the previous subtitles timings. The red-to-blue area is where the "active" subtitle will start and finish. Note: Other faint coloured lines appear, I finally worked out these are it's "guess" at scene-detection. Incase you want a subtitle to end before the scene changes!
After a few minutes it becomes really easy to detect the start of the dialogue. Most of the time you will be adding subtitles by "click-and-drag" on this wave window for where+how long you want the subtitle to display. Make sure it's zoomed so about an inch = about 1 second of film/audio - see the screenshot below. This gives you good timing accuracy.
[Image]
To play the entire video (from the highlighted subtitle onwards without it stopping) press the black triangle on the left under the video.
To play JUST the selected subtitle click the "triangle in a box" next to the above one.
I use that first one to play through the next few people talking then do my clicking and typing. Then click that first one to check the timing.
There's lots of play options under the audio waveform. But most are only for fine-tuning.
But first. To get the video file. I find it's easiest to work with a low-quality "copy" at say 640x360 size at a fairly low quality encode. Just big enough to see the lips of who's talking. Several advantages:
The file will open and load the audio quicker and prove less frustrating.
The subtitles will appear at a readable size. I tried a 1080p file once and it scaled the subtitles too small to be visible.
It'll allow for quicker scrolling and editing.
To make this low quality version drop the file into Handbrake (freware download is easy to find with Google). Install and drag-drop video into it:
Tab 1. picture: 640 x ??? (it'll probably enter something to maintain the aspect ration) that's fine.
Tab 2. Filters. All to "off" is fine for this.
Tab 3. Video: video codec: H.264 (x264), Framerate: "same as source". Constant Framerate (no drop frames). Encoder preset "superfast". Level "4.1". Constant quality: 27 (we want a small file size - but "constant quality" assigns more data to busy scenes, less to static stuff, for a "quality" output you would want this to be 15-20).
Tab 4: Audio. Default is fine.
Check the destination. Click encode. (Note "superfast" is telling the encoder I want it quickly (it'll be 10x quicker than "slow" but your file will be 15% bigger. It'll be as fast as 5minutes on a new PC that has hardware mp4 encoding chips on the graphics card).
Drop the file into Aegisub. It'll load quickly if you did the above and hopefully it'll display the video + audio wave (top right).
You can play the video OR the audio. Not both at once obviously using the black triangles under each.
Watch the slider line move over the wave form and the spoken sentence start/stop should be obvious. Drag your mouse from the dialogue line and make it at least a second long, but less than 5 seconds long. The timings, and dialogue will be entered in the bottom left window. Type the text into where it says "Testing 3". When you hit [enter] it'll do several things: 1. commit that line, 2. automatically start the next line of dialogue "immediately" after that one ends and show you (top right on the wave window) where it's going to appear. Repeat the "Drag and release" if you want to change the timing. But in "conversation" scenes this should be starting in the right place if you got the first entry to end in the right place.
To move quickly around the subtitles. You can scroll the lines of text in the bottom third window. Click a line of text, and the video play + waveform play shold jump immediately to that subtitle. Click a triangle to then play from that point. This should be the only time you use the bottom third of the screen.
The length of dialogue vs the amount of text is the "CPS" (characters per second), note this is shown next to the timingss. 10-13 is a good number to aim for. Sometimes fast conversation will inevitably mean this is higher. 2 lines can be entered in the same subtitle. To do this, press "shift-return" to create a "soft return". So if 2 people are speaking quickly you can do "- Person 1. [press shift-return] - Person 2". It's easier to read than 2 quickly flashing subtitles.
Avoid overlapping the subtitles. These look awkward. So check your playback. Click on the lines of dialogue and watch where each appears on the "wave" image to check your dialogue timings (start/stop) locations.
Save the file. It'll default to a .ASS file. It's a standard that supports colour coding, bold, and other advanced stuff we really don't need. Not at beginner level anyway.
To be most compatible with the most popular Windows video players (MPHC and VLC) you want the file as a SRT (Sub text file). Re-save it as that using: https://github.com/SubtitleEdit/subtitl ... /tag/3.6.5 or Substation Alpha, or Subtitle Workshop https://www.uruworks.net/index.html .
The latter can do fan subtitling - but does (at least for me) not support just drag-dropping any old video MKV file into it.
To convert the file. Simply drop the .ASS file into either of the above and then immediately resave and pick the one that gives you a .SRT extension (have file extensions turned on in windows).
To check all is good. Have your film named like this:
film.mkv (could be .avi, mp4, .mkv)
film.srt
Then open the video in "VLC" https://en.wikipedia.org/wiki/VLC_media_player (probably the most popular video player for Windows - I don't recomend Microsoft's default player). The subtitles should play over the video! But this is just for testing.
To embed the subtiles into the mp4/mkv is called "multiplexing". The best tool for this is "MKV Merge GUI". Freely / easily available online. They let you download dozens of versions. I still use a really old one as it's more intuitive and just works fine.
Drop your high qality video into this. It shoud show your video and audio streams with tick boxes. Here you can add additonal dialogues, or untick any you don't want to keep! Drop in the new SRT subtitle file. You'll see a line added to the tracks hopefully. Change default to Yes. Optionally also change language to English.
Importantly you want to make the new file it makes play at the right speed. So importantly open your high quality video file, look for properties, look for something that says 23.97, 24, 25 or 30 fps. In MKV merge GUI click the video track. CLick the "format specific options" tab. Touch nothing except the FPS: entry and make it match your film. Check the output path is right. Click "start muxing". This program does NOT encode audio or video. It merges the streams into a new file. Your video will play at the right speed (so won't lose audio sync) and will play with embedded subtitles (then you won't need the SRT file next to your mkv/mp4 file.
As for actually getting the translation to English.
On your phone (eg. Android). Download both "Translator 4.0.5" or above (has a logo like white chinese text on a red background) or Google Translator app. I prefer the first one.
Have a "very" good set of PC speakers. Make sure your PC is not humming nearby. Make sure Wifi is enabled and you have a good signal. Click the microphone button in the app to start it "listening". Play the scene using the audio / video play button in Aegisub. Type out what it translates. Experiment with both apps. Experiment at different volumes. Quite loud I find is best, with the phone 15cm from the speaker. You should get some results. Especially with "Translator".