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 vlc
polecenia w powłoce nie działa. which vlc
w 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.
vlc
w terminalu, mówi mi, żebym go używał.cvlc
Myślę, że będzie tak samo w OSX.Odpowiedzi:
Polecenie
open bla.avi -a vlc
dział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.app
pakiecie, więc możesz wpisać go w terminalu:Spowoduje to otwarcie interaktywnej linii poleceń VLC. Lub wykonaj następujące czynności, aby zarejestrować powyższą linię jako alias
vlc
:Po dodaniu tego musisz ponownie uruchomić Terminal. Teraz wpisz,
vlc
a przejdziesz do wiersza poleceń.Jeśli nie podoba ci się interfejs interaktywny lub chciałbyś korzystać
VLC
z innych opcji, musisz odpowiednio zmodyfikować swój~/.bash_profile
, npopen -e ~/.bash_profile
. Poprzez .źródło
-I rc
z polecenia, jeśli faktycznie chcesz, aby GUI otwierało się za pomocą wiersza polecenia vlc.open -a VLC
. Działa to z dowolną aplikacją w OS X.cvlc
aby wyjaśnić, że jest to wiersz poleceń VLC (i żeby był również zgodny z wersją linux).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 -h
pokaże pomoc i/Applications/VLC.app/Contents/MacOS/VLC --intf ncurses
uruchomi interfejs użytkownika ncurses.źródło
--intf ncurses
flaga jest coolAby uzyskać dostęp
vlc
z wiersza poleceń, możesz utworzyć lokalne łącze symboliczne, jak poniżej:Aby to polecenie było dostępne dla wszystkich użytkowników, możesz
/usr/local/bin
zamiast tego połączyć je z poleceniem .Upewnij się, że Twój
~/bin
(lub/usr/local/bin
) znajduje się wPATH
zmiennej środowiskowej , innymi słowy, że~/.profile
plik zawiera coś takiego:Powyższy kod to domyślne zachowanie w systemie Linux.
źródło
Interfejs fikcyjny umożliwia działanie wsadowe w wierszu polecenia. Używam takiego skryptu powłoki, jak ten zapisany w / usr / local / bin / vlc:
źródło
FYI i / lub napiwek.
Oto 2 sposoby na znalezienie rzeczywistej ścieżki aplikacji uruchamianej za pomocą
open
polecenia.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ę.
Za pomocą polecenia lsregister
Trochę skomplikowane, ale nie uruchomi aplikacji.
Testowane na: macOS HighSierra (OSX 10.13.6)
źródło
Najpierw musisz zlokalizować binarny plik wykonywalny w pakiecie aplikacji VLC dla komputerów Mac. Otwórz
Finder
, przejdź doApplications
folderu, kliknij prawym przyciskiem myszy aplikację VLC, a następnie kliknijShow Package Contents
. Teraz możesz przeglądać to, co jest w środku.W takim przypadku plik binarny VLC znajduje się w
Contents/MacOS
folderze jako plikVLC
. OtwórzTerminal
i 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ć
dummy
interfejsu podczas wywoływania VLC w programie / przetwarzaniu wsadowym.dummy
Interfejs 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
-vvv
parametru, aby uzyskać obszerne dane wyjściowe dziennika pomocne podczas testowania różnych poleceń.źródło