OSX: za pomocą VLC w wersji CLI

22

Jak mogę używać VLC w wersji CLI na OSX?

Po zainstalowaniu VLC na OSX działa dobrze poprzez normalny proces GUI, wyróżnienie itp. Wiem też, że można to zrobić

open bla.avi -a vlc

Jednak po wydaniu vlcpolecenia w powłoce nie działa. which vlcw powłoce też nic nie zwraca.

Wersja VLC CLI jest bardzo przydatna do transkodowania, przesyłania strumieniowego itp. Byłoby miło, gdyby działała.

lang2
źródło
1
Jakie jest twoje pytanie tutaj? Po prostu szukasz polecenia? Czego próbowałeś?
Baarn,
Pod Linuksem, kiedy wydaje się vlcw terminalu, mówi mi, żebym go używał. cvlcMyślę, że będzie tak samo w OSX.
Baarn,
Więc jestem przy założeniu, że został pobrany VLC ... powinien wysyłać potrzebnych narzędzi wiersza polecenia z programu ... Można to zrobić transkodowanie, streaming „etc”, ale musisz podać konkretny przypadek użycia w porządku dla nas podać wszelkie szczegółowe informacje.
allquixotic
proszę nie pisz, że to nie działa, ponieważ jestem pewien, że działa, ale nie w sposób, w jaki się spodziewasz. Więc powiedz, czego chcesz, a co otrzymasz.
Baarn,
3
@allquixotic Niestety, w OS X VLC nie instaluje wersji wiersza poleceń.
slhck,

Odpowiedzi:

23

Polecenie open bla.avi -a vlcdziała, ponieważ OS X używa swojej bazy danych usług uruchamiania do otwierania VLC aplikacji. Nie ma to nic wspólnego z plikiem binarnym wiersza polecenia o tej samej nazwie, który nie jest domyślnie instalowany.

Plik binarny, którego szukasz, znajduje się w VLC.apppakiecie, więc możesz wpisać go w terminalu:

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

Spowoduje to otwarcie interaktywnej linii poleceń VLC. Lub wykonaj następujące czynności, aby zarejestrować powyższą linię jako alias vlc:

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

Po dodaniu tego musisz ponownie uruchomić Terminal. Teraz wpisz, vlca przejdziesz do wiersza poleceń.

Jeśli nie podoba ci się interfejs interaktywny lub chciałbyś korzystać VLCz innych opcji, musisz odpowiednio zmodyfikować swój ~/.bash_profile, np open -e ~/.bash_profile. Poprzez .

slhck
źródło
1
Usuń -I rcz polecenia, jeśli faktycznie chcesz, aby GUI otwierało się za pomocą wiersza polecenia vlc.
MikeiLL,
4
@MikeiLL Możesz także po prostu zadzwonić open -a VLC. Działa to z dowolną aplikacją w OS X.
slhck
Wolę nazywać ten alias, cvlcaby wyjaśnić, że jest to wiersz poleceń VLC (i żeby był również zgodny z wersją linux).
lenooh
3

Aplikacje OS X zwykle nie instalują żadnych plików wykonywalnych programów poza pakietem aplikacji. Ponieważ zazwyczaj nie komunikujesz się z nimi z wiersza poleceń, nie są one umieszczane w żadnym folderze w twoim PATH.


Jeśli zainstalowałeś VLC do /Applications, rzeczywisty plik wykonywalny to /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hpokaże pomoc i /Applications/VLC.app/Contents/MacOS/VLC --intf ncursesuruchomi interfejs użytkownika ncurses.

Daniel Beck
źródło
--intf ncursesflaga jest cool
CWD
2

Aby uzyskać dostęp vlcz wiersza poleceń, możesz utworzyć lokalne łącze symboliczne, jak poniżej:

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

Aby to polecenie było dostępne dla wszystkich użytkowników, możesz /usr/local/binzamiast tego połączyć je z poleceniem .

Upewnij się, że Twój ~/bin(lub /usr/local/bin) znajduje się w PATHzmiennej środowiskowej , innymi słowy, że ~/.profileplik zawiera coś takiego:

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

Powyższy kod to domyślne zachowanie w systemie Linux.

kenorb
źródło
1

Interfejs fikcyjny umożliwia działanie wsadowe w wierszu polecenia. Używam takiego skryptu powłoki, jak ten zapisany w / usr / local / bin / vlc:

    export VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins
    /Applications/VLC.app/Contents/MacOS/VLC -I dummy "${@}"
Larrycz
źródło
1

FYI i / lub napiwek.

Oto 2 sposoby na znalezienie rzeczywistej ścieżki aplikacji uruchamianej za pomocą openpolecenia.

Pomocne, w takim przypadku VLC jest umieszczane w innym katalogu niż /Applications, takim jak /Users/<user>/Applications( ~/Applications) lub w innych katalogach.

Za pomocą AppleScript

Proste, ale uruchamia aplikację.

$ 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/

Za pomocą polecenia lsregister

Trochę skomplikowane, ale nie uruchomi aplikacji.

$ # 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

Testowane na: 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
źródło
0

Najpierw musisz zlokalizować binarny plik wykonywalny w pakiecie aplikacji VLC dla komputerów Mac. Otwórz Finder, przejdź do Applicationsfolderu, kliknij prawym przyciskiem myszy aplikację VLC, a następnie kliknij Show Package Contents. Teraz możesz przeglądać to, co jest w środku.

W takim przypadku plik binarny VLC znajduje się w Contents/MacOSfolderze jako plik VLC. Otwórz Terminali podaj dokładną ścieżkę do tego, a przekonasz binarne VLC wykonuje: /Applications/VLC.app/Contents/MacOS/VLC. Jeśli nie chcesz korzystać z tej całej ścieżki za każdym razem, możesz utworzyć dowiązanie symboliczne i edytować ścieżkę Bash, aby na to wskazać.

Teraz, gdy możesz wywoływać pliki binarne bezpośrednio z interfejsu CLI, prawdopodobnie będziesz chciał wybrać interfejs, aby nie wyświetlać się zwykłe GUI. Pełna lista dostępnych interfejsów znajduje się na stronie wiki Interfejsy VLC .

Po znalezieniu roboczego zestawu poleceń dla wywołań VLC CLI, który generuje zamierzone dane wyjściowe, prawdopodobnie będziesz chciał użyć dummyinterfejsu podczas wywoływania VLC w programie / przetwarzaniu wsadowym. dummyInterfejs jest w zasadzie nic innego wyjścia w terminalu jak większość nieinterakcyjnych programów CLI.

Wynik końcowy: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

Zalecam użycie tego -vvvparametru, aby uzyskać obszerne dane wyjściowe dziennika pomocne podczas testowania różnych poleceń.

Dziecko karate
źródło