OSX: VLC के CLI वर्जन का उपयोग


22

मैं ओएसएक्स पर वीएलसी के सीएलआई संस्करण का उपयोग कैसे कर सकता हूं?

OSX पर VLC स्थापित करने के बाद, यह सामान्य GUI प्रक्रिया, स्पॉटलाइट आदि के माध्यम से ठीक काम करता है। इसके अलावा, मुझे पता है कि यह करना संभव है

open bla.avi -a vlc

हालाँकि, जब मैं vlcशेल में कमांड जारी करता हूं, तो यह काम नहीं करता है। which vlcखोल में कुछ भी वापस नहीं करता है।

वीएलसी का सीएलआई संस्करण ट्रांसकोडिंग, स्ट्रीमिंग आदि के लिए बहुत उपयोगी है, इसलिए इसे काम करना अच्छा होगा।


1
आपका प्रश्न यहाँ क्या है? क्या आप सिर्फ कमांड की तलाश में हैं? आपने क्या प्रयास किया है?
बरन

लिनेक्स के तहत जब मैं vlcटर्मिनल में जारी करता हूं तो यह मुझे उपयोग करने के लिए कहता है मुझे cvlcलगता है कि यह OSX के तहत समान होगा।
बरन

इसलिए मैं यह सोचते कर रहा हूँ कि आप वीएलसी डाउनलोड किया ... यह कार्यक्रम के साथ की जरूरत कमांड लाइन उपकरण जहाज चाहिए ... यह कर सकते हैं करते हैं , ट्रांसकोडिंग स्ट्रीमिंग, "आदि", लेकिन आप हमारे लिए क्रम में एक विशिष्ट उपयोग के प्रदान करने की आवश्यकता कोई विस्तृत जानकारी प्रदान करने के लिए।
१०:२२

कृपया यह न लिखें कि यह काम नहीं करता है क्योंकि मुझे पूरा यकीन है कि यह काम करता है, बस उस तरीके से नहीं जिस तरह आप इसकी उम्मीद करते हैं। तो कृपया बताएं कि आप क्या चाहते हैं और इसके बदले आपको क्या मिलता है।
बरन

3
@allquixotic दुर्भाग्य से, OS X पर, VLC कमांड लाइन संस्करण स्थापित नहीं करता है।
slhck

जवाबों:


23

कमांड open bla.avi -a vlcकाम करता है क्योंकि OS X एप्लिकेशन लॉन्च करने के लिए अपने लॉन्च सर्विसेज डेटाबेस का उपयोग कर रहा है 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 कमांड के माध्यम से खोलना चाहते हैं, तो कमांड से निकालें ।
मिकीएलएल

4
@MikeiLL आप सिर्फ कॉल कर सकते हैं open -a VLC। ओएस एक्स में किसी भी अनुप्रयोग के साथ यह काम करता है
slhck

मैं इस उपनाम cvlcको यह स्पष्ट करने के लिए कहना पसंद करता हूं कि यह कमांड लाइन वीएलसी है (और लिनक्स संस्करण के अनुरूप भी हो सकता है)।
लिनोहोह

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 ncursesncurses UI लॉन्च करेगा।


--intf ncursesझंडा शांत है
CWD

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

ऊपर कोड लिनक्स पर डिफ़ॉल्ट व्यवहार है।


1

डमी इंटरफ़ेस कमांड लाइन पर बैच ऑपरेशन की अनुमति देता है। मैं इस तरह से / usr / स्थानीय / बिन / vlc में सहेजी गई शेल स्क्रिप्ट का उपयोग करता हूं:

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

1

FYI करें और / या एक टिप।

कमांड के साथ लॉन्च होने वाले ऐप के वास्तविक पथ का पता लगाने के लिए यहां 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/

Via 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 मैक एप्लिकेशन पैकेज में वास्तविक बाइनरी निष्पादन योग्य का पता लगाने की आवश्यकता है। खोलें Finder, Applicationsफ़ोल्डर पर जाएं, वीएलसी ऐप पर राइट-क्लिक करें और फिर क्लिक करें Show Package Contents। अब आप ब्राउज़ कर सकते हैं कि वास्तव में अंदर क्या है।

इस स्थिति में, VLC बाइनरी Contents/MacOSफ़ाइल के रूप में फ़ोल्डर में स्थित है VLC। इसके Terminalलिए सटीक फ़ाइल पथ खोलें और दर्ज करें, और आपको वीएलसी बाइनरी निष्पादित होगा /Applications/VLC.app/Contents/MacOS/VLC:। यदि आप हर बार इस पूरे रास्ते का उपयोग नहीं करना चाहते हैं, तो आप इसे इंगित करने के लिए अपने बैश पेट को संपादित कर सकते हैं।

अब जब आप बाइनरी को सीएलआई से सही कह सकते हैं, तो आप शायद एक इंटरफ़ेस चुनना चाहेंगे ताकि आपके पास सामान्य जीयूआई पॉप अप न हो। उपलब्ध इंटरफेस की एक पूरी सूची वीएलसी इंटरफेसेस विकी पेज पर है

एक बार जब आप अपने वीएलसी सीएलआई कॉल के लिए आदेशों का कार्य सेट ढूंढ लेते हैं जो आपके इच्छित आउटपुट का उत्पादन करता है, तो आप शायद dummyअपने प्रोग्राम / बैच प्रोसेसिंग में वीएलसी को कॉल करते समय इंटरफ़ेस का उपयोग करना चाहते हैं । dummyइंटरफ़ेस मूल रूप से सबसे गैर-सहभागी CLI कार्यक्रमों की तरह कुछ भी नहीं लेकिन टर्मिनल में उत्पादन होता है।

अंतिम परिणाम: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

मैं -vvvपैरामीटर का उपयोग करने की सलाह देता हूं ताकि आपको विभिन्न कमांड का परीक्षण करने में मदद करने के लिए व्यापक लॉग आउटपुट प्राप्त हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.