OSX поставляется с утилитой преобразования видео командной строки avconvert но этот инструмент обеспечивает ограниченную функциональность по сравнению с avconv предоставлен libav.
Как установить avconv на OS X?
OSX поставляется с утилитой преобразования видео командной строки avconvert но этот инструмент обеспечивает ограниченную функциональность по сравнению с avconv предоставлен libav.
Как установить avconv на OS X?
просто установите его с brew:
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 (или другие менеджеры пакетов, такие как доморощенного):
sudo port install yasm zlib bzip2 faac lame speex libogg libvorbis libtheora libvpx x264 XviD openjpeg15 opencore-amr freetype
построить libav:
./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!
) run:обновление порта sudo -- enforce-варианты x264 + asm
вы должны получить sth как:[libx264 @ 0x7fc62401b600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
для тех, кто без brew
- и пока macports не придумали порт для libav
, вот мои заметки по установке libav на OSX 10.8.5 от source (libav версия 12_dev0
, от github).
основная проблема, с которой я столкнулся, заключалась в том, что libav использует sem_timedwait()
(семафора.H в linux), который не определен в macos.
этот пост https://stackoverflow.com/a/15163760 упоминает, что Кейт Шортридж Австралийской астрономической Группа программного обеспечения обсерватории (спасибо) написали реализацию указанной функции для macos, которые можно найти здесьhttps://github.com/attie/libxbee3/tree/master/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
или любая другая часть системы, которая ссылается на библиотеки libav, которые теперь имеют sem_timedwait()
реализация там!!!! Для последнего могу я предложить переименование sem_timedwait()
везде в вашей копии libav
и реализация кита. Также проверьте, экспортируются ли другие символы из sem_timedwait.O и переименовать их также.
вот новые, переименованный символы от реализации Кит Shortridge о sem_timedwait()
:
sem_timedwait_keith, timeoutThreadMain_keith, triggerSignal_keith, ignoreSignal_keith, timeoutThreadCleanup_keith
(удалить _keith
получить оригинальные имена). Единственная ссылка на sem_timedwait()
in libav
(для версия) в jack.c
.
для видео, размещенных на https (многие, в эти дни), убедитесь, что вы строите avconv с поддержкой OpenSSL:
brew install libav --with-openssl
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]