Pull to refresh

Серьезный разговор о VLC

Working with video *Software
Под катом:

1. Небольшое введение в медиаплеер/сервер VLC.
2. Удаленное управление VLC.
2.1. VLC в качестве Пульта ДУ (iPhone/iPod Touch\КПК)
3. Одиночное/пакетное конвертирование/кодирование видео в VLC (на примере кодирования видео для iPod/iPhone)



Краткое введение в VLC


О самой программе VLC от VideoLAN сказано уже многое, и она с самого начала довольно быстро вошла в повседневную жизнь большинства IT-шников. Привлекая кроссплатформенностью (Linux, Windows, Mac OS X, BeOS, *BSD, Solaris, Familiar Linux, Yopy/Linupy и QNXs и пр.), была также портирована на множества мобильных платформ. Были и не удачные попытки (Windows Mobile). Но так или иначе все ее преимущества с лихвой превышали недостатки. И совсем недавно этот комбайн был портирован на iPhone/iPod Touch.

Этот с первого взгляда неказистый видео плеер, обладает таким количеством функций, (предназначение которых для многих до сих пор остаются загадкой) что описание всех возможностей с трудом бы уместилось в стандартном печатном издании 400-500 стр. Многие именно по этой причине обходят его стороной, а самые неразумные эстеты описывают плеер как — «ущербный кусок неотесанного бревна» мотивируя это не красивостью, а точнее полным отсутствием графического оформления. Все кто считает себя таковым, или уверен в том, что VLC это просто Аудио/Видео плеер, дальше могут не читать и сэкономить себе массу времени.

Для тех, кто Читает о VLC впервые, вкратце опишу, что же он из себя представляет:
  • Кроссплатформенный, Мультипортабельный медиаплеер — с поддержкой большинства аудио и видео (H.264, Ogg, DivX, MKV, TS, MPEG-2, mp3, MPEG-4, aac, и многих других...) форматов с возможностью воспроизведения с физических (DVDs, VCD, Audio-CD) носителей, карт захвата и поддержкой множества сетевых потоковых (в том числе Сетевого ТВ) протоколов.
  • Это Конвертер и транскодер — всех медийных форматов которые в состоянии проиграть сам. А также он может выступать в роли Стрим Сервера по unicast, multicast, IPv4 или IPv6 протоколам.

В случае когда VLC выступает в качестве Стрим Сервера, то видео могут получать:
  • один компьютер (т.е. один IP-адрес): это называется одноадресной трансляцией,
  • динамически меняющаяся группа клиентов, которые могут присоединяться к трансляции или отсоединяться от нее в любое время (т.е. несколько IP-адресов): это называется многоадресной трансляцией.


Одним из самых примечательных особенностей можно выделить возможность играть «из коробки» всего поддерживаемого контента без установки дополнительных программ, утилит или кодеков. В качестве приятного бонуса можно отметить возможности:
  • Просмотра фотографий;
  • Снятие и сохранение в *.png файл стоп кадров;
  • Возможность управления всеми функциями плеера с мобильных устройств и посредством обычного Веб-браузера;
  • Использовать плагины VLC для Firefox и др.
  • JavaScript API для плагина VLC

Все возможности VLC на каждой платформе перечислены в списке возможностей VLC.

Удаленное управление VLC


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


Настройка и использование http интерфейса VLC:
Запустить VLC c интерфейсом http, можно тремя способами:

1. Через сам VLC. Settings -> Add interface -> Web interface.
2. Через терминал.
vlc -I http
--http-host host:port (если вы хотите сами указать хост и порт)


3. Через ярлык с рабочего стола с параметром "-I http".
После чего достаточно открыть любой браузер и ввести URL или IP (по умолчанию в Windows это 127.0.0.1:8080)
Подробнее об интерфейсе http и его возможностях.

Таким образом, абсолютно бесплатно можно использовать VLC как Видео плеер, а ваше мобильное устройство выступит в роли Пульта Дистанционного Управления.



Но и этот метод не для всех, во-первых нужен Wi-Fi, а у кого нет точки доступа, то этом можно исправить купив бюджетный вариант — USB Адаптер D-Link DWA-110 (цена от 500 рублей я купил за 610.) Данный адаптер полностью в состоянии удовлетворить все потребности для мобильных устройств в качестве точки доступа. А во-вторых, данный подход для многих покажется крайне не эстетичным. Но и этот вариант тоже решаем при помощи утилит и приложений для большинства гаджетов. Для iPhone/iPod я рекомендую VLC Remote, в комплекте с которой есть Утилита для Windows и Mac которая сама все настроит со стороны Компьютера.



