Как установить libav / avconv на OSX?

OSX поставляется с утилитой преобразования видео командной строки avconvert но этот инструмент обеспечивает ограниченную функциональность по сравнению с avconv предоставлен libav.

Как установить avconv на OS X?

22
задан agtoever
26.11.2022 13:51 Количество просмотров материала 3081
Распечатать страницу

4 ответа

просто установите его с brew:

brew install libav
50
отвечен Weston Ganger 2022-11-27 21:39

сначала захватить библиотеку:

 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

17
отвечен Olivier 2022-11-27 23:56

для тех, кто без 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.

1
отвечен bliako 2022-11-28 02:13

для видео, размещенных на https (многие, в эти дни), убедитесь, что вы строите avconv с поддержкой OpenSSL:

brew install libav --with-openssl
0
отвечен jm3 2022-11-28 04:30

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх