I've loved XBMC ever since I started using it back in 2008/2009.
I'm Portuguese and I usually only watch English contents. I can understand most of what I watch in English - maybe 80-90% - but late at night I need to keep the sound at a minimum not to bother my family in their sleep. So using subtitles is a must for me.
Unfortunately at times I can't read the subs because the aspect ratio of the video is 16:9 fullscreen with no top/bottom black bars and the image is whitish.
Having an internal option to make a black or gray box behind the sub text would be great. Or maybe if someone could make it an addon instead of an internal option.
(2013-04-12, 04:38)Ned Scott Wrote: It would be pretty neat to do this from within XBMC, but I should point out, it's also possible to extract the subs, add something like this and then remux the sub as a stylized sub (SSA). Hmm, maybe I'll throw together a little guide on how to do that..
Did Ned Scott ever explain how to do this?
Does anyone here know what he had in mind? How we could do it manually ourselves?
Cheers
EDIT:
Okay, I found some more info by googling.
Apparently ASS/SSA support this feature called BorderStyle and it can draw a black background for the subs.
http://fileformats.wikia.com/wiki/SubStation_Alpha
We just need to change it to 3 like this:
Quote:[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0,2,10,10,10,0
In order to do that we need to take an SRT subtitle, make sure it's in UTF-8 and then use something like ffmpeg to convert from SRT into ASS.
Let's say that we want to convert sub1.srt to ASS. Just use:
If it says it's in anything else but UTF-8 (say iso8859-1) I still need to convert to UTF-8 using:
Code:
iconv.exe -f iso-8859-1 -t utf-8 sub1.srt > sub1-utf8.srt
Then I need to delete the original non UTF-8 file:
...and rename sub1-utf8.srt back to sub1.srt
Code:
mv sub1-utf8.srt sub1.srt
To convert from SRT to ASS I need to run:
Code:
ffmpeg -i sub1.srt sub1.ass
And finally, find the borderstyle value and change it with something like sed:
Code:
sed -i '9s/.*/Style: Default,Arial,28,\&Hffffff,\&Hffffff,\&H0,\&H0,0,0,0,0,100,100,0,0,3,1,0,2,10,10,10,0/' sub1.ass
This would change font size to 28 and make a black border around the subs by changing the whole 9th line of the ASS file with a different version.
Could all this be somehow compressed and optimized into a one liner?
Could it be possible that all these commands come on every linux box and on every LibreELEC/OpenELEC?
Windows doesn't come with these, right? And Android?
Could it be possible for someone with coding skills to come up with something similar as an addon?
XBMC would use the regular subtitles mechanism that we have today. It would download an SRT file from a site like opensubtitles.org and then it would apply all this nonsense and in the end we would have readable subs on very bright videos. Far from optimal, it's a shitty hack and it uses full black instead of gray or semi transparent layer on top of the video but at least it would be readable...
Anyone one with proper skills want to chime in here?
Cheers