Попытка запустить несколько экземпляров VLC

Вопрос или проблема

Я полный новичок в Linux (но учусь). Я пытаюсь запустить видеопрезентацию – но мне нужно, чтобы три отдельных видео MPEG или AVI воспроизводились одновременно и синхронно.

Я прочитал http://www.videolan.org/doc/play-howto/en/ch04.html, где показано, как обращаться к каждому из трёх мониторов с помощью каждого экземпляра VLC.

Функция WALL кажется интересной, но я использую 3 монитора для видеовыхода и один для панели управления (пожалуйста, извините за терминологию Windows).

Опция:
–vout позволяет выбрать модуль видеовыхода. кажется, это способ обратиться к каждому видеовыходу отдельно (ПОЖАЛУЙСТА, поправьте меня, если я не прав в этом).

Так что, что я спрашиваю, в основном, следующее: если я хочу запустить три отдельных видео на три отдельных монитора, используя Ubuntu и VLC, как я могу запустить все три одновременно, и есть ли способ синхронизировать их? (MIDI, SMPTE тайм-код и т.д.)

Мне нужен только один канал либо моно, либо стерео для воспроизведения из (скажем) первого видеофайла.

Любые мнения будут ОЧЕНЬ полезны. (Но, пожалуйста, имейте в виду, что я довольно нов в Linux, поэтому, пожалуйста, имейте терпение ко мне).

Заранее спасибо, Рик

У меня нет нескольких мониторов, так что я не могу вам помочь в этом. Что касается одновременного открытия 3 видео, то ближе всего, что я могу предложить, это использовать “&” для последовательного открытия файлов. Они не будут синхронизированы, но так как они открываются один за другим очень быстро, они будут очень близки к синхронизации, в большинстве случаев создавая незначительное эхо. Конечно, это предполагает, что видеофайлы не нагружают систему и что они хранятся на устройстве хранения, способном обеспечить необходимую пропускную способность для трех видео одновременно. Если нет, то расхождение между воспроизведениям будет более заметным. Например, я протестировал это с двумя 1080p 70mb mp4 файлами в виртуальной машине, и они почти были синхронны, незначительное эхо было единственным свидетельством того, что это не так. Однако, когда я попытался запустить 3, разрыв стал больше, потому что это было 1080p видео, работающее в 3 экземплярах в виртуальной машине, а виртуальные машины не дают хорошую производительность. Имейте в виду, что это поможет вам только открыть файл, это не даст вам контроля над тем, где видео появится на вашем экране рабочего стола. Я полагаю, по умолчанию они наслаиваются друг на друга.

Пример (предполагается, что видеофайл называется “example” и находится в папке загрузок вашего пользователя):

“vlc /home/username/Downloads/example.mp4 & vlc /home/username/Downloads/example2.mp4 & vlc /home/username/Downloads/example3.mp4”

Вот один из способов, но вы можете сделать это более продвинуто, создав shell-скрипт, который делает это:

  1. Запустите экземпляр VLC через командную строку, сохраните их PID.
  2. Используйте wmctrl, чтобы получить WID для каждого окна VLC и сохраните их.
  3. Используйте wmctrl, чтобы переместить окно или даже используйте xdotool, чтобы отправить необходимые клавиши для этого, как макрос.
  4. Используйте xdotool, чтобы отправить сигнал клавиши для каждого экземпляра окна, чтобы воспроизвести в одно и то же время, разница должна составлять миллисекунды. xdotool может отправить это в одной команде.

Вы можете далеко продвинуться, используя Спецификацию удаленного интерфейса медиаплеера (MPRIS), или упростить процесс, выполняя некоторые шаги вручную. Держите время/выгоду в балансе.

Ответ или решение

Запуск нескольких экземпляров VLC в Linux

Введение

Вы хотите запустить три отдельных видеопотока на трех мониторах, используя VLC в Ubuntu. Это задача вполне осуществима, но требует понимания некоторых командных параметров и инструментов, доступных в Linux. В этой статье мы подробно рассмотрим, как можно запустить несколько экземпляров VLC и синхронизировать их воспроизведение.

Шаг 1: Подготовка

Для начала убедитесь, что VLC установлен на вашем компьютере. Вы можете установить его с помощью следующей команды:

sudo apt-get install vlc

Шаг 2: Запуск экземпляров VLC для нескольких видео

Чтобы запустить несколько экземпляров VLC, необходимо указать файлы видео и их параметры. Предположим, у вас есть три видеофайла: video1.mp4, video2.mp4 и video3.mp4. Вы можете запустить их одновременно с помощью следующей команды:

vlc --fullscreen --video-x=0 --video-y=0 /путь/к/video1.mp4 & \
vlc --fullscreen --video-x=1920 --video-y=0 /путь/к/video2.mp4 & \
vlc --fullscreen --video-x=3840 --video-y=0 /путь/к/video3.mp4 &

Здесь --video-x и --video-y устанавливают позиции каждого видео на экране, где 1920 и 3840 — это предполагаемые координаты для 1920×1080 мониторов в режиме "горизонтал".

Шаг 3: Синхронизация воспроизведения

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

  1. Использование xdotool: Это инструмент, который позволяет эмулировать нажатия клавиш и управлять окнами. Вы можете запустить VLC и сразу же отправить команду воспроизведения для каждого экземпляра с небольшими задержками.

Пример скрипта:

#!/bin/bash

vlc --fullscreen --video-x=0 --video-y=0 /путь/к/video1.mp4 &
PID1=$!
vlc --fullscreen --video-x=1920 --video-y=0 /путь/к/video2.mp4 &
PID2=$!
vlc --fullscreen --video-x=3840 --video-y=0 /путь/к/video3.mp4 &
PID3=$!

# Небольшая пауза для завершения инициализации
sleep 1

# Отправка нажатия клавиши "play" каждой программе
xdotool windowactivate $PID1 windowfocus type " " &
xdotool windowactivate $PID2 windowfocus type " " &
xdotool windowactivate $PID3 windowfocus type " " &
  1. MPRIS: Если вам нужно более продвинутое управление, рассмотрите использование Media Player Remote Interfacing Specification (MPRIS). Это позволит вам высокой степени контроля над VLC, и позволяет интеграцию с другими инструментами или оболочками.

Шаг 4: Использование одного канала аудио

Для воспроизведения только одного канала для аудио, вы можете просто использовать ключ --audio-file для каждого экземпляра VLC, указывая только на первый файл. Например:

vlc --fullscreen --video-x=0 --video-y=0 --audio-file=/путь/к/audio.mp3 /путь/к/video1.mp4 &

Заключение

Запуск и синхронизация нескольких экземпляров VLC на Ubuntu требует некоторого понимания командной строки и использования дополнительных инструментов, таких как xdotool и MPRIS. Постарайтесь протестировать предложенные решения, чтобы достичь желаемой синхронизации видео. Не забывайте, что точная синхронизация может потребовать настройки параметров в зависимости от характеристик вашего железа и видеофайлов. Удачи в вашем проекте!

Оцените материал
Добавить комментарий

Капча загружается...