ওএসএক্স একটি কমান্ড লাইন ভিডিও রূপান্তর ইউটিলিটি অ্যাভকনভার্ট সহ আসে তবে এই সরঞ্জামটি লাইবাভ সরবরাহ করা অ্যাভকনভের তুলনায় সীমিত কার্যকারিতা সরবরাহ করে ।
আমি কীভাবে ওএস এক্স এ অ্যাভকনভি ইনস্টল করতে পারি?
ওএসএক্স একটি কমান্ড লাইন ভিডিও রূপান্তর ইউটিলিটি অ্যাভকনভার্ট সহ আসে তবে এই সরঞ্জামটি লাইবাভ সরবরাহ করা অ্যাভকনভের তুলনায় সীমিত কার্যকারিতা সরবরাহ করে ।
আমি কীভাবে ওএস এক্স এ অ্যাভকনভি ইনস্টল করতে পারি?
উত্তর:
শুধু ব্রিউ দিয়ে এটি ইনস্টল করুন:
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
ম্যাকপোর্টস (বা অন্যান্য প্যাকেজ পরিচালক যেমন হোমব্রিউ ) এর সাথে নির্ভরতা সেট আপ করুন :
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!
) রান না পান:sudo পোর্ট আপগ্রেড --enfor-variants x264 + asm
আপনার মত অবস্থা হওয়া উচিত: [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:
/ / lib . Then the whole
। / কনফিগার- অলৌকিকভাবে পাস!
brew install libav
কাজ করতে পেতে হোমব্রিউ পুনরায় ইনস্টল করতে হয়েছিল।
যাদের ছাড়া brew
- এবং যতক্ষণ না ম্যাকপোর্টগুলি কোনও বন্দর নিয়ে আসে libav
, উত্স থেকে লিবাব ইনস্টল করার জন্য আমার নোটগুলি এখানে রয়েছে (লিথাব সংস্করণ 12_dev0
, গিথুব থেকে)।
আমি যে প্রধান সমস্যার মুখোমুখি হয়েছিল তা হ'ল লিবাভ ব্যবহার sem_timedwait()
(লিনাক্সে সেমফোরএইচ ) যা ম্যাকোসে সংজ্ঞায়িত নয়।
এই পোস্টটি https://stackoverflow.com/a/15163760 উল্লেখ করেছে যে অস্ট্রেলিয়ান অ্যাস্ট্রোনমিক্যাল অবজারভেটরির সফ্টওয়্যার গ্রুপের কেথ শর্টরিজ (ধন্যবাদ) ম্যাকোসের জন্য উক্ত ফাংশনটির একটি প্রয়োগ লিখেছেন যা এখানে পাওয়া যাবে https://github.com/attie / libxbee3 / গাছ / মাস্টার / xsys_darwin
দুটি ফাইল এতে ডাউনলোড করুন ${LIBAVDIR}/libavdevice
এবং তারপরে হেডার ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন sem_timedwait.h
:
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
তারপরে Makefile এডিট করুন ${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()
সেখানে বাস্তবায়ন করেছে তার কোনও প্রতিক্রিয়া নেই will !!!! পরবর্তীগুলির জন্য আমি 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
।