берете магнет ссылку, отправляете на бэк своего сайта, бэк в свою очередь - скачивает ваш торрент. При этом бэк должен проставить приоритеты скачивания + скомпоновать мусор, который вы фактически скачиваете, иногда аудио дорожки идут отдельно, иногда видео файлов множество, например это сериал. При скачке очень важно приоритезировать загрузку сначала файла. Когда скачалось несколько мб - через ffprobe проверяете какоф в видео битрейт и GOP. Далее на основании этих данных - разбиваете фильм на временные интервалы и через ffpmeg перекодируете в hls. Как только этот процесс начался - можно отправлять через websocket (или аяксом например) полученный плейлист. Браузер начнет проигрывание чанков. При этом вам потребуется догружать ваш плейлист по мере кодирования новых чанков.
В общем как-то так. Можно вместо hls заюзать rtmp, но он работает во флеше, который скоро умрет. Можете посмотреть в сторону webrtc, можно так же поковырять WebM, но аудиодорожку вы выбрать не сможете в браузере, так же сабы отдельно и в формате WebVTT