2013-08-01 21 views
7

Làm cách nào để cài đặt các thư viện if ffmpeg ios mới nhất, armv7, i386 và phổ cập trên Mac với 10.8?Cài đặt ffmpeg thư viện ios armv7, armv7s, i386 và phổ trên Mac với 10.8

+0

http://stackoverflow.com/questions/22789827/building-ffmpeg-ios-libraries-for-armv7-armv7s-arm64-i386-and-universal –

+0

vui lòng tham khảo kho lưu trữ bài đăng github này sẽ giúp bạn: https : //stackoverflow.com/questions/19341770/ffmpeg-ios-7-library/46245639#46245639 –

Trả lời

18

Sau một vài ngày tôi đã thực hiện hướng dẫn từng bước cài đặt này:

FFmpeg Xây dựng Hướng dẫn MAC 10.8 hoặc cao hơn

Sao chép ffmpeg-2.0.tar.bz2 (https://ffmpeg.org/releases/ffmpeg-1.0.7.tar.bz2, https://ffmpeg.org/download.html) và Unzip vào thư mục Tài liệu

Đảm bảo bạn có Công cụ dòng lệnh mới nhất trong Xcode>; Tùy chọn>; Tải xuống>; Linh kiện

Install khí Preprocessor

  1. Bấm vào biểu tượng ZIP tải https://github.com/mansr/gas-preprocessor.
  2. Sao chép gas-preprocessor.pl vào thư mục/usr/bin.
  3. Thay đổi quyền của gas-preprocessor.pl bằng cách đặt đặc quyền để đọc & Viết cho tất cả.

Bug trong xcrun bắt đầu từ phiên bản 10.8

terminal mở và dán vào sau lệnh và nhấn Enter:

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer/" 

cd để ffmpeg-2 thư mục và dán vào sau lệnh và nhấn Enter:

mkdir armv7 
mkdir armv7s 
mkdir i386 
mkdir -p universal/lib 

Để định cấu hình thư viện armv7s, hãy dán vào lệnh sau và nhấn enter:

./configure --prefix=armv7s --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-avresample --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk" --target-os=darwin --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" --extra-cflags="-arch armv7s -mfpu=neon -miphoneos-version-min=6.1" --extra-ldflags="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=6.1" --arch=arm --cpu=cortex-a9 --enable-pic 

(Lưu ý cùng nguyên tắc như trên: nếu cấu hình không đi đến Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDK/ và chắc chắn rằng thư mục sdk là iPhoneOS6.1.sdk, nếu không thay đổi lệnh config để phản ánh iPhoneOSx.x.sdk và thay đổi tất cả các mục tiêu thành x.x)

Xây dựng và cài đặt armv7s dán thư viện ở sau lệnh và nhấn Enter:

make clean && make && make install 

Để cấu hình i386 (để mô phỏng sẽ làm việc) thư viện dán ở sau lệnh và nhấn Enter:

./configure --prefix=i386 --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-avresample --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk" --target-os=darwin --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc" --extra-cflags="-arch i386" --extra-ldflags="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk" --arch=i386 --cpu=i386 --enable-pic --disable-asm 

(Lưu ý: đây không phải là lệnh giống như hai cấu hình trước đây lệnh, nếu bạn chỉ cần nhấn vào chúng, điều này sẽ không thành công)

Xây dựng và cài đặt thư viện dán i386 ở sau lệnh và nhấn Enter:

make clean && make && make install 

Để làm cho thư viện phổ thông (đó là thư viện bổ sung vào xcode) dán vào sau lệnh và nhấn Enter:

cd armv7/lib 
for file in *.a 
do 
cd ../.. 
xcrun -sdk iphoneos lipo -output universal/lib/$file -create -arch armv7 armv7/lib/$file -arch armv7s armv7s/lib/$file -arch i386 i386/lib/$file 
echo "Universal $file created." 
cd - 
done 
cd ../.. 
+1

[Định dạng mã] (http://stackoverflow.com/editing-help#code) sẽ giúp việc đọc này dễ dàng hơn. Bạn có thể đánh dấu văn bản và nhấn ctrl + k hoặc command + k (tôi nghĩ) hoặc nhấp vào nút mã phía trên hộp văn bản trông giống như '{}'. – LordNeckbeard

+0

Bạn có thể thêm hỗ trợ cho iOS7 không? – ppaulojr

+0

Tôi đã thử sử dụng các hướng dẫn ở trên với ffmpeg2.2 từ https://ffmpeg.org/releases/ và bộ tiền xử lý khí từ đây https://github.com/michaelni/gas-preprocessor nhưng, tôi chỉ nhận các tệp libs tĩnh (Tôi có thể tạo ra một tập tin thực thi từ này?) Ngoài ra, tôi không thấy ffmpeg bất cứ nơi nào ...? sao tôi phải xóa cấu hình disable-ffmpeg khỏi cấu hình? bạn có thể xây dựng ý nghĩa của mỗi tham số không? nếu tôi chỉ muốn chuyển đổi từ một định dạng tệp âm thanh sang định dạng tệp âm thanh khác? (hoặc hợp nhất âm thanh stereo thành mono?) Tôi nên sử dụng cài đặt nào để định cấu hình các tập lệnh ở trên? tôi muốn đầu ra nhị phân càng nhỏ càng tốt ... –

16

Hỗ trợ thư viện ffmpeg phổ quát cho iOS7 và XCode5:

Đảm bảo bạn có mới nhất Công cụ dòng lệnh dưới Xcode>; Tùy chọn>; Tải xuống>; Linh kiện

Install khí Preprocessor

  1. Bấm vào biểu tượng ZIP tải https://github.com/mansr/gas-preprocessor.
  2. Sao chép gas-preprocessor.pl vào thư mục/usr/bin.
  3. Thay đổi quyền của gas-preprocessor.pl bằng cách đặt đặc quyền để đọc & Viết cho tất cả.

Tải shell script của tôi từ: https://gist.github.com/m1entus/6983547

  1. Run sh build-ffmpeg.sh.
+1

Tuyệt vời, tôi đã mất rất nhiều thời gian cho nó. : D – duongvanthai

+0

Đồng thời kiểm tra đường dẫn đến thư mục, từ đó bạn chạy tập lệnh này không chứa khoảng trắng –

+3

Tôi nhận được lỗi này '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc không thể tạo tệp thi hành được. kiểm tra trình biên dịch C không thành công.' GCC dường như bị khấu hao trong Xcode5. Tôi khá không chắc chắn phải làm gì tiếp theo. –

2

tôi cần hỗ trợ arm64 và kịch bản này làm việc cho tôi: https://github.com/kewlbear/FFmpeg-iOS-build-script

Sử dụng

./build-ffmpeg.sh arm64 x86_64 

dành cho iOS 64-bit và kiến ​​trúc mô phỏng. Sau đó sao chép nội dung trong thư mục "béo" vào dự án Xcode của bạn.

Việc sửa đổi duy nhất tôi thực hiện cho các kịch bản được uncommenting dòng này:

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample" 

để biên dịch thư viện libavresample.

Chỉnh sửa: Tuy nhiên, nó không hoạt động với armv7 và armv7, sử dụng iOS 7.1 SDK. Nếu tôi tìm một giải pháp tôi sẽ đăng ở đây.

+0

không nên bạn chỉ cần thêm vào kịch bản dòng lệnh armv7 và armv7s? –

1

Để xây dựng thư viện iOS ffmpeg, bạn có thể sử dụng this little scripts.

  1. nguồn Tải ffmpeg
  2. Tải https://github.com/wang-bin/build_ffmpeg
  3. mở terminal và chạy export FFSRC=/path/to/ffmpeg
  4. Chuyển đến build_ffmpeg thư mục và chạy: ./ios.sh
  5. Sau khi xây dựng thành công, kết quả sẽ được ở sdk-ios thư mục
  6. Add bao gồm thư mục thư mục và lib trong dự án Xcode của bạn
Các vấn đề liên quan