Yanıtlar:
Sadece demlemek ile yükleyin:
brew install libav
İlk önce kütüphaneyi alın:
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
Bağımlılıkları MacPorts'la (veya Homebrew gibi diğer paket yöneticileriyle ) ayarlayın:
sudo port install yasm zlib bzip2 faac lame speex libogg libvorbis libtheora libvpx x264 XviD openjpeg15 opencore-amr freetype
Libav oluşturun:
./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
Sonra koşabilirsiniz avconv
:
avconv -i input.avi -c:v libx264 -preset slow -crf 18 output.mp4
x264 +asm
Çalışmak için gerekli gibi görünüyor cpu-capabilities
, bu yüzden onları [libx264 @ 0x7fe66101a800] using cpu capabilities: none!
çalıştırmazsanız (örn. ) koşun:sudo port yükseltme - enforce değişkenleri x264 + asm
Sth gibi olmalı: [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
./configure , options:
--extra-derleme-= -I / opt / yerel / --extra-LDFLAGS dahil = L / opt / yerel / lib . Then the whole
. / configure` yukarıda mucizevi bir şekilde geçer!
brew install libav
.
Olmayanlar için brew
- ve MacPorts kadar bir port ile gelip libav
, buradan OSX 10.8.5 üzerinde libav yüklemek için benim notlar kaynak (libav sürümü 12_dev0
github gelen).
Karşılaştığım asıl sorun, libav'un macos'ta sem_timedwait()
tanımlanmayan ( linux'taki semafor.h) kullanmasıydı .
Bu yazı https://stackoverflow.com/a/15163760 , Avustralya Astronomik Gözlemevi yazılım grubundan Keith Shortridge'in (teşekkürler) burada bulunan macoslar için söz konusu fonksiyonun bir uygulamasını yazdığını söyler: https://github.com/attie / libxbee3 / ağaç / ana / xsys_darwin
İki dosyayı indirin ve ${LIBAVDIR}/libavdevice
başlık dosyasına aşağıdaki satırı ekleyin sem_timedwait.h
:
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
Ardından Makefile dosyasını düzenleyin ve değişkenin sonuna ${LIBAVDIR}/libavdevice
ekleyin sem_timedwait.o
.OBJS
yapılandır ve hepsini yap
senin gitmen iyidir.
kayıt için aşağıdaki configure komutunu kullandım:
./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
UYARI: Söz konusu uygulamanın sem_timedwait()
doğru bir uygulama olup olmadığını ve / veya libav
şu anda sem_timedwait()
orada bir uygulaması olan libav kitaplıklarına bağlanan sistemin herhangi bir bölümünün çalışmasına ya da gerçekten herhangi bir yan etkisi olmayacağını söyleyemem ya da garanti edemem . !!!! İkincisi, sem_timedwait()
kopyanızdaki her yeri libav
ve Keith'in uygulanmasını değiştirmeyi önerebilir miyim ? Ayrıca sem_timedwait.o dosyasından başka sembollerin verilmiş olup olmadığını kontrol edin ve bunları yeniden adlandırın.
İşte Keith Shortridge'in uygulamasından yeni, yeniden adlandırılmış semboller sem_timedwait()
:
sem_timedwait_keith, timeoutThreadMain_keith, triggerSignal_keith, ignoreSignal_keith, timeoutThreadCleanup_keith
( _keith
orijinal isimleri almak için kaldırın ). Sadece referans sem_timedwait()
olarak libav
(söz konusu versiyonu için) yer alır jack.c
.
brew install libav
.