Movie Player That Can Download Subtitles

0 views
Skip to first unread message

Tiana Dubree

unread,
Aug 5, 2024, 2:12:04 AM8/5/24
to atfrothaskit
currentlyMPV shows subtitles which are hard coded in a video file or srt file which is exactly named as the video file, for eg it'll pick up the subtitle file if the name of video file is video.mkv and name of the subtitle file is video.srt , but it won't pick it up if it's different.

To provide an actual mpv only answer, you can specify the mechanism by which subtitle tracks are loaded in your mpv.conf file located at .config/mpv.conf as explained here in the mpv manual. In your case you would add sub-auto=all.


SMPlayer is a frontend for various media player programs, defaulting in modern versions to mpv. If you don't mind using it (since you'd be using mpv with some niceties), it gives this option for selecting subtitles:


After passing the absolute path of the subtitle file in --sub-file flag, mpv pick up the subtitle file located in my local pc whose having different name from video file name and streaming online video with it.


DVD and Blu Ray discs use an image based form of captions. On DVDs they're called VOBSUB, and Blu Ray uses PGS. Neither type of caption is supported by Roku devices. Only text based captions are supported. These text based captions be be embedded within the container, such as EIA-608 captions from OTA broadcasts, or external text files, such as the SRT format. There are programs that are supposed to be able to extract the image based caption and save them to an SRT file, but I've never successfully used them.


The only files with embedded captions that display the captions successfully on my Roku devices are OTA recordings that I've saved in the TS format. These files could also be saved in the MKV container, but my video editing software strips captions out when saving to MKV, so I stick with the TS container. But several different containers are capable of keeping text based captions within them.


@Kryten79 Roku does support subtitles in MKV files. But only if they're text based. Image based captions (which are used on almost all DVD and Blu Ray discs) are not supported. I don't know the complexities of decoding image based captions, but it might not be possible with the hardware Roku uses. I simply don't know the answer to that.


MKV is a container, and can hold almost any video and audio codec and caption style. Same as MP4, AVI, TS/M2TS, and others. Just because the file extension is a certain three/four letters, you can't determine what is within the container.


Yes, thanks for the ridiculously fast reply. I rip my blu-ray dvds to the NAS as MKV with embedded subs. I bought a new ultra 2022 a few days ago and love the ATMOS sound and 4K video. I was just surprised I can't get the subtitles to display. The Roku Ultra should have enough horsepower, but I do realize MKV is a container and many codecs can be used.


Yes, VLC can play virtually anything on any platform. But they have specifically said they would not be writing a version for Roku, as the RokuOS is not compatible with the programming language they use.


It's possible that it might work on FireTV, but the FireOS is not standard Android, so it's possible it won't work. It is available for iOS and Android TV, but doesn't appear to work on Apple TV. I know it works on my Nvidia Shield players, which runs a version of Android TV. Amazon's FireOS overview does say that most Android apps will run, so perhaps it's possible.


Back to the Roku, you have a few options to get captions from your ripped media. First and easiest is to install Plex server on a computer on your network. Plex has a great user interface, and is capable of decoding image based captions and burning them into the video stream. But that requires a computer with a fair amount of power to transcode the video, especially if you're decoding 4K ripped media. Another option is a DLNA server such as Serviio. It too can decode the captions and b u r n them into the video stream, but it has the same computer power needs. Not mega powerful, as my primary media PC is "only" an i5-6400 and 8 GB of ram. But not anything really lightweight.


The only option that would not require burning the captions is acquiring a text file with the captions, which is usually in a format called SRT. You can download SRT files from a number of online sites, most all of which are free. Here's a list of some available sites. You can also use a program that can open your video file, decode the captions, and save them to an SRT file. The problem with both of these methods is the time it takes to find and download the correct SRT file for your media. And sometimes there simply isn't a matching SRT file in any of the repositories. And opening each media file to extract the captions would also be time consuming.


