Jellyfin Forum
How to load ttml subtitles? - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: How to load ttml subtitles? (/t-how-to-load-ttml-subtitles)



How to load ttml subtitles? - hhh333 - 2023-10-04

Hi,
I downloaded mp4 file with separate ttml type subtitle file. When trying to manually load it I don't get any reaction (no error or load) when I select the file and click OK. When searching for the file I need to change to "All Files" from "All supported files".
Is there any way how to load the file or do I have to convert it to srt or other format?
Thanks.


RE: How to load ttml subtitles? - TheDreadPirate - 2023-10-04

Jellyfin's documentation doesn't mention ttml subtitles, so I am assuming no.

https://jellyfin.org/docs/general/clients/codec-support/#wikipedias-subtitle-codec-tables


RE: How to load ttml subtitles? - bitmap - 2023-10-04

You can use ffmpeg to convert ttml to srt.

Code:
ffmpeg -i file.mp4 -c:s srt file.en.srt

I assume they're embedded. Since Jellyfin likes external files better anyways, this is the way to do it. Replace "en" with the two-letter language code for whatever language you're pulling out. If it's not the first ttml stream, you'll have to map it, which is a different thing altogether.


RE: How to load ttml subtitles? - TheDreadPirate - 2023-10-04

(2023-10-04, 06:53 PM)hhh333 Wrote: I downloaded mp4 file with ttml type subtitle file

I'm assuming it is an external file.


RE: How to load ttml subtitles? - bitmap - 2023-10-04

(2023-10-04, 07:21 PM)TheDreadPirate Wrote:
(2023-10-04, 06:53 PM)hhh333 Wrote: I downloaded mp4 file with ttml type subtitle file

I'm assuming it is an external file.

My bad.

Code:
ffmpeg -i file.ttml -c srt file.en.srt

Should work just the same.


RE: How to load ttml subtitles? - TheDreadPirate - 2023-10-04

I searched through the code and there APPEARS to be support for ttml.

Make sure your ttml file conforms with the file name documentation for external subs.

https://jellyfin.org/docs/general/server/media/external-files


RE: How to load ttml subtitles? - hhh333 - 2023-10-05

(2023-10-04, 07:39 PM)bitmap Wrote:
(2023-10-04, 07:21 PM)TheDreadPirate Wrote:
(2023-10-04, 06:53 PM)hhh333 Wrote: I downloaded mp4 file with ttml type subtitle file

I'm assuming it is an external file.

My bad.

Code:
ffmpeg -i file.ttml -c srt file.en.srt

Should work just the same.

Thanks. I will try this.
I also updated the post to make it clear that it's a separate file Smiling-face


RE: How to load ttml subtitles? - hhh333 - 2023-10-05

(2023-10-04, 07:58 PM)TheDreadPirate Wrote: I searched through the code and there APPEARS to be support for ttml.

Make sure your ttml file conforms with the file name documentation for external subs.

https://jellyfin.org/docs/general/server/media/external-files


As mentioned, I tried to add them manually so I didn't even hope that they will load on their own based on the name.

Feel free to try it. I used yt-dlp to download both video and subtitles file.


RE: How to load ttml subtitles? - hhh333 - 2023-10-05

(2023-10-04, 07:39 PM)bitmap Wrote:
(2023-10-04, 07:21 PM)TheDreadPirate Wrote:
(2023-10-04, 06:53 PM)hhh333 Wrote: I downloaded mp4 file with ttml type subtitle file

I'm assuming it is an external file.

My bad.

Code:
ffmpeg -i file.ttml -c srt file.en.srt

Should work just the same.

I get
Code:
Invalid data found when processing input
when trying the command. I also tried the same command with different ttml file and I got the same issue. I run it on RPi and am on the latest version. Also I couldn't find this in ffmpeg Documentation. I tried to list subs with ytdlp but it offers only the one file. I also tried python script with webvtt and pycaption but none worked so far.


RE: How to load ttml subtitles? - hhh333 - 2023-10-05

In the end the https://pypi.org/project/ttconv/ library worked with the example command
Code:
python src/main/python/ttconv/tt.py convert -i src/test/resources/scc/mix-rows-roll-up.scc -o build/mix-rows-roll-up.ttml

Of course changing input to ttml and output to srt  Upside-down-face