I am confused about subtitles

I am trying to watch my movie library using Channels, instead of PLEX. I know that in PLEX I can turn on subtitles and it magically brings up a list off the internet of available subtitles.

Is there a way to do something like that in the Channels app?

You would have to find and download the subtitle file and put it next to your movie with the same name but .srt at the end

1 Like

Bummer.

I was hoping it would download subtitles automatically if they’re not provided. That is a nice feature that plex provides.

Where channels rally shines is its dvr ability. Most shows you record will have subtitles.

However if you want subtitles on your imported videos i haveva free options.

  1. Rip/download your content with subtitle already (this is what i do)
  2. Download subtitles manually
  3. **I don't know if this will work. But should theretically. Since your already using Plex. Download sub-zero plugin. It has ability to auto download subtitles. If it auto downloads maybe Channels will see them.
2 Likes

I am big in to subtitles due to my own personal hearing loss. So I have some experience getting subtitles going in a reasonably automatic way. Maybe some of this will help give you ideas concerning subtitles. Of course my use of subtitles is because of hearing difficulty so I do not need subtitles to translate to/and from other languages. And I am a Windows person. I know there are a lot of great alternatives. But Windows is what I know, so it is all I can knowledgably talk about here.

In my experience I have found Channels to be excellent with CC/Subtitles for Live TV and for recording. If subtitles are available, Channels will catch them and display if you want them displayed on live TV. If the DVR recordings have any available subtitles that were part of the original stream they are embedded in the recording. When you watch the recording on Channels (or any other viewer) you will have the choice to see those subtitles if you want.

As for library content, that is a little trickier. I use Plex for my media library and main viewing and ChannelsDVR for Live TV and DVR. Channels is awesome for Live TV and DVR. Nothing comes close to how incredible Channels is for Live and DVR. But nothing compares to Plex in media management (and of course mind boggling bloat.) And on Plex subtitling issues are very low on the support priority list.

Plex does have the option to download subtitles from the internet (if none are embedded in the media or as an external file) and it works pretty nicely. But it has the drawback of not saving the subtitles as a side car (even though the subtitles are just downloaded OpenSubtitles .srt files). Therefore, if you watch the media file in another viewer like Channels or VLC, the Plex downloaded subtitles will not be available.

For my media library (Not live TV or DVR): Everything I add goes through a simple Windows .bat file. If the newly added media does not have an associated .srt file then ccextractor is run on the media to see if there are any embedded subtitles. If there are embedded subtitles they will be saved as .srt files along side the media. If no embedded subtitles are found then the Windows .bat file runs a quick Filebot scan of the media to see if OpenSubtitles has a match. If there is a match online it is saved as an .srt file alongside the media.

Of course then there may be issues of syncing subtitles if the OpenSubtitles file is off. If I notice some media not synchronized properly, I use a program called SubSync which will try to match the timing of the .srt file to voice recognition audio dictation of the media file. It gets things surprising close enough for me.

Here are some links to the software I mentioned that I use. Most of it is pretty well known.

FileBot (Mainly a renamer but can also be used to find subtitles) - Filebot
CCextractor (Well maintained open source) - CCextractor
SubSync (Awesome hidden gem to synchronize) - SubSync Subtitle Speech Synchronizer
OpenSubtitles (The go to online location for subtitles) - OpenSubtitles

8 Likes

@Absenm could you share your bat file? I also use filebot and find it to be awesome but I didn't know you could use it to get subtitles. Your process sounds awesome and I would like to give it a try if you are willing to share :blush:

2 Likes

Ill try to post something tomorrow with the basics of my .bat file(s). I'm not a coder. I just Frankenstein snippets of code together and keep trying them till they work they way I want. So when it comes to proper design it will be awful and inefficient to say the least. I am also limited by what I can do with a windows .bat file. But maybe you can get the general drift of what I'm doing and improve upon the concept.

1 Like

Ok this is roughly what I use. Remember I am not a coder. I cobbled this stuff together till it worked. Be prepared to cringe.

REM I NAMED THIS .BAT FILE EXTRACT2.BAT
REM The batch file is provided a full file path (including ext) in the form of variable %media_file_path% from an intital .bat file called EXTRACT.BAT which searches an entire directory (and sub directories) for .MPG, .MKV and .MP4 files. But you can use whatever media types you like... but CCExtractor will probably just abort on things like .AVI then proceed to Filebot.

set filenameWithoutExtension=%media_file_path:~0,-4%

echo *** %DATE% %TIME% *** >> H:\Subproc.log
echo Media Download: "%media_file_path%" >> H:\Subproc.log

REM IF NO COMMON ENGLISH .SRT SUBTITLES ALREADY EXSISTS THEN TRY CCEXTRACT OTHERWISE EXIT
if exist "%filenameWithoutExtension%".srt goto :EOF
if exist "%filenameWithoutExtension%".en.srt goto :EOF
if exist "%filenameWithoutExtension%".eng.srt goto :EOF
if exist "%filenameWithoutExtension%"_eng.srt goto :EOF

