Open alexeynl opened 6 months ago
Я честно говоря без понятия что это за символы в субтитрах и как их устранить, в документации ваше не пишут как эти субтитры парсить, методом тыка удалось их извлечь.
Ламповый плеер увы я пофиксить не могу, это уже внутренности так сказать браузера, к которому я не имею доступ.
Я честно говоря без понятия что это за символы в субтитрах и как их устранить, в документации ваше не пишут как эти субтитры парсить, методом тыка удалось их извлечь.
Не понял про какие символы речь. Если вы про первый скриншот, то это кривое отображение надписей (их позиционирование). Это лишь одно из проявлений проблемы встроенного плеера Tizen. Проблема не только в этих "символах", а в отображении субтитров плеером Tizen в целом. Похоже он не умеет форматировать субтитры. Сравните как выглядят обычные субтитры (не надписи) на 1:23 первого демострационного видео и сравните как они должны выглядеть в форматированном виде: Должно быть так (задумано автором субтитров/раздачи): Tizen плеер отображает так:
в документации ваше не пишут как эти субтитры парсить, методом тыка удалось их извлечь.
А если подсмотреть реализацию у коллег из Jellyfin (https://github.com/jellyfin/jellyfin-tizen)?
Ламповый плеер увы я пофиксить не могу, это уже внутренности так сказать браузера, к которому я не имею доступ.
Вот это тоже не понял. Я могу понять, что Tizen плеер не в вашей власти, но плеер лампы вы же сами пишете.
А если подсмотреть реализацию у коллег из Jellyfin (https://github.com/jellyfin/jellyfin-tizen)?
Смотрел, но ничего путного не нашел, разве что есть часть кода, которая отвечает за загрузку шрифтов, но откуда эти шрифты тянутся и как к плееру подключаются я без понятия. Но судя по логики, как я понимаю, мне нужно загрузить все шрифты в телек и подключать из названия шрифта в субтитрах. Я так полагаю, но не уверен, так как абсолютно все шрифты подключить это тупо, наверно это делается как-то иначе.
но плеер лампы вы же сами пишете.
Нет, это плеер html5, я лишь визуально сверстал к нему интерфейс для управления, внутренности плеера мне недоступны.
Это видео в mkv контейнере. Субтитры идут отдельным потоком в формате ASS/SSA:
Я вытащил субтитры из контейнера.
[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).txt
И нашел эти непонятные символы, которые появляются на экране:
Это служебный текст, который Tizen плеер зачем то выводит в качестве текста субтитров. Очевидно, что встроенный плеер не умеет корректно выводить ASS/SSA субтитры. Хотя поддержка со стороны Samsung заявлена.
Пробовал на этом же телевизоре с флешки воспроизвести тот же самый контейнер, та же ерунда с субтитрами.
Что скажете?
Кстати поиск по ключевым словам html5 player ass subtitles выдает ссылки на обсуждение проблемы и готовые решения:
https://stackoverflow.com/questions/19627329/how-can-i-use-subtitles-with-video-in-html5-and-reveal-js https://github.com/SABRE-JS/SABRE.js https://github.com/libass/JavascriptSubtitlesOctopus https://github.com/weizhenye/ASS https://github.com/luxluth/ass-html5
Пока рылся по ссылкам выше наткнулся на такое интересное замечание:
Subtitles not shown in fullscreen when using with pure HTML5 video. Fullscreen working in any player with custom controls (see example with Video.js player). Why this happens?
Взято оно отсюда: https://libass.github.io/JavascriptSubtitlesOctopus/native.html
Может это и есть причина почему субтитры не отображаются во встроенном (html5) плеере Lamp'ы?
Взято оно отсюда: https://libass.github.io/JavascriptSubtitlesOctopus/native.html
В примерах показано, как вставить свои субтитры формата .ass, это не проблема когда они идут отдельным файлом, проблема когда они вшиты в видео. HTML5 никак не читает субтитры, такую возможность делают на уровне телевизора.
Очевидно, что встроенный плеер не умеет корректно выводить ASS/SSA субтитры. Хотя поддержка со стороны Samsung заявлена.
Возможно формат претерпел изменений, а в телевизорах не завезли обновления, вот и выводит непонятные символы, возможно как вариант, самому чистить эти символы начиная со знака {
Также, лампа умеет читать субтитры форматов vtt ,lrc, smi, ssa, ass, sub, srt, sbv, json
если они идут как отдельные файлы от видео.
В примерах показано, как вставить свои субтитры формата .ass, это не проблема когда они идут отдельным файлом, проблема когда они вшиты в видео.
Да именно так к сожалению. Внимательно изучал эти ссылки уже после того как скинул.
HTML5 никак не читает субтитры, такую возможность делают на уровне телевизора.
Уже давно бы смирился и согласился бы с вами, если бы не Jellyfin :) Попробую еще поизучать этот вопрос.
возможно как вариант, самому чистить эти символы начиная со знака {
Вы наверно до сих пор не поняли суть проблемы :). Проблема не в присутствии мусорных символов, а в том, что здесь мы видим
часть текста надписи, которая на самом деле должна располагаться на двери:
Надеюсь так нагляднее и понятнее... Удаление символов из текста ничего не даст. Оно не решает проблему с правильным позиционированием и форматированием текста.
Нашел вот такое решение для встроенных в mkv субтитров:
https://github.com/pawitp/mkv-player
Оно вполне себе рабочее в Chromium браузерах. Протестировал его в Edge, Yandex Browser и Chrome. Результат:
В Firefox правда не работает, но я не думаю, что в Tizen используется этот браузер, надо пробовать.
Нашел вот такое решение для встроенных в mkv субтитров:
Там используется экстрактор и FFmpeg, это требует наличия сервера, который будет извлекать субтитры. В лампе сервера увы нет, такой способ не подходит.
Удаление символов из текста ничего не даст. Оно не решает проблему с правильным позиционированием и форматированием текста.
Теперь я понял о чем речь, однако я не нашел в сети документации формата ass, как его парсить и что в нем ваше прописано. Но даже если я разберусь и сделаю парсер, то это не имеет смысла если субтитры будут вшиты))
Уже давно бы смирился и согласился бы с вами, если бы не Jellyfin :)
Я не знаю как он работает, но полагаю, что у него тоже есть экстрактор и свой личный парсер субтитров. Так как у него есть сервер, то экстрактор ему не проблема.
Там используется экстрактор и FFmpeg, это требует наличия сервера, который будет извлекать субтитры. В лампе сервера увы нет, такой способ не подходит.
Это явно не так работает. Сервер тут нужен только, чтобы хранить скрипты. На стороне сервера ничего не извлекается и не декодируется: Во первых, на демонстрационной странице скрипта явно сказано, что mkv файлы на сервер не передаются, декодирование выполняется локально: Во вторых, попробуйте самостоятельно кинуть на демонстрационную странице скрипта mkv файл. Вы заметите, что 200 мб файл начинает проигрываться мгновенно, что подтверждает, что файл на сервер не закачивается. А если не закачивается, значит и извлечение субтитров и другие операции происходят локально.
[2024-01-03 14:23:01.985 +03:00] [INF] [21] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:3 \"/config/data/data/attachments/0/0ef50d3f-fbd8-c165-83f4-e1e1a23a1323\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:01.999 +03:00] [INF] [21] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:4 \"/config/data/data/attachments/6/6787158b-5081-0b78-df32-ced0676ce527\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:02.002 +03:00] [INF] [24] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:6 \"/config/data/data/attachments/a/af006ccf-d5e3-b197-c71c-c36edb73c25e\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:02.003 +03:00] [INF] [55] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:7 \"/config/data/data/attachments/b/bbca7ed9-4a29-4426-b17e-6beafa368bcd\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:02.004 +03:00] [INF] [21] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:5 \"/config/data/data/attachments/6/6c67c5d2-f367-6819-a97e-183d09f27ecc\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:02.005 +03:00] [INF] [50] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:8 \"/config/data/data/attachments/5/5f12d9d9-fb83-6d75-9347-f41cc1fbac0b\" -i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -t 0 -f null null"
[2024-01-03 14:23:02.174 +03:00] [INF] [50] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/0/0ef50d3f-fbd8-c165-83f4-e1e1a23a1323" to "/config/data/data/attachments/0/0ef50d3f-fbd8-c165-83f4-e1e1a23a1323"
[2024-01-03 14:23:02.176 +03:00] [INF] [24] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/b/bbca7ed9-4a29-4426-b17e-6beafa368bcd" to "/config/data/data/attachments/b/bbca7ed9-4a29-4426-b17e-6beafa368bcd"
[2024-01-03 14:23:02.178 +03:00] [INF] [55] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/6/6c67c5d2-f367-6819-a97e-183d09f27ecc" to "/config/data/data/attachments/6/6c67c5d2-f367-6819-a97e-183d09f27ecc"
[2024-01-03 14:23:02.181 +03:00] [INF] [24] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/6/6787158b-5081-0b78-df32-ced0676ce527" to "/config/data/data/attachments/6/6787158b-5081-0b78-df32-ced0676ce527"
[2024-01-03 14:23:02.184 +03:00] [INF] [54] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/a/af006ccf-d5e3-b197-c71c-c36edb73c25e" to "/config/data/data/attachments/a/af006ccf-d5e3-b197-c71c-c36edb73c25e"
[2024-01-03 14:23:02.189 +03:00] [INF] [18] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction completed for "/config/data/data/attachments/5/5f12d9d9-fb83-6d75-9347-f41cc1fbac0b" to "/config/data/data/attachments/5/5f12d9d9-fb83-6d75-9347-f41cc1fbac0b"
[2024-01-03 14:16:12.127 +03:00] [INF] [25] MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-i file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\" -copyts -map 0:2 -an -vn -c:s copy \"/config/data/data/subtitles/4/495c43c9-ce0e-4ff1-67df-c22b000b285a.ass\""
[2024-01-03 14:16:12.316 +03:00] [INF] [31] MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder: ffmpeg subtitle extraction completed for "file:\"/data/qbittorrent/downloads/anime/Soredemo Ayumu wa Yosetekuru/[SubsPlease] Soredemo Ayumu wa Yosetekuru - 01 (1080p).mkv\"" to "/config/data/data/subtitles/4/495c43c9-ce0e-4ff1-67df-c22b000b285a.ass"
Что происходит на стороне клиента Jellyfin на Tizen я не знаю как посмотреть. Зато при проигрывании этого видео в веб интерфейсе Jellyfin с помощью браузера на ПК видно, что при активации субтитров в плеере браузер подгружает с сервера Jellyfin небезызвестный уже нам скрипт для рендеринга субтитров subtitle-octopus, а тот в свою очередь - файл субтитров Stream.ass:
Подытоживая видится, что у Jellyfin выполнена следующая реализация для ASS/SSA субтитров:
Но судя по логики, как я понимаю, мне нужно загрузить все шрифты в телек и подключать из названия шрифта в субтитрах. Я так полагаю, но не уверен, так как абсолютно все шрифты подключить это тупо, наверно это делается как-то иначе.
Для корректного рендеринга ASS субтитров нужно загрузить те шрифты, которые используются в файле (скрипте) субтитров, а не все существующие в мире - это не реально.
Если субтитры внедрены в контейнер (идут отдельной ASS дорожкой), то авторы субтитров помещают сами шрифты, используемые в субтитрах, в mkv контейнер (внутри так называемых attachments). Подробнее можно почитать здесь: https://www.matroska.org/technical/attachments.html.
Если субтитры идут в раздаче отдельным файлом, то авторы субтитров, как правило размещают все необходимые файлы для рендеринга в отдельную директорию внутри раздачи. Пример:
Также шрифты могут находится внутри самого ASS/SSA скрипта. На том же сайте есть раздел посвященный различным форматам субтитров и дается ссылка на спецификацию формата ASS/SSA: https://www.matroska.org/technical/subtitles.html. Но такого на практике я не видел.
Но даже если я разберусь и сделаю парсер,
у него ... свой личный парсер субтитров.
Не надо изобретать велосипед и делать "свой" парсер. Во первых, это не такая простая задача, поймете это почитав спецификацию на формат ASS, ссылку на которую я привел выше. Этот только один из много численных форматов субтитров. Во вторых никакую из перечисленных мной проблем вы не решите. Нужно использовать готовые библиотеки, для ASS/SSA тот же JavascriptSubtitlesOctopus, который походу уже стандарт де факто. Jellyfin, как мы видим, тоже использует данную библиотеку.
Я проверил на своем ТВ Samsung и к моему удивлению такие субтитры действительно воспроизводятся. Причем как Tizen плеером, так и встроенным в Lamp'у. К сожалению, как и в случае с субтитрами в mkv контейнерах субтитры в формате ASS/SSA отображаются также некорректно (без форматирования и позиционирования).
Во первых, как удалось это реализовать? Torrserver точно этого не умеет я даже писал по этому поводу разработчику, чтобы он добавил возможность включать такие субтитры в поток, но был послан. Во вторых, у меня почему-то это не работает на Android смартфоне. Ни VLC ни MX Player субтитры не видит. Что может быть не так?
Буду честен, я в душе не е..., как эти проекты запускать в формате script.js без ноды и всего прочего г.... 😄 , мне нужно готовый файл subtitles.js, mkv-extractor.js, ffmpeg.js
Я пытался понять, как сборки на ноде привести в один файл, но так и не понял.
Во первых, как удалось это реализовать? Torrserver точно этого не умеет я даже писал по этому поводу разработчику, чтобы он добавил возможность включать такие субтитры в поток, но был послан. Во вторых, у меня почему-то это не работает на Android смартфоне. Ни VLC ни MX Player субтитры не видит. Что может быть не так?
Все просто оказалось, лампа смотрит есть ли файл субтитры с таким же название файла как видео, если есть, то подгружает его и парсит встроенным парсером субтитров в лампе.
Прежде чем дальше двигаться к пониманию возможного решения, давайте сначала разложим в голове вышесказанное по полочкам и подведем предварительные итоги:
Все просто оказалось, лампа смотрит есть ли файл субтитры с таким же название файла как видео, если есть, то подгружает его и парсит встроенным парсером субтитров в лампе.
Буду честен, я в душе не е..., как эти проекты запускать в формате script.js без ноды и всего прочего г.... 😄 , мне нужно готовый файл subtitles.js, mkv-extractor.js, ffmpeg.js
Я пытался понять, как сборки на ноде привести в один файл, но так и не понял.
Если вопрос в том как внедрить в существующий проект mkv-player, то насколько я понял он на react'е. Может это оно: https://react.dev/learn/add-react-to-an-existing-project
3. Что значит встроенный парсер субтитров?
Вот он писал его не я, это кто-то сделал пулл и я его принял. Теперь я вижу что там есть Style и еще всякое парсит, но отдает только диалоги.
2. А как лампа смотрит внутрь раздачи и скачивает оттуда файл с внешними субтитрами? У нее есть свой торрент клиент?
Когда раздачу открываете, то лампа показывает наличие видеофайлов в раздаче, в лампе стоит фильтр, который выводит только видеофайлы, а все остальное скрыто. Так вот, когда запускаете видео, лампа параллельно смотрит в раздачи файл субтитров и загружает его, благо торсервер может любой файл с раздачи отдать для загрузки. Далее после загрузки файла с субтитрами лампа его парсит, определяет метки времени диалогов и поверх видео выводит текст.
8. Tizen плеер выводит только текстовую часть субтитров ASS/SSA субтитров.
В документации сказано:
duration : How long the subtitle data should show(unsigned long value in milliseonds)
subtitles : DOMString. The actual subtitle data. It can be of type text of type image.
type : DOMString of unsigned int value. A value of '0' means subtitle data is of type text and '1' means subtitle data is of type Image
attributes : array of AVPlaySubtitleAttribute "attr_type": "AttributeType:value"; "start_pos": start position as long; "stop_pos": stop position as long
Это все что есть, ни примеров, ни детального обзора этих параметров. Возможно тайзен присылает и другие параметры, это надо методом тыка смотреть.
В любом случаи, хорошо бы получить возможность делать экстрактором выдергивать субтитры с видео, тогда на всех плеерах и телеках будут работать сабы одинаково.
В любом случаи, хорошо бы получить возможность делать экстрактором выдергивать субтитры с видео, тогда на всех плеерах и телеках будут работать сабы одинаково.
Во первых, проблема с правильным отображением касается не только субтитров внутри mkv контейнеров. Внешние ASS/SSA субтитры, которые в раздаче идут отдельным файлом, сейчас на телевизоре Tizen тоже выводятся без форматирования хоть через Tizen плеер, хоть встроенный плеер Лампы. Решать проблему извлечения субтитров из контейнеров есть смысл только после того, как будет найдено решение по их корректному отображению.
Во вторых, какую задачу мы решаем: одинакового отображения субтитров на всех устройства или все таки их правильного отображения :)? Я предлагаю все таки не распыляться, попробовать в рамках данного issue решить конкретную проблему с отображение ASS/SSA субтитров на телевизорах с Tizen, а потом уже искать какое-то универсальное решение или пути по его универсификации. Иначе мы с такими планами с места не сдвинемся...
Вот он писал его не я, это кто-то сделал пулл и я его принял. Теперь я вижу что там есть Style и еще всякое парсит, но отдает только диалоги.
Почитал исходники. Еще бы почитать ту часть кода, где эти функции вызываются. Пока что похоже, что они служат для конвертирования всех популярных форматов субтитров в простой текстовый с полной потерей форматирования (стилей, шрифтов, позиционирования). Если это так:
В документации сказано:
Все еще пытаетесь воскресить мертвого (Tizen плеер)?... Попытка не пытка, но и горбатого могила исправит :)
subtitles : DOMString. The actual subtitle data. It can be of type text of type image.
type : DOMString of unsigned int value. A value of '0' means subtitle data is of type text and '1' means subtitle data is of type Image
Ну то есть в Tizen плеер можно передавать данные субтитров как виде текста так и в виде картинки. Тогда если мы хотим правильно отобразить форматированные субтитры (ASS/SSA формате) в Tizen плеере , вероятно их нужно передавать в виде картинки, т.е. предварительно сконвертировав ASS/SSA в картинку. Но без описания или примеров, как выполнить такую конвертацию вряд ли что-то тут получится.
Честно я бы не тратил время на реверс инжениринг Tizen плеера. Кажется, что уже реализованное у Jellyfin решение по доработке системного HTML5 плеера, вполне можно взять за основу и для Lamp'ы. Наиболее перспективный план реализации видится такой:
Забыл написать в предыдущем сообщении еще кое-что по поводу плеера Tizen. В документации к AVPlay API Samsung нашел такую функцию
setExternalSubtitlePath Sets the local path for the external subtitle file. Only absolute local paths are supported. If the subtitle file is stored remotely, you must first download the file to local storage, and pass the absolute local path.
void setExternalSubtitlePath(DOMString filePath);
Возможно, если передать в Tizen плеер файл субтитров из раздаче в исходном ASS/SSA формате, то они будут отображаться как положено. Хотя шансов на это чуть более чем 0, потому что
По поводу setExternalSubtitlePath похоже отбой. Нашел в документации к MSX пояснение, что функция понимает только текстовый формат субтитров (srt), что в принципе логично:
Note: Subtitle files should be specified in the SubRip Text (SRT) format.
- Не понятно зачем это сделано. Возможно это костыль
Так и есть, раньше было только vtt и str, но кто-то решил добавить еще другие форматы, чтобы хоть текст отображало.
2. Добавить в него библиотеки по рендерингу ASS/SSA субтитров.
Ну это понятное дело, но как я говорил, я понятие не имею, как с проекта получить готовый файл для подключения к лампе.
Опа, открыл демо версию и в исходниках нашел файл https://libass.github.io/JavascriptSubtitlesOctopus/assets/js/subtitles-octopus.js
И похоже я еще нашел экстрактор субтитров с mkv, https://github.com/mathiasvr/matroska-subtitles/blob/master/examples/web/index.html
Попробую потом поиграться.
Глупый вопрос, но где мне найти файл с субтитрами .ssa или .ass? Понимаю что в раздачах, но не везде же они есть.
Файл для теста нашел. Но чтобы извлечь субтитры, нужно полностью весь файл прочитать, что есть большая проблема.
Файл для теста нашел. Но чтобы извлечь субтитры, нужно полностью весь файл прочитать, что есть большая проблема.
Я так понимаю речь об ASS/SSA субтитрах в составе контейнера mkv. Сталкивался пару раз с упоминанием об этом. Но! Как же тогда VLC или MX Player читают такие субтитры в Лампе на Android'e? Я пробовал - субтитры в таких раздачах рендерятся данными плеерами с форматированием.
Получилось зарендерить ASS/SSA хотя бы в раздачах где они идут внешними файлами?
Я так понимаю речь об ASS/SSA субтитрах в составе контейнера mkv. Сталкивался пару раз с упоминанием об этом. Но! Как же тогда VLC или MX Player читают такие субтитры в Лампе на Android'e? Я пробовал - субтитры в таких раздачах рендерятся данными плеерами с форматированием.
Они считываются по мере воспроизведения, так и скрипт работает, считывает по мере чтения файла.
Получилось зарендерить ASS/SSA хотя бы в раздачах где они идут внешними файлами?
Я пока проверял чтение сабов с файла.
Они считываются по мере воспроизведения, так и скрипт работает, считывает по мере чтения файла.
Тогда в чем проблема? Скрипт не может передавать в рендерер субтитров считанные порции субтитров?
Тогда в чем проблема?
В том, что придется ждать когда загрузится файл, и параллельно плеер тоже будет грузить файл, два потока получается. Все это подходит, ждать когда загрузится весь файл с 20-50 гигами - это жесть)) Плееры они считывают файл во время воспроизведения, а так как в лампе нет своего плеера, то я не могу подключится к плеере и так-же считывать как они.
В том, что придется ждать когда загрузится файл, и параллельно плеер тоже будет грузить файл, два потока получается. Все это подходит, ждать когда загрузится весь файл с 20-50 гигами - это жесть)) Плееры они считывают файл во время воспроизведения, а так как в лампе нет своего плеера, то я не могу подключится к плеере и так-же считывать как они.
Зачем качать файл полностью (я так понимаю речь об mkv контейнере), да еще и два потока? Скачали порцию mkv-> извлекли из нее субтитры -> передали на вход рендерера -> рендерер наложи на видео поток. Скорее всего так это и работает в VLC и MX Player.
Скорее всего это также работает в mkv-player. Я же скидывал ссылку на него. Там все происходит мгновенно. Даже с учетом того, что файл обрабатывается локально, если бы это работало как вы описали, не было бы такой скорости.
Скорее всего это также работает в mkv-player.
Нет, там работает через файл, браузер копирует файл и создает виртуальную ссылку на него, а плеер считывает как blob: другими словами из память напрямую.
Зачем качать файл полностью (я так понимаю речь об mkv контейнере), да еще и два потока?
Ну скрипт качает его полностью, я в считывание и создание стримов не алё)) Поэтому если я ему скормлю видео с раздачи, он начнет качать полностью, при этом выбит ошибку, с раздачей чет не работает он))
Рендерить внешние субтитры тоже не получается?
Рендерить внешние субтитры тоже не получается?
Ну с этим вроде не должно быть проблем, позже гляну.
Телевизор Samsung Q9FNA (2018 г.). Обновления последние установлены. Версия Лампы 2.0.4 Проблема с субтитрами и звуковой дорожкой, если проигрывать торрент с несколькими звуковыми дорожками:
1.1. Субтитры отображаются, но без форматирования. Т.е. отсутствуют стили (шрифты и цвет), текст надписей не спозиционирован. Вот как выглядят в этом случае надписи: а вот как они выглядят в плеере Jellyfin (читай далее): 1.2. Звуковая дорожка в этом случае переключается корректно. Видеодемонстрация:
https://github.com/yumata/lampa/assets/82229750/faed7546-1d10-410f-a4c2-2a6d78554dfd
https://github.com/yumata/lampa/assets/82229750/24ed6783-6883-4b81-aa12-8b0efffc0b1f
Предвосхищая отсылки к тому, что проблема на стороне телевизора (читал тикеты с аналогичными проблемами):
Пожалуйста, пофиксите встроенный плеер лампы на Samsung Tizen, т.к.: