5 трикове, за да получите повече от VLC Player в Linux

Кратко: Тази статия ви показва някои експертни VLC съвети, които ще ви помогнат да използвате този страхотен видео плейър за по-големи причини.

VLC съвети, за да получите повече от него

Познавате ли VLC, вездесъщия медиен плейър, флагман на проекта VideoLAN? VLC е инструмент за различни платформи и можете лесно да инсталирате VLC на Ubuntu или други дистрибуции на Linux. Има и MacOS и Windows версии, а дори и версии за вашия телефон / тампон / часовник, работещ с iOS или Android. Но това по-късно е само видео плейър. Както и да е, това е основният случай на използване на VLC. Или не е?

Всъщност, за работния плот, VLC е много повече от просто инструмент за възпроизвеждане на видеоклипове, съхранени на твърдия ви диск! Така че, останете с мен за обиколка на по-малко известните функции на този страхотен софтуер.

1. Използване на VLC за импортиране на видеоклипове от UPnP устройство

Преди да говорим за изграждането на UPnP в VLC, може би си струва да отделите малко време да обясните с няколко думи какво представлява UPnP.

Universal Plug and Play (UPnP) е набор от протоколи, които позволяват на свързаните устройства да откриват взаимно присъствие в мрежата. UPnP има за цел да направи мрежовите устройства plug'n'play, за да улесни приемането от нетехнически ориентирани потребители. Причината да спомена, че е много потребителски клас аудио-видео устройства, сега поддържат UPnP. Понякога това не е очевидно, защото тази възможност е ребрендирана като DLNA - но за нашата цел тя най-вече покрива едни и същи неща.

Това потребителско устройство може да действа като DLNA / UPnP медиен сървър

VLC поддържа UPnP. За съжаление към момента на писането VLC може да действа само като UPnP клиент. Не като UPnP сървър. Но това е достатъчно, ако искате да възпроизведете от VLC някакво съдържание, съхранено на външен UPnP сървър, точно като съвместим цифров видеорекордер или комбо DVD / BR / HDD домашен уред.

Възпроизвеждането на видеоклипове от UPnP мрежово устройство е доста интуитивно. Но знаете ли, като щракнете с десния бутон на мишката върху поток, който можете да копирате („запишете“) от UPnP устройство на местно устройство?

Трябва да призная в моята система, че работи само за записани видеоклипове, а не за предавания на живо. Дали това е проблем с моя HDD рекордер или VLC ограничение? Не мога да кажа със сигурност - между другото, ако имате повече информация за това, не се колебайте да споделите това с мен, като използвате раздела за коментари в долната част на тази статия!

Като допълнителен трик, тъй като моят HDD рекордер използва HTTP като транспортен слой, намирам за най-полезно да използвам VLC за изследване на йерархията на HDD, а след това да използвам някой инструмент за команден ред, за да изтеглите и / или обработите потока. Намирам по този начин повече „приятелски настроени“:

# Download raw stream data from my HDD curl //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ -o stream.raw 
 # Transcode the stream from my HDD using `ffmpeg` ffmpeg -i //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ -seekable 0 \ -codec:a copy \ -codec:v libx264 -preset fast -tune film \ out.mkv 

2. Използване на VLC за транскодиране на видеоклипове

В предишния пример използвах ffmpeg за транскодиране на видео от моя HDD рекордер. Но всъщност не се нуждаете от външен инструмент. VLC може да го направи. И дори от командния ред:

 cvlc //10.129.36.11:60001/AV-0-268435456-2-0-268435503-251953200_BDY \ --sout-x264-preset fast --sout-x264-tune film \ --sout "#transcode{vcodec=h264, acodec=copy}:file{dst=out.mp4}" \ vlc://quit 

3. VLC плейър без интерфейс

Знаете ли, че в командата по-горе, аз използвах командата cvlc вместо vlc ? Не, cvlc не е вилица. Това е просто начин да стартирате VLC без графичния потребителски интерфейс.

Например, ако искате да възпроизведете цял екран на цял екран, без да се притеснявате от потребителския интерфейс, просто напишете:

 cvlc --play-and-exit \ --fullscreen \ stream.raw 

Намирам cvlc особено полезно, когато използвам VLC за групова обработка, или когато трябва да възпроизвеждам видеоклипове в режим “kiosk”. Помислете например за рекламен дисплей PoP / PoS в магазина. За тази задача cvlc може да бъде алтернатива на ffplay или mplayer .

4. Използване на VLC за запис на екранни снимки

VLC е страхотен видео плеър. Освен това, тъй като току-що го видяхме, той може да сваля и прекодира видеоклипове. Но това не би било пълно видео решение, ако не записва видеоклипове.

И това се случи: чрез VLC можете да записвате видеоклипове от различни входни устройства, като например уеб камера. Или DVB-S2 ТВ тунер карта.

Но има едно псевдоустройство, което ще привлече вниманието ми тук: устройството "Desktop".

Това устройство ви позволява да заснемете екрана на компютъра точно като, ако това е "истинско" входно видео устройство. Това е хубава възможност, ако искате да запишете вашия работен плот за урок или скрийнкаст например. Единственият реален недостатък е, че VLC в момента не може да записва курсора на Linux - така че може да не е най-добрият инструмент за улавяне на екрана. Но работи.