echo No Initial English .SRT Files available. Attempting to CCExtract >> H:\Subproc.log
echo %DATE% %TIME% Extracting closed captioning for %filenameWithoutExtension% >> H:\Subproc.log

"C:\Program Files (x86)\CCExtractor\ccextractorwinfull.exe" --gui_mode_reports -autoprogram -out=srt -bom -latin1 %media_file_path%
echo CCExtractor Error Level: %ERRORLEVEL% >> H:\Subproc.log
echo CCExtract Attempt Completed >> H:\Subproc.log

REM IF NO SUBTITLES EXTARCTED THEN TRY FILEBOT OTHERWISE EXIT
if exist "%filenameWithoutExtension%".srt goto :EOF
if exist "%filenameWithoutExtension%".en.srt goto :EOF
if exist "%filenameWithoutExtension%".eng.srt goto :EOF
if exist "%filenameWithoutExtension%"_eng.srt goto :EOF

echo No CCExtracted Subtitles for: "%filenameWithoutExtension%" >> H:\Subproc.log

echo %DATE% %TIME% Start Filebot Processing >> H:\Subproc.log
echo FILEBOT Filename sent : %media_file_path% >> H:\Subproc.log
C:\Filebot\filebot.exe -get-subtitles -r "%media_file_path%" -non-strict --lang en --output srt --encoding utf-8 --log all --log-file H:\Subproc.log
echo FILEBOT Error Level: %ERRORLEVEL% >> H:\Subproc.log
Echo FILEBOT Completed >> H:\Subproc.log

echo THIS IS THE COMPLETE END OF POST SUBTITLE PROCESSING SCRIPTS >> H:\Subproc.log

I call this type of .bat file with another one that contains the directory I want to look at for new media. I am sure there is a better way. An example of the code in this first .bat file is:

REM THIS .BAT FILE IS NAMED EXTRACT.BAT
for /R "F:\TV-Primary\Cold Case Files" %%f in (*.mp4, *.mkv, *.mpg) do extract2.bat "%%f"
exit

Of course you can use whatever directory you want.

Remember this is just an idea of how I personally do it. Terrible code I know. But it gets the job done for me. The actual files I use are even more messy than this with a bunch of logging code to help me figure out what I am doing wrong. But hopefully maybe this will point far more talented people out there in the right direction.

Oh, and make sure in Filebot you have setup your OpenSubtitles account info (you can do that from the GUI). I think from the CLI it is "filebot -script fn:configure". You only have to set it once. Remember the free OpenSubtitles account only allows for 200 subtitle downloads a day.

2 Likes

Would love to see this built into Channels DVR. I'm about 70% def in my right ear and when we watch some shows, especially with heavy accents, I end up turning on CC. If it's something that I didn't record, I have to flip over to Plex to use their download feature which works probably 90% of the time.

And I use Linux as my server and am not a coder (I know, that's a contradiction in of itself). :wink:

2 Likes

To be honest, I have placed a handful of subtitle files with their associated video files and it only works some of the time.

Pretty disappointing. I guess I will stick with PLEX for my movie library.

1 Like

After you add the file you have to select Refresh Metadata on the movie via the web UI

Yes I did refresh the metadata. Like I said, it works only some of the time

1 Like

You have to make sure the srt file IS EXACTLY the same file name as the original video file. When you download srts they like to put then language designation in the file name. You have to rename it afterwards. I've been playing with it for a few days now and it works perfect.

@Absenm thanks so much for this. I've taken your batch file and taken pieces out of it to make my own. I've got it set up where I can just run it and feed it a file name and it will download the srt and then sync it. However I can't get the cc extractor to work at all. It says there is a stream but it never extracts it.

Also when I download and then sync the srt it works great. The only weird thing is that when I select the subtitles in channels, it shows as "track2" or just "( )" do you know of a way to make channels show something more readable?

Well the only advice I can give on CCextractor is that I too noticed an issue with more recent builds, so I now point my batch file to the ccextractorwinfull.exe file that comes with MCEBuddy. Its an older version of the CCextractor that continues to work for me. Of course simply installing an older version of CCextractor from thier Github https://github.com/CCExtractor/ccextractor/releases probably would work just as well too. I don't know how old the CCextractor from MCEBuddy happens to be so I can't tell you how far back you'd have to go. In any case, the newer updates don't seem to work well for me either.

On a related topic concerning CCextractor, I also noticed it sometimes leaves some zerobyte files. So in my automatic batch file I also run DelEmpty.exe on the folder once CCextractor has completed. Sometimes these are zerobyte .srt files that confuse things so it is best to remove them.

Oh and there is some CLI Settings information on their website that can prove useful

I've noticed this mentioned in the above reply that the subtitle HAS to be named the exact same name as the file.

This causes a few issues:

  1. My parents are not great English speakers and want to read subtitles in their native language. filename.lang.srt. There are many cases where someone would want more then a single language for subtitles.
  2. There are some shows/movies have forced subtitles(filename.lang.forced.srt) only for where the language is not in the native dialog.

In the current system you only have the ability to have a single subtitle alongside the file making subtitles extremely limited.