Смотреть вместе и синхронно — каждый со своей копии

Код из шести символов ставит два плеера или больше на одну позицию, одни и те же паузы и одну серию. Между вами передаётся только шкала времени — фильм на каждом экране идёт из собственного файла, ссылки или торрента этого человека, в полном качестве.

Обновлено

При демонстрации экрана все получают перекодированную копию картинки одного человека — в том качестве, какое позволит созвон. Frame Player устроен иначе: каждый плеер в комнате воспроизводит фильм сам, а общей у комнаты остаётся шкала времени — где сейчас воспроизведение, стоит ли пауза, с какой скоростью идёт видео и какой файл включён. На каждом экране фильм идёт в качестве своей копии, а комната держит их все на одном кадре.

Как создать комнату

  1. Откройте Смотреть вместе… в меню плеера и выберите Создать комнату.
  2. Отправьте код тому, кто присоединяется, или скопируйте ссылку. Ссылка открывает страницу с кнопкой, которая запускает Frame Player сразу в комнате, а тем, у кого его ещё нет, подсказывает, где его взять.
  3. Собеседник вводит код в том же окне или переходит по ссылке. Торрент или ссылку, которые смотрите вы, его плеер откроет сам; файл с вашего диска он откроет из своей копии. В любом случае вы окажетесь на одном кадре.

Два компьютера на одной шкале времени: перемотка на любом ставит оба на один кадр.

С этого момента пауза, перемотка, смена скорости или переход к следующей серии на любом компьютере происходит на всех. Ведущий может сделать так, чтобы комната слушалась только его, — с помощью Управляет только ведущий.

Что общее, а что остаётся вашим

Позиция, пауза, скорость и играющий файл принадлежат комнате. Громкость, окно и вид субтитров остаются вашими. Две вещи — посередине, и для комнаты их решает ведущий:

  • Аудиодорожка по умолчанию общая. Комната смотрит один фильм, и слышать не ту же озвучку, что сосед, — странный способ смотреть вместе.
  • Субтитры по умолчанию не общие. Одному они нужны, другому нет; общий выбор означал бы выключить их тому, кто без них не поймёт фильм.

Дорожки передаются описанием — язык, название, кодек, — а не номером, потому что русский дубляж, который в одной копии вторая дорожка, в другой нередко третья.

Что нужно каждому

Насколько просто присоединиться, зависит от того, откуда фильм.

  • Торрент — лучший случай. Комната делится самим торрентом, и плеер каждого гостя подключается к нему сам — никто не вставляет magnet-ссылку — и берёт файл из той же раздачи. Докачивать заранее не нужно: комната может смотреть торрент, который ещё качается, каждый в полном качестве релиза, и каждый плеер качает ту часть, которую комната вот-вот увидит. Гость, присоединившийся посреди сезона, начинает смотреть через считаные мгновения, а переход к следующей серии переводит всех.
  • Ссылка работает, если её может открыть плеер каждого; страницы, которым нужен yt-dlp, разбираются на каждом компьютере отдельно.
  • Файл с вашего диска переслать нельзя. Каждый открывает свою копию. Плеер сравнивает отпечаток файла и его длительность и говорит, какой из трёх случаев перед ним: тот же релиз, другой рип того же фильма (длительность та же, файл другой — близко, но несколько кадров могут отличаться) или другой файл. Ни один из них не отклоняется: гостя, который намеренно смотрит другую версию, предупреждают, а не останавливают.

Как сохраняется синхронность

Держать два плеера вместе — это прежде всего умение не сделать хуже.

Небольшие расхождения исправляются скоростью, а не прыжком. Прыжок ради трети секунды означает декодирование от предыдущего ключевого кадра, а это может остановить 4K-файл на две секунды и оставить его дальше от цели, чем он был. Десять секунд на скорости 103 % исправляют ту же разницу так, что ничего не видно и не слышно: mpv сохраняет высоту звука. Перемоткой исправляется только расхождение больше двух секунд.

Комната ждёт того, у кого идёт буферизация. Все встают на паузу в одной точке, и воспроизведение продолжается само, когда он готов. Паузу, которую кто-то поставил сам, комната так никогда не снимает, а плеер, который замолчал, не может держать комнату дольше 45 секунд.

По сравнению с привычными способами

Что сравниваемFrame PlayerSyncplayTelepartyДемонстрация экрана
Что можно смотретьСвои файлы, ссылки и торрентыСвои файлыФильмы на Netflix, Disney+ и других сервисахЧто угодно на одном экране
Что нужно каждомуFrame Player и способ воспроизвести фильмSyncplay, поддерживаемый плеер и своя копияРасширение браузера и своя подпискаПриложение для созвонов
КартинкаСвоя копия у каждого, полное качествоСвоя копия у каждогоПоток сервисаПерекодированный поток одного экрана
ТоррентВсе подключаются к нему автоматически — никто не вставляет magnetКаждый сам находит и скачивает—Нужен только тому, кто показывает
Ещё качаетсяСмотреть вместе, пока качается, каждый в полном качествеКаждый сначала скачивает—Экран показывающего, перекодированный

Syncplay заслуживает отдельного слова: он годами делает это для mpv, VLC, MPC-HC и IINA и делает очень хорошо. Разница в том, что во Frame Player это встроено, и для торрента или ссылки он сам открывает фильм каждому гостю, а не ждёт, что он у всех уже есть.

Что хранит сервер комнат

Сервер комнат существует, чтобы передавать шкалу времени между плеерами. Он знает код комнаты, имена, которые люди решили показывать, и что смотрит комната; файл из папки, отмеченной как приватная, передаётся как «скрытый», так что шкала времени синхронизируется, а имя файла не покидает ваш компьютер. Нет ни аккаунтов, ни чата, на диск ничего не пишется, а комната забывается через пять минут после того, как из неё вышел последний человек. Код сервера открыт, и если вы хотите поднять свой, его адрес задаётся в «Параметрах».

Вопросы

Нужна ли каждому своя копия видео?

Каждый должен иметь возможность его воспроизвести, а как — зависит от того, что это. Торрент или ссылку плеер откроет каждому сам. Файл с чьего-то диска переслать нельзя, поэтому каждый открывает свою копию, а плеер говорит, тот же ли это релиз, другой рип того же фильма или вообще другой файл.

Идёт ли видео через ваш сервер?

Нет и никогда не будет — так задумано, это не ограничение. Сервер комнат передаёт между плеерами шкалу времени (позицию, паузу, скорость, текущую серию) и ничего больше. Каждый плеер берёт фильм со своего диска, сайта или из торрента.

Что знает сервер комнат?

Код комнаты, имена, которые люди решили показывать, шкалу времени и что смотрит комната — идентификатор торрента, ссылку или отпечаток локального файла. Файл из папки, отмеченной как приватная, передаётся как «скрытый», и комната всё равно синхронизируется. На диск ничего не пишется, а комната забывается через пять минут после того, как из неё вышел последний человек.

Что, если у кого-то медленное соединение?

Комната ждёт. Пока у кого-то идёт буферизация, все стоят на паузе в одной точке, а когда он готов, воспроизведение продолжается само. Плеер, который совсем перестал отвечать, не может держать комнату дольше 45 секунд.

Можно ли поднять свой сервер комнат?

Да. Это небольшая программа с открытым кодом и без базы данных, она лежит в том же репозитории, что и плеер, а её адрес — поле в «Параметры › Основные».

Откройте что-нибудь.Плеер запомнит, где вы остановились.

$ brew install --cask risenxxx/tap/frame-player

Версия 1.38.1macOS-сборки нотаризованыWindows-сборки без подписи: SmartScreen спросит один раз