LINUX.ORG.RU

RaceView 0.99.4: проигрыватель для синхронного просмотра нескольких видео

 , , ,


1

1

Друзья, представляю вашему вниманию плеер RaceView. Он нужен, чтобы смотреть несколько видео синхронно. Изначально задумывался мной для просмотра в первую очередь Формулы-1: выбираем файл гонки, DriverTracker и DataChannel, запускаем и получаем три окна, воспроизведение в которых идёт синхронно.

В принципе подойдёт для любого случая, когда нужно несколько записей одного момента, например, для мультикамерных записей.

Что умеет:

  • несколько дорожек, первая — мастер, остальные подстраиваются по её часам;

  • управление по каждой дорожке: пауза/воспроизведение, выбор аудиодорожки, отключение звука, громкость и временной сдвиг;

  • синхронная перемотка с OSD;

  • полноэкранный режим по каждому окну или по всем сразу;

  • регистрируется в виджете воспроизведения KDE Plasma как один проигрыватель;

  • доступны переводы на английский русский, немецкий, испанский и французский;

Стек: Qt6 (Widgets / OpenGLWidgets / DBus), libmpv, C++17, CMake.

Сборки для Linux (AppImage) и Windows x86_64 (zip) готовятся в GitHub Actions и лежат в релизах.

Лицензия — GPL-3.0-or-later (проект линкует libmpv и Qt).

Замечания и баги — в issues или в комментариях.

>>> GitHub

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 5)

я бы просто загрузил оба видоса в видеоредактор, они бы игрались синхронно. Но идея интересная, зачёт тебе!

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Проблема в том, что их обычно не два, а три. Я раньше использовал SyncPlay, но это такое себе. Запускаешь сервер, запускаешь три инстанса и смотришь. Но перемотка бывает подтупливает в нем, а также, если использовать системные горячие клавиши для паузы - то оно ведет себя непредсказуемо. Спасибо!

r0ck3r ★★★★★
() автор топика
Ответ на: комментарий от r0ck3r

Да хоть восемь, в kdenlive, например, есть мультиэкран.

Aceler ★★★★★
()

И каких только use-case не встретишь :)

zabbal ★★★☆☆
()
Ответ на: комментарий от rt072

Запускает, и не только он. Но нужна синхронизация перемотки

r0ck3r ★★★★★
() автор топика
Ответ на: комментарий от r0ck3r

Проблема в том, что их обычно не два, а три.

Да с этим-то проблем нет как раз - сколько угодно может быть, просто свёл их одновременно и всё.

Другое дело, что у меня такой юзкейс всплывал максимум раза 3-4, да и самоцель была «лень контейнер нормально склеивать».

А так, чтобы с разных ракурсов одновременно видеть, да просто с комфортом посмотреть - такойц спецпроигрыватель получше походит. Ну и пилить это на libmpv хорошо придумал.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Я понял, что тут что-то не так, когда узнал, что почти все механизмы содержат в себе бальное медвежение.

Smacker ★★★★★
()

Если размеры видео одинаковые, то можно в mpv/ffmpeg вот так

mpv ./видево1.mp4 \
    --external-file=./видево2.mp4 \
    --external-file=./видево3.mp4 \
    --external-file=./видево4.mp4 \
    --lavfi-complex="[vid1][vid2]hstack[t1]; [vid3][vid4]hstack[t2]; [t1][t2]vstack[vo]"

Там ещё можно заморочиться с автоподгоном размеров, рамочки сделать и так далее, но там я не умею не разбирался. Но тут минус, под каждое количество видео надо менять строки компоновки видео, ну как стековать их друг к другу, а это уже морока. Хотя можно наделать шаблонов. Но всё же в целом удобнее когда всё просто в разных окнах, а не в одном, ну тут по ситуации.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

А если задержка, то как тогда? А если рассинхрон? Это же телетрансляция, тут всякое может быть.

Aceler ★★★★★
()
Ответ на: комментарий от Gukl

С учётом единичной буквы r, версия выглядит натянутой. В то время как 🐻bear→bearing отвечает самым передовым представлениям современной этимологии.

Smacker ★★★★★
()
Ответ на: комментарий от Aceler

Я не знаю, но если учитывать просто чудовищное количество комбинаций команд FFMPEG, боюсь сказать что как-то подшаманить нельзя. Но, если мы имеем дело с записью потоков и у нас нет чего-то опорного, то ни мой вариант (это просто к слову, а не альтернатива), ни вариант ТСа ни любой другой, всё будет бессильно. Если у тебя записи и в каждой видео, в случайных местах провалы/набеги кадров, ускорение/замедление по тем или иным техническим причинам, в принципе невозможно что-то сделать. Если у тебя живые потоки текущие, то всегда все потоки можно привести к максимально живым и выставить начальные задержки воспроизведения, так как в живом потоке они заранее известны.

У ТС на каждом видео есть свои ползунки можно в динамике подправить, этим и хороши отдельные окна, можно чуть крутануть где-то в одном, но всё в целом продолжится синхаться. Я про это и написал, мол отдельными окнами удобнее.

Если стековать записи, то надо уже больше наворотов, чтобы можно было сделать в видео пометки, когда где и какое затормозить, ускорить. Чтобы уже потом полностью автоматически воспроизвести с максимальной синхронизацией событий в видео.

Короче задача вроде на первый взгляд простая, но интересная можно по разному подходить. Я не предложил замену, я просто показал по смыслу похожее. Кому-то хватить и этого, именно например записи смотреть, уже готовые отсинхронизированные, а не потоки ^.^

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

В том и дело, что там у ТС-а есть ползунок задержки, а после запуска mpv задержку уже не подкрутишь.

Aceler ★★★★★
()

Сегодня видел в магазе модельку ф1 редбула за 5К,а рядом такая же игрушка, феррари за 1999

HPW-dev ★
()
Ответ на: комментарий от Smacker

С учётом единичной буквы r, версия выглядит натянутой.

Согласен, коллега. Но стоит рассмотреть и вариант, что речь идет не о медведях, а о призыве к балу стать кольцом.

Gukl ★★★
()

Он нужен, чтобы смотреть несколько видео синхронно

Это для людей с ОКР и зумеров?

anonymous_sama ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.