OSX एक कमांड लाइन वीडियो रूपांतरण उपयोगिता avconvert के साथ आता है लेकिन यह उपकरण libav द्वारा प्रदान किए गए एवोकॉन की तुलना में सीमित कार्यक्षमता प्रदान करता है ।
मैं ओएस एक्स पर एवोकॉन कैसे स्थापित कर सकता हूं?
OSX एक कमांड लाइन वीडियो रूपांतरण उपयोगिता avconvert के साथ आता है लेकिन यह उपकरण libav द्वारा प्रदान किए गए एवोकॉन की तुलना में सीमित कार्यक्षमता प्रदान करता है ।
मैं ओएस एक्स पर एवोकॉन कैसे स्थापित कर सकता हूं?
जवाबों:
बस इसे काढ़ा के साथ स्थापित करें:
brew install libav
पहले पुस्तकालय को पकड़ो:
wget http://libav.org/releases/libav-10.1.tar.gz
# use http://libav.org/releases/libav-snapshot.tar.bz2 for the latest snapshot
tar -xvzf libav-10.1.tar.gz
cd libav-10.1
MacPorts (या अन्य पैकेज प्रबंधक जैसे Homebrew ) के साथ निर्भरताएं सेट करें :
sudo port install yasm zlib bzip2 faac lame speex libogg libvorbis libtheora libvpx x264 XviD openjpeg15 opencore-amr freetype
निर्माण लिबाव:
./configure \
--extra-cflags=-I/opt/local/include --extra-ldflags=-L/opt/local/lib \
--enable-gpl --enable-libx264 --enable-libxvid \
--enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb \
--enable-nonfree --enable-libfaac \
--enable-libmp3lame --enable-libspeex --enable-libvorbis --enable-libtheora --enable-libvpx \
--enable-libopenjpeg --enable-libfreetype --enable-doc --enable-gnutls --enable-shared
make && sudo make install
तब आप चला सकते हैं avconv
:
avconv -i input.avi -c:v libx264 -preset slow -crf 18 output.mp4
x264 +asm
काम पाने के लिए आवश्यक प्रतीत होता है cpu-capabilities
, इसलिए यदि आप उन्हें प्राप्त नहीं करते (यानी। [libx264 @ 0x7fe66101a800] using cpu capabilities: none!
) चलाते हैं:सूडो पोर्ट अपग्रेड --enforce- वेरिएंट x264 + asm
आपको इस तरह से sth मिलना चाहिए: [libx264 @ 0x7fc62401b600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig'. Also, for the fun of it, you may add, to
कॉन्फ़िगर , options:
--extra-CFLAGS = मैं / opt / स्थानीय / --extra-LDFLAGS शामिल = एल / opt / स्थानीय / lib . Then the whole
। / चमत्कृत रूप से ऊपर से 'कॉन्फ़िगर करें'!
brew install libav
काम करने के लिए होमब्रे को फिर से स्थापित करना पड़ा ।
बिना उन लोगों के लिए brew
- और जब तक macports के लिए एक बंदरगाह के साथ आने के लिए libav
, यहाँ OSX 10.8.5 पर स्रोत (लिबाव संस्करण 12_dev0
, github से) पर libav स्थापित करने के लिए मेरे नोट्स हैं ।
मैंने जो मुख्य समस्या पेश की, वह यह थी कि लिबाव का उपयोग होता है sem_timedwait()
(लिनक्स में semaphore.h) जिसे मैकोस में परिभाषित नहीं किया गया है।
इस पोस्ट https://stackoverflow.com/a/15163760 में उल्लेख है कि कीथ शॉर्ट्रिज ऑफ़ द ऑस्ट्रेलियन एस्ट्रोनॉमिकल ऑब्जर्वेटरी के सॉफ्टवेयर ग्रुप (धन्यवाद) ने मैकोस के लिए उक्त फ़ंक्शन का कार्यान्वयन लिखा है जो यहाँ पाया जा सकता है https:// githubattattie / libxbee3 / पेड़ / मास्टर / xsys_darwin
दो फ़ाइलों को डाउनलोड करें ${LIBAVDIR}/libavdevice
और फिर हेडर फ़ाइल में निम्न पंक्ति जोड़ें sem_timedwait.h
:
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
फिर मेकफिल को संपादित करें ${LIBAVDIR}/libavdevice
और चर sem_timedwait.o
के अंत में जोड़ेंOBJS
कॉन्फ़िगर करें और सभी बनाएं
तुम तैयार हो।
रिकॉर्ड के लिए, मैंने निम्नलिखित कॉन्फ़िगर कमांड का उपयोग किया:
./configure --extra-cflags=-I/opt/local/include --extra-ldflags=-L/opt/local/lib --enable-gpl --enable-libx264 --enable-libxvid --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-nonfree --enable-libfaac --enable-libmp3lame --enable-libspeex --enable-libvorbis --enable-libtheora --enable-libvpx --enable-libopenjpeg --enable-libfreetype --enable-doc --enable-gnutls --prefix=/opt/local
चेतावनी: मैं यह नहीं कह सकता या गारंटी नहीं दे सकता कि क्या उक्त क्रियान्वयन sem_timedwait()
सही है और / या उसके काम करने का कोई दुष्प्रभाव है libav
या वास्तव में सिस्टम के किसी अन्य भाग का जो लिबाव पुस्तकालयों से जुड़ता है जो अब sem_timedwait()
वहां लागू हो गया है !!!! उत्तरार्द्ध के लिए मैं आपको और कीथ के कार्यान्वयन की sem_timedwait()
प्रति में हर जगह नाम बदलने का सुझाव दे सकता हूं libav
। यह भी जांचें कि क्या किसी अन्य प्रतीक को sem_timedwait.o से निर्यात किया गया है और उन्हें भी नाम बदलें।
यहां केथ शार्ट्रिज के कार्यान्वयन से नए, नए नाम दिए गए प्रतीक हैं sem_timedwait()
:
sem_timedwait_keith, timeoutThreadMain_keith, triggerSignal_keith, ignoreSignal_keith, timeoutThreadCleanup_keith
( _keith
मूल नाम पाने के लिए निकालें )। sem_timedwait()
में libav
( केवल उक्त संस्करण के लिए) संदर्भ है jack.c
।
brew install libav
:।