Быстрая конвертация видео в VLC для iPod/iPhone и других устройств.


Выше я уже упоминал о широких возможностях VLC, и самой самых востребованных мной на данный момент является функция конвертирования/кодирования одного видео файла и одновременное просмотр другого (если кодировать через оболочку VLC). Функции конвертирования/кодирования отлично справляются со свой работой для бытового просмотра (Пишу бытового поскольку я не пытался конвертировать навороченное HD и прочие форматы для просмотра на ТВ. А за основу для пояснения принципов беру Видео для КПК и смартфонов. В VLC возможно конвертирование практически с любыми настройками, а продвинутые в видео-мастеринге люди смогут задавать для этого свои параметры. Также предусмотрена возможность конвертирования видео файла с внешними субтитрами, в один *mp4 файл, или любой другой для вашего устройства.
Ниже я опишу приблизительный процесс конвертирования на примере файла для iPod Touch, который воспроизводит видео формата mp4 320x200, для тех кто подключает свой девайс к ТВ, могут увеличить разрешение до 640x480.
Запустив VLC Достаточно просто нажать CTRL+R, затем выбрать любой видео файл, и нажать ALT+S. В появившемся окне можно ничего не менять и просто сразу перейти к вкладке Options, и в поле ввести следующий код:
:sout=#transcode{width=320,canvas-height=240.vcodec=mp4,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=file,mux=ts,dst=%input_video%}


Где, width это ширина, canvas-height это высота, vcodec видео кодек, vb битрейт видео, acodec аудио кодек, ab = битрейт аудио, mux инкапсуляция, а dst это путь и имя файла на выходе (обратите внимание на то, что имя диска указывается с двумя слешами (C:\\ D:\\ и тд)).
Также существует интересный полу-автоматизированный процесс, который позволит конвертировать массово стопки файлов, например если нужно уйти на работу или лечь спать и во время вашего отсутствия сконвертировать множества файлов.

Прилагаю пример для Windows, (Для остальных систем поковыряйте VideoLan WIKI):
Итак, нам нужно создать Batch-файл, или по русски говоря BAT-файл следующего содержания:
"C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe" -vvv "C:\\in.avi" :sout=#transcode{vcodec=h264,vb=800,scale=1,width=320,height=240,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst=C:\\out.mp4}" vlc://quit


Где C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe Путь к VLC (обязательны кавычки "", они нужны для того, чтобы указать путь к файлу, так как многие папки с пробелами, кавычки не позволят прерывать исполнение процесса на месте этих пробелов, а после буквы диска не забывайте про двойной слеш \\).
C:\\in.avi путь к исходному видео файлу.
C:\\out.mp4 путь к исходящему файлу c расширением *.mp4.
vlc://quit команда для закрытия VLC после процесса кодирования.

Для массового конвертирования достаточно просто скопировать эту строку, вставить на строчку ниже и заменить данные исходных и исходящих файлов.
А если вам нужно конвертировать все файлы, а потом выключить компьютер, то эта процедура будет выглядеть приблизительно так:
"C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe" -vvv "C:\\in-1.avi" :sout=#transcode{vcodec=h264,vb=800,scale=1,width=320,height=240,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst=C:\\out-1.mp4}" vlc://quit
"C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe" -vvv "C:\\in-2.avi" :sout=#transcode{vcodec=h264,vb=800,scale=1,width=320,height=240,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mp4,dst=C:\\out-2.mp4}" vlc://quit
SHUTDOWN -s -t 120


Где SHUTDOWN это команда для выключения ПК, а 120 это время в секундах через которое выполнить выключение.
PS: если вы выполните эту команду во время тестирования, отменить выключение достаточно введя в командной строке SHUTDOWN -a.

На всякий случай прилагаю файл примера с комментариями (зеркало)

P.S.: Надеюсь информация оказалась полезной для вас, и вы вычеркните из своей повседневной жизни множество программ и ненужных утилит, которые выполняют все те же функции, но при этом занимают много места, забивают реестр и просто мешаются. Возможно, это не последняя статья о VLC и если мне удастся найти больше функций и возможностей которые дублируются в других приложениях, я обязательно об этом напишу.
P.P.S: Если среди читателей толковый программист интересующийся или использующий VLC в повседневной жизни — стукните в Хабрапочту, так как у меня есть определенные идеи для написания функционального GUI-Лаунчера для VLC, с преднастройками для нужд пользователей, Так же сам готов нарисовать GUI для этого дела.

Успехов!
Tags: VLCiPhoneвидеотётки )
Hubs: Working with video Software
Total votes 119: ↑111 and ↓8 +103
Comments 159
Comments Comments 159

Popular right now