За да запишете вашия десктоп с помощта на VLC, просто отворете диалоговия прозорец на устройството за заснемане, променете настройките според вашите нужди за вход "Desktop" и ... натиснете ... "play".

Признавам, че първоначално тази част беше малко противоположна на мен. Но използвайки VLC GUI, трябва да натиснете „play“, за да „отворите“ устройството. И само след това можете да натиснете бутона „запис”, за да уловите потока.

Натиснете бутона за запис, за да запишете потока, който VLC играе

VLC ви дава достъп до различни устройства за улавяне: уеб камера, DVB карта, …

С VLC можете дори да заснемете вашия работен плот. Много полезна за бързи скрийнкастове!

Внимание: При една истинска Debian Stretch / Sid Linux система трябваше да инсталирам допълнителния пакет vlc-plugin-access-extra за да работи и да се отърва от “VLC не може да отвори екрана на MRL: //” / "Отваряне на" екран: // " грешка".

Доколкото знам, няма никаква обратна връзка в потребителския интерфейс, за да ви уведомим къде всъщност е записан файлът. На моята система, тя отива в ~/Videos/vlc-record--.avi .

Това вероятно може да се промени някъде в предпочитанията за VLC. Но когато се нуждая от тази функция, предпочитам да използвам командния ред, който ми дава по-голям контрол и може лесно да се интегрира като част от скрипт:

 cvlc screen:// \ --screen-fps=30\ --sout-x264-preset fast --sout-x264-tune animation \ --sout "#transcode{vcodec=h264, acodec=copy}:file{dst=out.mp4}" 

Това не ви ли е познато? Ако е така, това е така: това е почти същата команда, както аз използвах по-горе, за да кодирам поток от моя HDD рекордер.

Аргументите на командния ред на VLC са доста сложни и тук няма да копая твърде много в тази тема. Но най-хубавото е, че след като разберете няколко основни команди, можете да ги използвате каквото и да е източникът на потока.

5. Използване на VLC за поточно видео

Плейър, транскодер, записващо устройство - списъкът няма да бъде пълен, ако не спомена "сървър". Видяхме, че VLC може да действа като клиент за показване на мрежов видеопоток. И споменах, че не може да се използва като DLNA сървър. Но той поддържа някои други сървърни протоколи, позволявайки на отдалечените клиенти да изтеглят и показват видеофайл, който се хоства на компютъра ви.

Това може да бъде полезно, например за гледане на телевизора във всекидневната, който е на разположение на вашия лаптоп. Или да излъчват реклами, които да се показват на различни екрани, разпръснати на някакво обществено място.

За известно време VideoLAN осигуряваше инструмента vls (VideoLAN Server) за тази конкретна цел. Но VLS са обединени във VLC - и днес VLS е отхвърлена и като такава не може да се поддържа от години.

С VLC можете да използвате графичния интерфейс, за да стартирате стрийминг на видеоклипове. Чрез интерфейса "поток" ще изберете видеоклиповете, които искате да споделите, след което изберете типа споделяне, който искате да използвате.

В този пример възнамерявах да насочвам видеоклипове с помощта на HTTP протокола, тъй като той е доста универсално поддържан.

VLC може да действа и като сървър

Първо трябва да изберете списъка с видеоклипове, които искате да споделите

След като сте кликнали върху „поток“ в предишната стъпка

Изберете дестинацията (ите) от потока. В моя случай

Задайте опциите, съответстващи на избраната дестинация. След това натиснете следващата.

В крайна сметка изберете някои опции за транскодиране. Може да е полезно да се намали използването на честотната лента.

Всичко е готово. Можете да започнете да стриймирате сега.

Хубавото на помощника за VLC е на последния екран, имате действителните опции за командния ред, които ви позволяват да стартирате стрийминг сървъра, без да се налага ръчно да преминете през всички стъпки отново. Това ви позволява отново да използвате или адаптирате настройките по-късно и да стартирате VLC стрийминг сървър без надзор на потребителя.

Това беше, всъщност, късмет, когато тествах тази функция, тъй като аз трябваше да ощипвам малко VLC кодек опция, за да правилно поток моето видео. По-точно, трябваше да използвам MPEG 1 - Audio Layer 3 Codec (MP3) вместо MPEG 1 - Layer 2 Audio Codec (mpga). Не ме питайте защо, но при транскодиране на моя видео файл на “MP2”, транскодираните файлове съдържаха до 24 празни аудиозаписи, докато “MP3” транскодираният файл съдържаше само “дясната” аудио писта. Още веднъж, ако имате някаква представа за този проблем, вие сте повече от добре дошли да коментирате тази статия! Така или иначе:

 cvlc /path/to/my/file.mp4 \ --sout=#transcode{vcodec=h264, acodec=mp3, ab=128, channels=2, samplerate=44100}:http{mux=ffmpeg{mux=flv}, dst=:8181/movie} \ --sout-keep 

