OSX: menggunakan versi CLI VLC

22

Bagaimana saya bisa menggunakan versi CLI VLC di OSX?

Setelah menginstal VLC pada OSX, itu berfungsi dengan baik melalui proses GUI normal, sorotan, dll. Juga, saya tahu itu mungkin dilakukan

open bla.avi -a vlc

Namun, ketika saya mengeluarkan vlcperintah di shell, itu tidak berfungsi. which vlcdi shell juga tidak mengembalikan apa pun.

VLC versi CLI sangat berguna untuk transcoding, streaming, dll. Jadi alangkah baiknya untuk membuatnya berfungsi.

lang2
sumber
1
Apa pertanyaan anda di sini Apakah Anda hanya mencari perintah? Apa yang sudah kamu coba?
Baarn
Di Linux ketika saya mengeluarkan vlcdi terminal itu memberitahu saya untuk menggunakan cvlcsaya kira itu akan sama di bawah OSX.
Baarn
Jadi saya berasumsi bahwa Anda mengunduh VLC ... itu harus mengirimkan alat-alat baris perintah yang diperlukan dengan program ... itu dapat melakukan transcoding, streaming, "dll", tetapi Anda perlu memberikan kasus penggunaan khusus agar kami untuk memberikan informasi terperinci.
allquixotic
tolong jangan menulis itu tidak berhasil karena saya cukup yakin itu berfungsi, hanya saja tidak seperti yang Anda harapkan. Jadi tolong katakan apa yang Anda inginkan dan apa yang Anda dapatkan sebagai gantinya.
Baarn
3
@allquixotic Sayangnya, pada OS X, VLC tidak menginstal versi baris perintah.
slhck

Jawaban:

23

Perintah ini open bla.avi -a vlcberfungsi karena OS X menggunakan basis data Layanan Peluncuran untuk membuka aplikasi VLC. Ini tidak ada hubungannya dengan biner baris perintah dengan nama yang sama, yang tidak diinstal secara default.

Biner yang Anda cari ada di dalam VLC.apppaket, jadi Anda bisa mengetiknya di terminal:

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

Ini akan membuka VLC baris perintah interaktif. Atau, jalankan yang berikut ini agar baris di atas terdaftar sebagai alias ke vlc:

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

Setelah Anda menambahkan ini, Anda harus memulai ulang Terminal Anda. Sekarang ketik vlcdan Anda akan sampai ke baris perintah.

Jika Anda tidak menyukai antarmuka interaktif atau ingin menggunakan VLCopsi lain, Anda perlu mengeditnya ~/.bash_profile, misalnya melalui open -e ~/.bash_profile.

slhck
sumber
1
Hapus -I rcdari perintah jika Anda benar-benar ingin agar GUI terbuka melalui perintah baris perintah vlc.
MikeiLL
4
@MikeiLL Anda juga bisa menelepon open -a VLC. Ini bekerja dengan aplikasi apa pun di OS X.
slhck
Saya lebih suka memanggil alias ini cvlcuntuk membuatnya jelas itu adalah baris perintah VLC (dan juga konsisten dengan versi linux).
lenooh
3

Aplikasi OS X biasanya tidak menginstal program yang dapat dijalankan di luar bundel aplikasi mereka. Karena Anda biasanya tidak berinteraksi dengan mereka dari baris perintah, mereka tidak dimasukkan ke folder apa pun di Anda PATH.


Jika Anda menginstal VLC ke /Applications, executable yang sebenarnya adalah /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hakan menunjukkan bantuan, dan /Applications/VLC.app/Contents/MacOS/VLC --intf ncursesakan meluncurkan UI ncurses.

Daniel Beck
sumber
yang --intf ncursesbendera keren
cwd
2

Untuk mengakses vlcdari baris perintah, Anda dapat membuat tautan simbolik lokal seperti di bawah ini:

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

Agar perintah ini tersedia untuk semua pengguna, Anda mungkin ingin menautkannya /usr/local/bin.

Pastikan bahwa Anda ~/bin(atau /usr/local/bin) ada dalam PATHvariabel lingkungan Anda , dengan kata lain ~/.profilefile Anda berisi sesuatu seperti:

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

Kode di atas adalah perilaku default di Linux.

kenorb
sumber
1

Antarmuka dummy memungkinkan operasi batch pada baris perintah. Saya menggunakan skrip shell seperti ini yang disimpan di / usr / local / bin / vlc:

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

FYI dan / atau tip.

Di sini ada 2 cara untuk mengetahui jalur sebenarnya dari aplikasi yang diluncurkan dengan openperintah.

Bermanfaat, dalam hal VLC ditempatkan di direktori lain daripada /Applications, seperti /Users/<user>/Applications( ~/Applications) atau direktori lain.

Melalui AppleScript

Sederhana tetapi meluncurkan aplikasi.

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

Melalui perintah lsregister

Agak rumit tetapi tidak akan meluncurkan aplikasi.

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

Diuji pada: 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
sumber
0

Pertama, Anda perlu mencari biner aktual yang dapat dieksekusi dalam paket aplikasi VLC Mac. Buka Finder, buka Applicationsfolder, klik kanan pada aplikasi VLC lalu klik Show Package Contents. Sekarang Anda dapat menelusuri apa yang sebenarnya ada di dalamnya.

Dalam hal ini, biner VLC terletak di Contents/MacOSfolder sebagai file VLC. Terbuka Terminaldan masukkan path file yang tepat untuk ini, dan Anda akan menemukan VLC mengeksekusi biner: /Applications/VLC.app/Contents/MacOS/VLC. Jika Anda tidak ingin menggunakan seluruh jalur ini setiap kali, Anda dapat membuat symlink dan mengedit Bash PATH Anda untuk menunjuk ke ini.

Sekarang Anda dapat memanggil biner langsung dari CLI, Anda mungkin ingin memilih antarmuka sehingga Anda tidak memiliki GUI yang biasa muncul. Daftar lengkap antarmuka yang tersedia ada di halaman wiki Interfaces VLC .

Setelah Anda menemukan set perintah yang berfungsi untuk panggilan VLC CLI Anda yang menghasilkan output yang Anda inginkan, Anda mungkin ingin menggunakan dummyantarmuka saat memanggil VLC dalam program / pemrosesan batch Anda. The dummyantarmuka pada dasarnya tidak ada output dalam Terminal seperti kebanyakan program CLI non-interaktif.

Hasil akhir: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

Saya sarankan menggunakan -vvvparameter sehingga Anda mendapatkan hasil log yang luas untuk membantu saat Anda menguji perintah yang berbeda.

Bocah Karate
sumber