Vlc синхронизация между устройствами
Не так давно у меня возникла необходимость синхронизации видео на двух компьютерах. Гугление готовых решений ничего не дало, поэтому решил реализовать данный сервис своими силами. В качестве просмотрщика видео была выбрана программа VLC. Решил поделиться результатами труда и с вами. Думаю, что найдутся люди, кому эта программа будет полезна.
Зачем она нужна?
- Вы хотите посмотреть фильм с друзьями/знакомыми вместе, но ехать друг к другу или в кинотеатр лень.
- Необходимо вывести одно и то же видео на нескольких мониторах, подключенных к разным компьютерам.
- Необходимо управлять воспроизведением видео удалённо.
Как это работает?
Также к серверу можно присоединиться и с помощью обычного telnet клиента и управлять воспроизведением с помощью консоли, посылая те или иные команды на сервер. Команды следующие:
1. pause – приостанавливает воспроизведение
2. start – запускает воспроизведение с текущего момента
3. seek — изменяет текущую позицию на N миллисекунд от начала (пример: seek 60000)
4. play — запускает воспроизведение, начиная с позиции N миллисекунд от начала.
Для работы программ необходима операционная система семейства Linux или же Cygwin под Windows с установленными библиотеками glib-2.0 и dbus-glib-1.
Как запустить?
Да очень просто:
./server 0.0.0.0 9888
./client 192.168.0.5 9888
Где 0.0.0.0 – адрес сетевого интерфейса (в данном случае все интерфейсы), на котором будет запущен сервер, 192.168.0.5 – адрес сервера, 9888 – порт (может быть указан любой другой, но один и тот же). Любое из приложений может быть штатно остановлено с помощью комбинации Ctrl+C. Если по каким-то причинам программа-клиент не запускается, проверьте, запущен ли сервер (а также правильность его адреса) и vlc плеер. Если всё запустилось, можете смело открывать нужную видеозапись на компьютерах и жать на play на каком-либо их них.
Также в vlc необходимо включить возможность управления через d-bus. Это делается здесь: Инструменты -> настройки -> показывать настройки: все -> интерфейс -> элементы управления -> галочка на «интерфейс управления d-bus». Возможно, потребуется перезапуск vlc.
В этой части мы рассмотрим «Простой Стриминг» через GUI для домохозяек, а для примера нам послужат ситуации:
1. Когда мы выступаем в роли локального транслятора, для людей с лимитированным интернетом, с отключенным интернетом, или для тех, кто считается с вашим вкусом и хочет смотреть то, что вы им порекомендуете.
3. Если вы захотите передавать видео со своей вебкамеры, просто цифровой камеры и любых других подобных устройств, через DirectShow.
Комментарии:
1. Для удобства, в случае если вы будете засовывать множества файлов, советую заранее подготовить плейлист в формате M3U.
2. В последних версиях VLC, стрим можно смело настроить на вещание практически по всем протоколам сразу, если конечно это потребуется.
3. Для отладки и изучения, рекомендую начинать работу с VLC используя модуль «logger»
vlc -extraintf logger
4. Для наложения логотипа на стрим используйте фильтр logo, лучше в формате PNG.
5. В качестве альтернативных плееров для воспроизведения потоков с VLC брали Windows и Winamp Media Player.
Для всех типов вещание начальный GUI-диалог выглядит одинаково:
File: Достаточно выбрать плейлист или любой файл (Аудио/Видео), а зависимости от того, что вы собираетесь вещать в сеть.
Disk: DVD. AudioCD. VCD, здесь же можно отключить вывод меню, выбрать привод, и главу.
Network: здесь мы можем выбрать любой протокол и адрес входящего потока, который будем ретранслировать/конвертировать/сохранять (например с Youtube), Также вчера было проверено, что VLC отлично справляется с RTMP потоками, так что можете вещать видео со своей веб-камеры, поток которой идет на любой сервис управляемый red5.
Capture Device: Здесь можно выбрать, при наличии такового, любое устройство которое работают через Direct Show, Камеру, Вебкамеру, Цифровое или Спутниковое ТВ, а также Ваш Рабочий стол (Будет вещаться все, что происходит у вас на экране монитора).
После того как вы определились с выбором входящего потока, достаточно нажать кнопку «Stream». После чего откроется новое диалоговое окно, которое одновременно работает как настройка стриминга и/или конвертации, и конечный результат зависит от внесенных здесь настроек. Нажимаем кнопку Next, или вкладку Destination.
Как показано на рисунке, и как я уже упоминал, мы можем вести трансляции по всем поддерживаемым протоколам одновременно, в данном примере я показываю пример трансляции по HTTP/MMS.
Выбираем:
New Destination — HTTP, нажимаем Add, вбиваем адрес (0.0.0.0, или смотрим по ipconfig), указываем порт. Если нам нужны еще протоколы, то просто нажимаем "+".
Transcoding Options: Выбираем метод транскодинга из готовых профилей, или создаем свой (а также можно пустить поток без обработки для клиентского VLC).
Этот же метод можно использовать для людей у которых вообще нет медийного плеера, для просмотра/прослушивания стрима с вашего веб сайта (локального, или если у вас Внешний IP, то этот метод так же сработает на сайт в сети интернет).
Для этого создайте документ с расширением *.asx, например stream.asx и поместить туда код:
Где HREF, — Ваш IP и порт. Поместите этот файл на сервер, например в папку /stream/, а в html файле, где бы вы хотели отобразить стрим, напишите следующее:
В случае же если у клиентов стоит Mplayer или VLC, то можно поиграть с другими типами инкапсуляций и кодеков, таких как TS и h264 соответственно.
В таком случае мы получим меньшую нагрузку на систему, большую на канал, но при этом клиенты получают оригинальное видео.
Следующая/последняя вкладка Options не обязательна, в нее стоит заглянуть только для тех кто будет настраивать Анонсы, или захочет посмотреть сгенерированный скрипт, который можно будет в дальнейшем использовать из командной стройки, так же полезен если вы будете запускать вещания по «Крону». О том как использовать я уже писал.
Нажимаем последний раз "Stream" и приглашаем друзей.
Выводы: Качество стрима и его приема может быть достигнуто только при наличии VLC или Mplayer с обоих сторон, так как в случае с VLC не потребует заморочек с плагинами и кодеками, Все, что он стримает по любому протоколу, он быстро и безболезненно подхватывает и на стороне клиента, вне заисимости от кодеков и инкапсуляций и прочих раздражающих факторов. Данный вывод основан только на том факте, что рассматриваемый метод хорош для «домохозяек», и людей которые не умеют пользоватся консолями и командными строками. В следющей части мы попробуем раскрыть тему и возможности вещания на основе «Command Line», которые увеличивают спектр возможностей по стрмингу.
UPD: Для передачи потока по UDP unicast
со стороны сервера необходимо указать IP и порт назначения. Например:
Сервер (192.168.0.1), Клиент (192.168.0.2)
На сервере в настройках стриминга указать
Media — Stream — UDP, 192.168.0.2:1234
У клиента для просмотра потока:
Media — Open Network Stream — UDP, @:1234
UDP Multicast
В multicast, стрим вещается на multicast IP адреса (IP адреса зарезервированные для этих целей, диапазон которых от 224.0.0.0 до 239.255.255.255). Затем, любая машина в сети, может присоединится к multicast группе, посылая запрос в сеть, автоматически получит транслируемый поток.
Потом отправляет запрос об остановке воспроизведения потока и выходит из данной группы. Преимущество multicast стрима, в том, что поток получают только те машины, которые хотят его получать, а сервер вещает только один поток, который получают все участники группы.
Активация multicast, происходит также как в случае с unicast, только во вкладке Options необходимо указать количество TTL* (например 50) IP пакетов, Это означает, что multicast поток сможет пересекать 50 маршрутизаторов.
* — Time To Live
А со стороны клиента, достаточно просто открыть поток в любом плеере который поддерживает multiсast и в строке имени потока указать
udp://@_IP_:port
Более подробно multicast мы рассмотрим в теме продвинутого стриминга с использованием командной строки и телнета
1. Небольшое введение в медиаплеер/сервер VLC.
2. Удаленное управление VLC.
2.1. VLC в качестве Пульта ДУ (iPhone/iPod Touch\КПК)
3. Одиночное/пакетное конвертирование/кодирование видео в VLC (на примере кодирования видео для iPod/iPhone)
О самой программе VLC от VideoLAN сказано уже многое, и она с самого начала довольно быстро вошла в повседневную жизнь большинства IT-шников. Привлекая кроссплатформенностью (Linux, Windows, Mac OS X, BeOS, *BSD, Solaris, Familiar Linux, Yopy/Linupy и QNXs и пр.), была также портирована на множества мобильных платформ. Были и не удачные попытки (Windows Mobile). Но так или иначе все ее преимущества с лихвой превышали недостатки. И совсем недавно этот комбайн был портирован на iPhone/iPod Touch.
Этот с первого взгляда неказистый видео плеер, обладает таким количеством функций, (предназначение которых для многих до сих пор остаются загадкой) что описание всех возможностей с трудом бы уместилось в стандартном печатном издании 400-500 стр. Многие именно по этой причине обходят его стороной, а самые неразумные эстеты описывают плеер как — «ущербный кусок неотесанного бревна» мотивируя это не красивостью, а точнее полным отсутствием графического оформления. Все кто считает себя таковым, или уверен в том, что VLC это просто Аудио/Видео плеер, дальше могут не читать и сэкономить себе массу времени.
- Кроссплатформенный, Мультипортабельный медиаплеер — с поддержкой большинства аудио и видео (H.264, Ogg, DivX, MKV, TS, MPEG-2, mp3, MPEG-4, aac, и многих других...) форматов с возможностью воспроизведения с физических (DVDs, VCD, Audio-CD) носителей, карт захвата и поддержкой множества сетевых потоковых (в том числе Сетевого ТВ) протоколов.
- Это Конвертер и транскодер — всех медийных форматов которые в состоянии проиграть сам. А также он может выступать в роли Стрим Сервера по unicast, multicast, IPv4 или IPv6 протоколам.
- один компьютер (т.е. один IP-адрес): это называется одноадресной трансляцией,
- динамически меняющаяся группа клиентов, которые могут присоединяться к трансляции или отсоединяться от нее в любое время (т.е. несколько IP-адресов): это называется многоадресной трансляцией.
- Просмотра фотографий;
- Снятие и сохранение в *.jpg файл стоп кадров;
- Возможность управления всеми функциями плеера с мобильных устройств и посредством обычного Веб-браузера;
- Использовать плагины VLC для Firefox и др.
1. Через сам VLC. Settings -> Add interface -> Web interface.
2. Через терминал.
Таким образом, абсолютно бесплатно можно использовать VLC как Видео плеер, а ваше мобильное устройство выступит в роли Пульта Дистанционного Управления.
Выше я уже упоминал о широких возможностях VLC, и самой самых востребованных мной на данный момент является функция конвертирования/кодирования одного видео файла и одновременное просмотр другого (если кодировать через оболочку VLC). Функции конвертирования/кодирования отлично справляются со свой работой для бытового просмотра (Пишу бытового поскольку я не пытался конвертировать навороченное HD и прочие форматы для просмотра на ТВ. А за основу для пояснения принципов беру Видео для КПК и смартфонов. В VLC возможно конвертирование практически с любыми настройками, а продвинутые в видео-мастеринге люди смогут задавать для этого свои параметры. Также предусмотрена возможность конвертирования видео файла с внешними субтитрами, в один *mp4 файл, или любой другой для вашего устройства.
Ниже я опишу приблизительный процесс конвертирования на примере файла для iPod Touch, который воспроизводит видео формата mp4 320x200, для тех кто подключает свой девайс к ТВ, могут увеличить разрешение до 640x480.
Запустив VLC Достаточно просто нажать CTRL+R, затем выбрать любой видео файл, и нажать ALT+S. В появившемся окне можно ничего не менять и просто сразу перейти к вкладке Options, и в поле ввести следующий код:
Где, width это ширина, canvas-height это высота, vcodec видео кодек, vb битрейт видео, acodec аудио кодек, ab = битрейт аудио, mux инкапсуляция, а dst это путь и имя файла на выходе (обратите внимание на то, что имя диска указывается с двумя слешами (C:\\ D:\\ и тд)).
Также существует интересный полу-автоматизированный процесс, который позволит конвертировать массово стопки файлов, например если нужно уйти на работу или лечь спать и во время вашего отсутствия сконвертировать множества файлов.
Прилагаю пример для Windows, (Для остальных систем поковыряйте VideoLan WIKI):
Итак, нам нужно создать Batch-файл, или по русски говоря BAT-файл следующего содержания:
Где C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe Путь к VLC (обязательны кавычки "", они нужны для того, чтобы указать путь к файлу, так как многие папки с пробелами, кавычки не позволят прерывать исполнение процесса на месте этих пробелов, а после буквы диска не забывайте про двойной слеш \\).
C:\\in.avi путь к исходному видео файлу.
C:\\out.mp4 путь к исходящему файлу c расширением *.mp4.
vlc://quit команда для закрытия VLC после процесса кодирования.
Для массового конвертирования достаточно просто скопировать эту строку, вставить на строчку ниже и заменить данные исходных и исходящих файлов.
А если вам нужно конвертировать все файлы, а потом выключить компьютер, то эта процедура будет выглядеть приблизительно так:
Где SHUTDOWN это команда для выключения ПК, а 120 это время в секундах через которое выполнить выключение.
PS: если вы выполните эту команду во время тестирования, отменить выключение достаточно введя в командной строке SHUTDOWN -a.
На всякий случай прилагаю файл примера с комментариями (зеркало)
P.S.: Надеюсь информация оказалась полезной для вас, и вы вычеркните из своей повседневной жизни множество программ и ненужных утилит, которые выполняют все те же функции, но при этом занимают много места, забивают реестр и просто мешаются. Возможно, это не последняя статья о VLC и если мне удастся найти больше функций и возможностей которые дублируются в других приложениях, я обязательно об этом напишу.
P.P.S: Если среди читателей толковый программист интересующийся или использующий VLC в повседневной жизни — стукните в Хабрапочту, так как у меня есть определенные идеи для написания функционального GUI-Лаунчера для VLC, с преднастройками для нужд пользователей, Так же сам готов нарисовать GUI для этого дела.
Локальные сети часто встречаются как в офисах, на предприятиях, так и в жилых помещениях. Благодаря ей данные по сети передаются гораздо быстрее. Такая сеть очень удобна, в её рамках можно открыть видео вещание.
Далее мы узнаем, как можно настроить потоковое видео вещание. Но для начала установим программу VLC Media Player.
Как синхронизировать видео и аудио в VLC
VLC это бесплатный кроссплатформенный мультимедийный проигрыватель с открытым исходным кодом, который воспроизводит большинство мультимедийных файлов. Он не только поддерживает конвертировать видео в аудио но также синхронизировать видео. Конкретные шаги синхронизации видео следующие.
Как установить VLC Media Player
Далее следуем простой инструкции для установки программы.
Быстрая навигация:
Синхронизация видео, также известная как синхронизация аудио-видео, относится к относительной синхронизации аудио и видео частей во время создания, пост-обработки, передачи, приема и воспроизведения.
Ниже подробно описано, как синхронизировать видео в VLC и Premiere Pro. Если вам нужно больше функций для редактирования видео, попробуйте MiniTool MovieMaker, разработанный MiniTool .
Настройки потокового вещания
Для начала нужно перейти в «Медиа», далее «Передавать».
Нужно с помощью проводника добавить определённый фильм в список воспроизведений и нажать «Поток».
Во втором окне просто нажимаем «Следующий».
Следующее окно очень важное. Первое – это выпадающий список. Здесь нужно выбрать протокол для вещания. Отмечаем (RTSP) и нажимаем «Добавить».
В поле «Порт» указываем, например, «5000», а в поле «Путь» вписываем произвольное слово (буквы), например, «/qwerty».
В списке «Профиль» следует выбрать вариант «Video-H.264+MP3 (MP4)».
В следующем окне мы соглашаемся с перечисленным и нажимаем «Поток».
Проверяем, правильно ли мы настроили трансляцию видео. Для этого открываем другой VLC или другой плеер.
В меню открываем «Медиа»-«Открыть URL».
В новом окне вводим наш локальный IP-адрес. Далее указываем порт и путь, который указали при создании потокового вещания.
В данном случае (для примера) мы вводим «rtsp://192.168.0.0:5000/qwerty». Нажимаем «Воспроизвести».
Как мы узнали, настроить потоковое вещание совсем не тяжело. Следует знать только свой локальный (сетевой) IP адрес. В случае, если вы не знаете его, то можно ввести в поисковую систему в браузере, например, «Мой сетевой IP адрес».
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Несинхронизация звука и видео вызывает разочарование. Если вы заинтересованы в синхронизации видео и аудио или просто не хотите, чтобы вас беспокоили проблемы с синхронизацией видео и аудио, прочтите этот пост, чтобы узнать, как синхронизировать видео и аудио.
Вариант 1. Синхронизация видео и аудио вручную
- Убедитесь, что ваше видео воспроизводится, но аудио и видео не синхронизированы.
- Если вам нужно снизить скорость звука, нажмите К на клавиатуре. Если вам нужно ускорить звук, нажмите J на клавиатуре. Для Mac ярлыки г и F .
- Одно нажатие горячей клавиши ускоряет или замедляет звук на 50 миллисекунд. Если вы продолжите нажимать, количество миллисекунд будет непрерывно увеличиваться.
- Ускорьте или замедлите синхронизацию звука видео, пока звук не совпадет с видеоклипом.
Вариант 1. Синхронизация видео и аудио вручную
- Найдите свой видеоклип и аудиофайл в своих медиа-контейнерах.
- Перетащите их на временную шкалу, увеличьте масштаб видеофайла на временной шкале, а затем найдите всплеск в формах волны, который показывает слайд.
- В том месте, где вы заметили всплеск, сдвиньте аудиофайл и выровняйте маркеры.
- Затем воспроизведите клип, чтобы убедиться, что ваши аудио и видео совпадают.
Вариант 2. Объединение клипов для синхронизации видео и аудио
- Выберите медиафайлы в ящиках, которые вы хотите синхронизировать. У вас может быть только одно видео, но вы можете синхронизировать до 16 аудиоклипов с этим одним видео.
- Чтобы объединить клипы, удерживайте Контроль на ПК ( Команда на Mac) и выберите клипы, которые хотите объединить.
- Это вызовет Объединить клипы меню с парой опций. Выберите Аудио вариант, как ваш Синхронизировать точку и выберите Удалить звук из AV-клипа , чтобы удалить внутренний звук камеры и использовать внешний звук.
- Ударил Хорошо и все готово.
- Новый файл появится в вашем Корзина проекта которые вы можете перетащить на свою временную шкалу.
Как синхронизировать видео и аудио в Premiere Pro
Premiere Pro является ведущим в отрасли программным обеспечением для редактирования видео для фильмов, телевидения и Интернета. Этот видеоредактор помогает пользователям делать отличные музыкальные клипы и классные фильмы. Между тем, он предоставляет пользователям множество функций, включая синхронизацию видео.
Нижняя граница
Вариант 3. Синхронизация клипов для синхронизации аудио и видео
- Перетащите видео и аудио файлы на шкалу времени.
- Ударил Ctrl + A ( Command + A на Mac), чтобы выбрать все клипы, и щелкните правой кнопкой мыши, чтобы выбрать «Синхронизировать».
- Затем он синхронизирует звук с видео.
- После синхронизации можно удалить звук внутренней камеры.
Если вы хотите знать, где скачать бесплатные звуковые эффекты, вы находитесь в нужном месте. В этой статье представлены 16 сайтов для загрузки бесплатных звуковых эффектов.
Вариант 2. Автоматическая синхронизация видео и аудио вручную
- Идти к инструменты и выберите Эффект и фильтры .
- Нажми на Синхронизация
- Введите числовое значение в поле Аудио видео.
- нажмите Закрыть кнопку после завершения задачи синхронизации.
Читайте также: