Под катом:
1. Небольшое введение в медиаплеер/сервер VLC.
2. Удаленное управление VLC.
2.1. VLC в качестве Пульта ДУ (iPhone/iPod Touch\КПК)
3. Одиночное/пакетное конвертирование/кодирование видео в VLC (на примере кодирования видео для iPod/iPhone)
NB: Пост сделал пользователь
leemiller, но по самизнаетекаким причинам не смог его опубликовать и обратился ко мне. Кому бескрайние душевные доброты позволяют — подлечите хорошего человека ;)
Краткое введение в VLC
О самой программе
VLC от
VideoLAN сказано уже многое, и она с самого начала довольно быстро вошла в повседневную жизнь большинства IT-шников. Привлекая кроссплатформенностью
(Linux, Windows, Mac OS X, BeOS, *BSD, Solaris, Familiar Linux, Yopy/Linupy и QNXs и пр.), была также портирована на множества мобильных платформ. были и не удачные попытки (Windiws 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 для этого дела.
Успехов!
комментарии (151)
Впрочем, большинству людей это нафиг не надо. Но эти фичи очень нужны любителям аниме.
через enca?
>и понимать прилинкованые сегменты в mkv (mplayer из девелоперского репозитария тоже умеет)
а вот об этом по подробнее, и какого именно? мейнстрим svn?
Насчёт официальности репозитария я не уверен, о нём не сказано на оф. сайте. Видимо, это git-репозитарий кого-то из разработчиков, а изменения потом сливаются в mainstream svn. Короче говоря, вот тут был мой тред про прилинкованные сегменты в mkv. Там в конце описан способ, как получить нужный результат.
Спасибо!
Свои функции выполняет хорошо. На винде им открываю только flv, для всего остального использую mplayer (портированный с линуха).
Кодированием видео не страдаю — нет надобности.
Для сравнения можно смело попробывать взять WMP 7 и 11, или какой он там последний. Вы посмотрите время загрузки первого окна с пред.настройками. и время загрузки VLC в рабочем состоянии =)
У меня комп один и на нем 0.8-0.9 летают, где 1.x позорно тормозит.
Вы не забывайте, что VLC выезжал на софтовом декодировании, DXVA он не умеет. А теперь начал сливать и в этом. Обидно.
А сливать он начал в некоторых функциях по элементарной причине, они задвигают на те функции, которые востребованны в меньшинстве. и возможно будь у них больше людей, времени и денег, то они бы уследили за всем. Но у меня рука не поднимается судить ребят из VideoLAN, большинство возможностей у них сделаны на славу, а косяки можно прости, они не явные. Ведь это Открытый проект и он направлен на реализацию бытовых возможностей а не на мегапроффесиональную работу. Хотя возможно ко второй версии, лет через пять он станет таким каким его хотят видеть все =)
Что бы плеер сам выключал компьютер после окончания проигрывания фильма. Может кто подскажет?
НО, есть вот такая штука.
@echo off
«C:\\Program Files (x86)\VideoLAN\VLC\vlc.exe» -vvv «E:\\Video\Tv Shows\Heroes\Heroes.s04e07.rus.LostFilm.TV.avi» vlc://quit
SHUTDOWN -s -t 120
Выключение ПК после просмотра серии через 120 секунд.
Создать просто файлик sleep.bat =) Да не эстетично, но и сложного ничего нет.
09:48 egor: mplayer.bat --version
MPlayer Sherpya-SVN-r27811-4.2.5 © 2000-2008 MPlayer Team
CPU: Intel® Core(TM)2 Duo CPU T5670 @ 1.80GHz (Family: 6, Model: 15, Step
ping: 13)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
Правда, там иногда баги бывают ((
патамушо зачем-то весь свой рантайм (около 70 метров) с винта грузит.
потом, когда файло закешируется, оно живенько.
приехали
Тетки в стриме =)
egorinsk,
я тоже люблю мплеер, пользую его на Motorola V8 =)
Но дайте мне в мплеере API, дайте тысячи функций и работу по сетевым протоколам а не просто плеер для видео. стати VLC я и пользую потому что он очень схож с мплеером. Ничего лишнего в плане Внешнего вида, я его не для красивостей юзаю, да и зачем плееру красивости, ведь будь то музыка видео или ТВ. Мы смотрим контент а не оформление =))
uzd,
это я ночью писал после суточной работы, и не льзя было не накосячить =) и сам не знаю зачем туда про убунту вставил, может потому что решил что увидев про линукс, владельцы убунту прошли бы мимо =)))))
Разве что управлять им через веб нельзя или через программы в мобильном (насколько мне известно), а так в принципе такой же комбайн, только с минималистическим GUI (да, я не использую версию с полным GUI).
Мне он нравится минимализмом и всеядностью — играет все, что горит :) и не требует установки кодеков и возни с виндой/реестром (и сам не требует установки и переностится копированием файлов). Я просто назначил его на файлы типа avi, mp3, mpeg и т.д. — при клике по файлу просто появляется окно с видео (без дурацких панелек и кнопок), что еще надо?
Ах да. еще он отлично играет видео/аудио по http, я в Опере поставил его вызов — при клике по прямой ссылке на аудио/видео запускается (сразу, без скачивания файла) и начинает играть, по моему удобно.
Ну и еще это плеер, потребляющий меньше всего ресурсов для воспроизведения видео, быстро запускающийся (хоть и не так быстро, как хотелось бы). И еще, у него тысячи опций, и если почитать документацию, очень серьезное отношение разработчиков к мелочам, так что альтернативы ему пока не видно.
Хотя для проигрывания видео мне мплеер ближе, как ни крути.
vlc, как и писал выше, на винде использую только для просмотра трансляций, просмотра flv файлов и пожалуй все.
На серверной части vlc нравится командным интерфейсом (на винде тоже можно, но не так доставляет).
мне просто не нравятся медиа-оболочки, они лично для меня действительно очень неудобно, хочется лёгкий плеер как vlc, но… поддержку FulHD жду уже очень долго
к VLC отношусь положительно, под виндами не хватает очень шоткатов, а в остальном все на высшем уровне
Пользуюсь ВЛС ремот на айфон — очень удобная прога.
Теперь знаю, что можно конвертировать видео через ВЛС :) Класс!
Обидно.
Еще бы разобрался кто-нибудь как-следует с возможностью снимать скринкасты через VLC, ато пару док в нете пробегало, но я пробовал и у меня мало что вышло.
Меню — View — Customize interface
Там перетаскиваете из меню слева икноку фотоаппарата — она делает снимки. Сохраняете.
Смотрите ролик и когда надо — щелкаете батон ) В моих документах будут картинки
К слову, в этом плане VLC меня часто выручал ) ибо снять скрин с видика порой просто нереально, причем даже спетулзами
Но, к сожалениею, это не то что я имел в виду. Я говоил о записи происходящего на экране в видео файл, а не о сохранении кадра из просматриваемого видео.
Глюк это или подарок от каких-нибудь внутренних оппозиционеров из MS я не знаю. Но способ работает и слава богу.
См. ниже коммент LeeMiller (-:
Под линукслм — -vo xv, скриноты тоже будут работать.
Называется Стоп-Кадр — Снимок Экрана или Snapshot. Зависит от Локализации и операционки в которой запущен VLC
Но, к сожалениею, это не то что я имел в виду. Я говоил о записи происходящего на экране в видео файл, а не о сохранении кадра из просматриваемого видео.
Я правда давненько пробовал, надо будет попробовать с последней версией (на YouTube какраз нашёлся свежий туториал — www.youtube.com/watch?v=ig2HVCZnAl4&feature=related )
но вот на счет идей у меня есть предложение — посмотри в PPS
по-моему эти все наборы кодеков — профанация, когда есть плееры, которые умеют производить все подряд без наличия кодеков в системе.
Кодеки всё-таки неспроста придумали, они позволяют всем программам легко играть видео разных форматов без дополнительного кода.
Другое дело, что с ними нередко всякие казусы в системе происходят.
«Я спец, я знаю что тыкаю, дайте мне все настройки»
PS, если пост оказался полезен то я сегодня напишу еще про VLC
виндузятники, такие виндузятники. это очень некрасивый подход. к примеру для *никсовых систем, удачней сделать так:
1. создаём файл IN и вписываем туда все файлы, что нужно перекодировать.
2. в консоле набираем while read; do vlc -vvv $REPLY '//q: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='${REPLY%%.*}.mp4 'vlc://quit'; done < IN
и не нужно никакой копипасты ручным с допиливанием
Основной всё-таки MediaPlayerClassic — шустрый, и всё там есть.
На маке он как основной. Во-первых я не знаю ему альтернатив, во-вторых он там вполне себе симпатичный и удобный.
Какой там mkv, он не всё в avi запакованное до сих пор может открыть. Подойдёт только примерным маководам, качающим фильмы из Айтюнса.
Кстати об айтюнсе, лучше бы они это карбоновое глюкало с нуля переписали, а не квиктайм…
VLC не может определить формат входных данных:
The format of 'http://www.youtube.com/...' cannot be detected. Have a look at the log for details.
но хотелось бы теперь узнать про его возможности как медиа-сервера
п.с. исправил в тексте
Компьютер современный (Core2). ОС не православная (WinXP SP2).
«Запустить VLC без всего»
моя проблема — показатель того, что сабж плохо выполняет свою ОСНОВНУЮ функцию.
2. Объяснять домохозяйкам как им надо править кофиги, чтобы проиграть без рывков файл обычного (на сегодня) формата дело бесперспективное.
Обидно, что в отличии от того же MPlayer он не умеет использовать аппаратное ускорение карточек NVidia для рендеринга и декодирования. Патчи конечно есть, но больно кривые да и не умеют аппаратного deinterlacing.
Единственное что утилита, через которую он работает не очень удобна, ее невозможно свернуть.
Есть платная версия, кажется сейчас $0.99 по акции, но есть и Lite.
macosworld.ru/?p=5307
Есть у меня одна софтина на айфоне, но она деревянная называется RemotePad.
я писал то не об этом, а о том что ее невозможно свернуть, и висит как кость в горле.
Но это мое личное мнение )
смотри свой айпишник в настройках сети или в ipconfig
попробуйте при создании указать не 127*, а реальный который у вас в сети.
так же создайте bat файл с данными
сохраните и запустите, после этого, сделайте все как указано, зайдите с устройства и убедитесь, что вы увидели этот форбидден. после этого в папке с VLC найдите файлик vlc-log.txt и покурите его на предмет ошибки.
Я так понимаю что bat-файл по сути тоже самое что и запуск из командной строки. Если запускать с -vvv и --extraint logger он начинает вести лог, но тогда не запускается веб-интерфейс вообще и как-будто он запускается с чистыми настройками.
Странно всё это как-то))
«C:\Program Files\VideoLAN\VLC\vlc.exe» -I http --http-host 192.168.
0.122:8080 -vvv --extraint logger
всё запустилось, веб-интерфейс запустился также с forbidden. В логах ничего необычного вроде, вот они n-ls.ru/tmp/vlc-log.txt
# Access-list for VLC HTTP interface
http debug: dir=C:\Program Files\VideoLAN\VLC\\http
main debug: find .hosts in dir=C:\Program Files\VideoLAN\VLC\\http\.hosts
main debug: restricted to ::1
main debug: restricted to 127.0.0.1
у тебя винда-то какая?
> Это Конвертер и транскодер — всех медийных форматов которые в состоянии проиграть сам.
Без проблем проигрывает звук в TrueHD, но не способен его перекодировать :(
Не так давно перекодировал для коллекции видео, в исходнике звук был в TrueHD, проигрывать мне такой звук не на чем, так что дорогу пришлось перекодировать. Под линухом VLC единственный, кто сумел не только увидеть дорогу, но и воспроизвести нормально. Но при этом он не смог её перекодировать, в результате пришлось мне помучиться :)
Так что он может перекодировать большинство форматов, которые в состоянии проиграть сам, но не все…
1. попробуйте найти спецификации с какими техническими данными конвертят другие утилиты
2. поставьте свои кодеки для TrueHD и в опциях VLC укажите — использовать внешние кодеки
первая же ссылка это. — «Серьезный разговор о VLC / Софт / Хабрахабр»
грамотные люди ищут по запросу «vlc settings» на сайте «videolan.org»
@FOR %%i IN (*.flv *.avi) DO IF NOT EXIST "out_%%i.mp4" @"C:\\Program Files\VideoLAN\VLC\vlc.exe" -vvv "%%i" :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="out_%%i.mp4"}" vlc://quitили команда
@FOR %i IN (*.flv *.avi) DO IF NOT EXIST "out_%i.mp4" @"C:\\Program Files\VideoLAN\VLC\vlc.exe" -vvv "%i" :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="out_%i.mp4"}" vlc://quitчто делает — конвертит все в папочке в мп4, если не сконвертило раньше…