YouROK/TorrServer

Нужна поддержка встраивания субтитров в видео или полноценный транскодинг

alexeynl opened this issue · 4 comments

Телевизоры не на Android (Samsung, LG) имеют ограниченный набор поддерживаемых форматов и видеокодеков. Обновить медиаплеер на них нельзя, такова политика производителей. В результате, например, при проигрывании видео с торрентов связкой Lampa + Torrserver с неподдерживаемым телевизором форматом субтитров последние отображаются на таких телевизорах криво (отсутствует форматирование и стили).

Было бы здорово для таких случаев использовать транскодинг, как для встраивания субтитров в видео, так и перевод его в понятный для телевизора формат. При этом варианты реализации вижу такие:

  1. Функционал транскодинга встроен в Torrserver,
  2. Транскодинг выполняется сторонними ПО. В этом случае Torrserver передает поток на стороннее решение, получает перекодированный поток и передает его на телевизор.

В свое время столкнувшись с проблемой на своем телевизоре пришлось из-за этого отказаться от использования Torrserver в пользу связки torrent клиент + медиасервер с функцией траскодинга. Спустя несколько лет решил актуализировать текущее положение дел, и оказалось, что ситуация в этом плане на стороне Torrserver не изменилась.

Транскодинг это сильно усложнит функционал, мысли есть чтобы сделать, но это будет не в первую очередь, а про встраиваюние в поток субтитров еще сложнее
Можно попробовать решить проблему при помощи этой программы
https://github.com/bluenviron/mediamtx

Можно попробовать решить проблему при помощи этой программы
https://github.com/bluenviron/mediamtx

Можете пояснить как эта программа может помочь в решении описанной мной проблем?

Клиенты Torrserver, такие как Lampa и Forkplayer обращаются и взаимодействуют с Torrserver для получения http потока и его передачи на видеоплеер на устройстве. Они ничего не знают про mediamtx или другие. Т.е. поток в любом случае должен передаваться со стороны Torrserver. Т.е. для встраивания транскодирования потока должна быть реализована следующая схема: torrserver клиент (lampa, forkplayer) -> torrserver -> транскодер (или другое стороннее решение) -> torrserver (http медиапоток) -> torrserver клиент (lampa, forkplayer) -> медиаплеер на устройстве. Другими словами на стороне torrserver должна быть реализовано не только формирование медиапотока, но и его получение со стороны транскодера и дальнейшая передача на клиент.

And can be read from the server with:
А с него хоть по RTSP хоть по HLS забирайте. Все необходимые настройки на главной странице опубликованы

Все необходимые настройки на главной странице опубликованы

Интересуют не конкретные настройки, а как это в принципе может быть реализовано.

А с него хоть по RTSP хоть по HLS забирайте.

С него это с кого: c torrserver или mediamtx? Чем забирать?
Допустим torrserver сформировал HLS по запросу torrserver клиента (TorServe, Lampa, Forkplayer), mediamtx считал данный HLS поток и опубликовал его у себя. Как torrserver клиент узнает о существовании этого потока (его адрес на mediamtx сервере), если он ожидает его в ответе от самого torrserver?
Предлагаете писать под это специальный torrserver клиент?