I have not figured out the correct way to get subtitles to display every time. I use Handbrake to convert the video files to mkv and have separate srt files in the same location. If I remember correctly, I can add srt files into Handbrake creating a separate track that can work but I can't remember.


@Crevice9 Make sure the SRT file is named exactly the same as the video file, right down to any punctuation and spaces. For an example, I have one that I just ripped that didn't have a captions track so I downloaded an SRT file but it had a different name and wouldn't work on any player, Roku or otherwise. I renamed the file and it worked immediately.


Currently I'm using native HTML5 methods for TextTracks (such as using .oncuechange) but that is awkward, and does not seem to work properly when there are multiple tracks. Since it seems Shaka player has its own parsing for tracks, I would like to switch to use its methods instead.


However I can't seem to see any documentation (something like -player-demo.appspot.com/docs/api/tutorial-basic-usage.html) for managing elements. Is there any? Does anyone have any examples/codepen etc?


I have Captions Mode On Always and Language is English. Note that the SRT file does not have "en" in the the name. I read that if there is only 1 SRT file then it reads it and you don't need to have the language in the name.


I have had issues at times with SRT files if the name of the video file and the SRT file differ in any way. There can't be an extra space or anything else, must be a perfect match. It's supposed to work if you add an EN in there for the language, but recently I had one that wouldn't work until I removed the extra text to make them identical.


I have same problem - mp4 and srt files have exact same name except for the extension. Says captions not available on Roku screen. Same files work fine when playing on VLC media on laptop. Roku just can't seem to see them.


My background is 35+ years writing programs for main frame computers, so I have seen it all when it comes to something suddenly not working. Like others who have this problem, the subtitles were working fine the last time I needed them. Let me warn you....the solution is not something you would expect.


I tested it on two movies. Both were >MP4 format. The movies are on a USB drive. The .srt files are saved in the same folder as the video, and have the same name as the video. And yes, I went to Settings > Accessibility > Captions mode on my Roku TV and verified that the "Captions mode" was set to "On always."


You can tell you have a problem by starting the movie, pressing the asterisk (*) button and selecting "Accessibility". Here you can verify that the "Captions mode" is set to "On always." However, if you look at "Captioning track" directly beneath it, it will show "not available." This indicates the .srt file is not being recognized.


Both movies were sequels. As a result, both names had the number "2" in the title. Someone before me (...only one person) suggested removing all numbers from the name. Stupid I know, but it worked. I tested two (...no pun intended) different ways.


For the first movie, I simply removed the number "2" from the movie and .srt names. For the other, I changed the number "2" to the word "Two". In each case the movies played with subtitles. To see what this changed, press the asterisk (*) button and select "Accessibility". Again you will see that "Captions mode" is still set to "On always." However, if you look at "Captioning track" directly beneath it, it will now show "Single track." This indicates the .srt file is recognized.


I tried unchecking 'enable sub-pictures' in the preferences menu, but this removed the subtitle user interface entirely, making it difficult to get subtitles on the occasions I really do want them (foreign films).


In the simple settings menu, go to "Subtitles/OSD" and under "Preferred Subtitle Language," enter none. Subtitles will no longer be displayed unless you ask for them! This works in VLC 2.2.1 and 2.2.4 (windows 7 and 10 respectively) for sure, and probably others too, but I have not tested it beyond those two.


Just wanted to say that you can do this using the "simple" options as well: it's tools / preferences / and then "subtitles/OSD" which is the 4th big button on the left of the preferences menu, right above "input/codecs."


Also, after doing this, then switching to "show settings: all" in the lower left, the "subtitles track ID" that Colonel Panic suggests, is set to -1, not 0, which could be why some folks are having trouble with it. You can manually set this to -1, to achieve the same result. Cheerio!


VLC has a number of codecs that many other players do not. Many players (Quicktime, Windows Media Player, etc) have a number of file types that they cannot play. VLC has gathered a huge number of codecs (compressor-decompressor software) and can play a lot of different file types. They can also pick up on subtitles where other players cannot.

3a8082e126
Reply all
Reply to author
Forward
0 new messages