Но трябва да разберете, че стартира стрийминг сървър. Не само файлов сървър . Това означава, че след като сървърът е стартиран и работи, VLC започва да "пуска" входния поток, без да изчаква клиентите да се свържат . С други думи, ако ви отнеме 5 минути, за да стартирате клиента и да се свържете със сървъра - пропуснахте първите 5 минути на филма си! Така че вероятно трябва да сте готови за клиента, преди да стартирате сървъра ...

 # display the video: vlc //addr.of.the.server:8181/movie ffplay //addr.of.the.server:8181/movie mplayer //addr.of.the.server:8181/movie 

Можете да намерите списък на поддържаните протоколи и съвместимостта на потоци на уебсайта на VideoLAN: //www.videolan.org/streaming-features.html. Тук използвах протокола HTTP. Но за по-сложни приложения за стрийминг ви препоръчвам да изследвате протокола за транспортиране в реално време (RTP). Хубавото с RTP е, че поддържа мултикастинг . Без да навлиза в детайлите, HTTP се основава на протокола TCP, който е предназначен за надеждна комуникация "един към един" (unicast). Докато RTP се основава на UDP, която е по-малко надеждна, но може да се използва за комуникации един-към-много ([multicast]] (// en.wikipedia.org/wiki/Multicast)).

Просто казано, когато се използва HTTP протокол, сървърът трябва да изпрати данните поотделно на всеки клиент. Това означава, че ако имате 100 клиента, използвайки HTTP протокол, VLC трябва да изпрати всеки пакет от данни 100 пъти. Веднъж за всеки свързан клиент. Но с RTP можете да използвате multicast адрес и един и същ пакет може да бъде пренасочен към няколко клиента едновременно. Ако имате 100 клиента, свързани към един и същ multicast адрес, VLC сървърът трябва да изпрати всеки пакет данни само веднъж. Към адреса за множествено предаване. А LAN инфраструктурата (рутери, комутатор) поема отговорността да изпрати този пакет до всички клиенти. Очевидно е, че това намалява използването на трафик и натоварването на сървъра.

HTTP, RTP unicast и RTP multicast в момента са само трите протокола за стрийминг, поддържани от VLC.

 # Start VLC as a multicast RTP server cvlc -vvv ~/some-video.avi \ --sout='#transcode{vcodec=h264, acodec=mp3, ab=128, channels=2, samplerate=44100}:rtp{mux=ts, dst=224.0.0.10, port=1234}'\ --sout-keep 

Възможностите за VLC стрийминг са доста зрели и чрез транскодиране, можете да предавате почти всеки видео файл. Като се има предвид, че ако планирате редовно да използвате функцията за стрийминг, определено трябва да обмислите обработката на файловете предварително, като в крайна сметка използвате по-специализиран инструмент като ffmpeg . Това не само ще намали натоварването на сървъра в сравнение с транскодирането на живо, но освен това транскодирането на файлове, съдържащи няколко аудио- или видео-писти с VLC, може да бъде предизвикателство.

5. Получаване на помощ с VLC

Може да сте забелязали, че споменах няколко пъти ffmpeg . Една от причините, поради които особено ми харесва този инструмент, е поради голямата документация, свързана с този проект.

Няма да се обиждаме, ако се каже, че документацията на VLC е много по-малко… подгъва… „изчерпателна“, отколкото нейната колега от ffmpeg . Една от функциите, която всъщност открих (и използвах!) При писането на тази статия, е вградената помощ за различните VLC модули. Например, преди това сме използвали - сред другите - модули за транскодиране и HTTP. Можете да получите (някои) помощ за различните опции, поддържани от тези модули, като използвате следните команди:

 vlc -p transcode --advanced vlc -p http --advanced 

Тази помощ не е много подробна. Но най-малкото, след като сте го използвали, имате някои улики за ключовите думи, които да въвеждате във вашата любима търсачка!

Уевак, Ринсуинд и другите

Последният ми “трик” на VLC не е истински трик. Но аз не бих заключил тази статия, без да споменавам имената на VLC.

Сега използвам VLC "Weatherwax" (v2.2.x). И първият ми опит с VLC вероятно датира от “The Luggage” (v1.1.x). Ако някога се чудите откъде идват тези фантастични имена, те всъщност са имена на иконични символи от поредицата книги "Дискворд" на Тери Пратчет († 2015). Като първа версия, издадена след смъртта му, VLC 2.2.1 беше кодово име „Terry Pratchett“ като поклонение.

Както забелязахте, проучвайки VLC извън неговите най-основни възможности, ние се отклонихме в зона с висок магически индекс . И едва почесахме повърхността. Все още има много неща, за да се каже за този инструмент. Ако сте на ваша страна, знаете някои страхотни VLC трикове или срещнахте оригинални случаи на употреба, не се колебайте да споделите това с нас, като използвате раздела за коментари по-долу. Точно там е за тази цел!

Препоръчано

digiKam 5.0 Издаден! Инсталирайте го в Ubuntu Linux
2019
Mycroft Mark II: Отговорът с отворен код на Amazon Echo и Google Home, който не ви шпионира
2019
13 неща, които трябва да направите след инсталирането на Ubuntu 17.04
2019