OSX: використання CLI-версії VLC


22

Як я можу використовувати CLI-версію VLC на OSX?

Після установки VLC на OSX він прекрасно працює через звичайний графічний інтерфейс, прожектор тощо. Також я знаю, що це можна зробити

open bla.avi -a vlc

Однак, коли я видаю vlcкоманду в оболонці, вона не працює. which vlcв оболонці теж нічого не повертає.

CLI-версія VLC дуже зручна для перекодування, потокового передавання тощо. Тому було б непогано працювати.


1
Яке тут ваше запитання? Ви просто шукаєте команду? Що ви пробували?
Baarn

Під Linux, коли я випускаю vlcв терміналі, він каже мені використовувати, cvlcя думаю, це було б те саме під OSX.
Baarn

Тож я припускаю, що ви завантажили VLC ... він повинен доставити необхідні інструменти командного рядка з програмою ... він може робити перекодування, потокове передавання "тощо", але вам потрібно надати конкретний випадок використання для того, щоб ми надати будь-яку детальну інформацію.
allquixotic

будь ласка, не пишіть це не працює, тому що я майже впевнений, що це працює, просто не так, як ви цього очікуєте. Тож скажіть, будь ласка, що ви хочете і що ви отримаєте замість цього.
Baarn

3
@allquixotic На жаль, на OS X VLC не встановлює версію командного рядка.
slhck

Відповіді:


23

Команда open bla.avi -a vlcпрацює тому, що OS X використовує свою базу даних Launch Services для відкриття VLC програми. Це не має нічого спільного з однойменним двійковим файлом командного рядка, який не встановлений за замовчуванням.

Бінарний файл, який ви шукаєте, знаходиться в VLC.appпакеті, тому ви можете ввести його в термінал:

/Applications/VLC.app/Contents/MacOS/VLC -I rc

Це відкриє інтерактивний командний рядок VLC. Або виконайте наступне, щоб зареєстрований вище рядок був псевдонімом vlc:

echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC -I rc'" >> ~/.bash_profile

Додавши це, вам потрібно перезапустити свій Термінал. Тепер введіть vlcі ви перейдете до командного рядка.

Якщо вам не подобається інтерактивний інтерфейс або ви хочете використовувати VLCз іншими параметрами, вам потрібно відредагувати ~/.bash_profileвідповідно, наприклад, через open -e ~/.bash_profile.


1
Видаліть -I rcіз команди, якщо ви дійсно хочете, щоб GUI відкривався через командний рядок команди vlc.
MikeiLL

4
@MikeiLL Ви також можете просто зателефонувати open -a VLC. Це працює з будь-яким додатком в OS X.
slhck

Я вважаю за краще називати цей псевдонім, cvlcщоб зрозуміти, що це командний рядок VLC (а також, щоб він відповідав версії linux).
lenooh

3

Програми OS X зазвичай не встановлюють будь-які виконувані програми за межами їх пакету програм. Оскільки ви зазвичай не взаємодієте з ними з командного рядка, вони не поміщаються в жодну папку на вашому PATH.


Якщо ви встановили VLC /Applications, фактичний виконуваний файл є /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hпокаже деяку допомогу та /Applications/VLC.app/Contents/MacOS/VLC --intf ncursesзапустить інтерфейс ncurses.


--intf ncursesпрапор прохолодно
ВУХО

2

Для доступу vlcз командного рядка ви можете створити локальне символічне посилання, як показано нижче:

mkdir ~/bin
ln -vs /Applications/VLC.app/Contents/MacOS/VLC ~/bin/vlc

Щоб ця команда була доступною для всіх користувачів, ви можете /usr/local/binзамість цього зв’язати її .

Переконайтеся, що ваш ~/bin(або /usr/local/bin) міститься у вашій PATHзмінній навколишнього середовища , іншими словами, ваш ~/.profileфайл містить щось на зразок:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Вищевказаний код - це поведінка за замовчуванням у Linux.


1

Інтерфейс манекена дозволяє проводити пакетну операцію в командному рядку. Я використовую такий сценарій оболонки, який зберігається у / usr / local / bin / vlc:

    export VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins
    /Applications/VLC.app/Contents/MacOS/VLC -I dummy "${@}"

1

FYI та / або підказка.

Ось два способи дізнатися фактичний шлях програми, яка запускається openкомандою.

Корисно, якщо VLC поміщається в інший каталог, а не /Applications, наприклад /Users/<user>/Applications( ~/Applications) або інші каталоги.

Через AppleScript

Простий, але запускає додаток.

$ osascript -e 'POSIX path of (path to application "VLC")'
/Applications/VLC.app/
$ 
$ osascript -e 'POSIX path of (path to application "GIMP")'
/Volumes/External_HDD/Applications/GIMP/GIMP_v2.8/GIMP.app/

Команда через lsregister

Трохи складне, але не запускає додаток.

$ # Path of `lsregister` command
$ #   /System/Library \
$ #     /Frameworks/CoreServices.framework/Versions/A \
$ #     /Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ ls
lsregister
$ 
$ # Sample usage
$ ./lsregister -dump | grep -o "/.*\Google Chrome.app" | head -1
/Applications/Google Chrome.app
$ 
$ # Find VLC
$ NAME_APP=VLC
$ ./lsregister -dump | grep -o "/.*${NAME_APP}.app" | grep -v -E "Caches|TimeMachine|Temporary|/Volumes/${NAME_APP}" | uniq
/Applications/VLC.app

Тестовано на: macOS HighSierra (OSX 10.13.6)

$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.

0

По-перше, вам потрібно знайти фактичний бінарний виконуваний файл у пакеті програм VLC Mac. Відкрийте Finder, перейдіть до Applicationsпапки, клацніть правою кнопкою миші додаток VLC, а потім клацніть Show Package Contents. Тепер ви можете переглядати, що насправді всередині.

У цьому випадку двійковий файл VLC знаходиться у Contents/MacOSпапці як файл VLC. Відкрити Terminalі введіть точний шлях до файлу на це, і ви знайдете бінарні Виконує VLC: /Applications/VLC.app/Contents/MacOS/VLC. Якщо ви не хочете використовувати весь цей шлях кожен раз, ви можете створити симпосилання і відредагувати Bash PATH, щоб вказати на це.

Тепер, коли ви можете зателефонувати в бінарний файл прямо з CLI, ви, ймовірно, захочете вибрати інтерфейс, щоб у вас не було звичного графічного інтерфейсу, що вискочив. Повний список доступних інтерфейсів знаходиться на сторінці вікі-інтерфейсів VLC .

Як тільки ви знайдете робочий набір команд для своїх викликів VLC CLI, який виробляє призначений вихід, ви, ймовірно, захочете використовувати dummyінтерфейс під час виклику VLC у вашій програмі / пакетній обробці. dummyІнтерфейс в основному нічого , але вихід в терміналі , як і більшість неінтерактивних програм CLI.

Кінцевий результат: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

Я рекомендую використовувати -vvvпараметр, щоб ви отримали обширний вихід журналу, щоб допомогти під час тестування різних команд.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.