OSX: использование CLI-версии VLC

22

Как я могу использовать версию CLI VLC на OSX?

После установки VLC на OSX, он работает нормально через обычный процесс графического интерфейса, прожектор и т. Д. Кроме того, я знаю, что это можно сделать

open bla.avi -a vlc

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

CLI-версия VLC очень удобна для транскодирования, потоковой передачи и т. Д. Поэтому было бы неплохо, чтобы она работала.

lang2
источник
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.

slhck
источник
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.

kenorb
источник
1

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

    export VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins
    /Applications/VLC.app/Contents/MacOS/VLC -I dummy "${@}"
larrycz
источник
1

К вашему сведению и / или чаевые.

Вот 2 способа узнать фактический путь к приложению, которое запускается с помощью 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.
KEINOS
источник
0

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

В этом случае двоичный файл VLC находится в Contents/MacOSпапке в виде файла VLC. Открыть Terminalи введите точный путь к файлу на это, и вы найдете бинарные Выполняет VLC: /Applications/VLC.app/Contents/MacOS/VLC. Если вы не хотите каждый раз использовать весь этот путь, вы можете создать символическую ссылку и отредактировать вашу Bash PATH, чтобы указать на это.

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

Как только вы найдете рабочий набор команд для ваших вызовов VLC CLI, который выдает намеченный результат, вы, вероятно, захотите использовать dummyинтерфейс при вызове VLC в вашей программе / пакетной обработке. dummyИнтерфейс в основном ничего , но выход в терминале , как и большинство неинтерактивных программ CLI.

Конечный результат: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

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

Карате-пацан
источник