0

このリンクから iOS 5.1 用の XCode 4.3.3 でビルドするコードをダウンロードしました - https://github.com/lajos/iFrameExtractor build_universal スクリプトを使用して FFmpeg のライブラリを正常にビルドできます。ただし、常に X86_64 アーキテクチャのライブラリをビルドします。lipo -info コマンドで確認。

リンクからビルドスクリプトも試してみました - http://stexgroup.com/blog/ffmpeg-for-iphone-ios-xcode4.3-build-script。X86_64 アーキテクチャ用のライブラリもビルドします。

この投稿に従ってスクリプトを変更しました-iFrameExtractor用のffmpegのコンパイルの問題

しかし、何もうまくいきません。

armv7 [iFrameExtractor] のビルド スクリプトは次のとおりです。

./configure \
--disable-bzlib --disable-doc \
--disable-ffmpeg --disable-ffplay \
--disable-ffserver --disable-mmx \
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
--as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \
--enable-cross-compile --target-os=darwin \
--arch=arm --cpu=cortex-a8 --enable-pic \
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk \
--extra-ldflags="-arch armv7 -    L//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib" \
--extra-cflags="-arch armv7"

同じことが他の人にとってもうまくいっていることを考えると、何が問題なのかを教えてくれる人はいますか?

4

3 に答える 3

0

必要に応じて、このフレームワークを試すことができます

https://github.com/mooncatventures-group/ffmpegDecoder

私たちのframextractorは、iframeextratorをベースとして開始しましたが、その後、avfoundationを使用するように分岐しました

https://github.com/mooncatventures-group/FFPlayer-tests

iframeextractor の ffmpeg ビルドの代わりに ffmpeg フレームワークを使用できる理由もありません。

{
#import <Foundation/Foundation.h>

#include <ffmpegdecoder/libavformat/avformat.h>
#include <ffmpegdecoder/libswscale/swscale.h>
}

フレームワークは ffmpeg 8.3 に基づいており、現在のバージョン、特に ip カメラ フィードでもう少し安定していることがわかりました。それらはいくつかの改造です。これらは、frames-test プロジェクトの ffmpeg.zip ファイルにあります。

于 2012-07-18T17:53:44.720 に答える
0

次のスクリプトを使用すると、ライブラリを構築できます。これらのスクリプトは、このリンクで Far Pointer によって共有されているスクリプトの修正版です - iFrameExtractor 用に ffmpeg をコンパイルする際の問題

armv6

#!/bin/tcsh -f

if (! -d armv6) mkdir armv6
if (! -d lib) mkdir lib

rm armv6/*.a

make clean

./configure \
--disable-bzlib --disable-doc \
--disable-ffmpeg --disable-ffplay \
--disable-ffserver --disable-mmx \
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
--as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \
--enable-cross-compile --target-os=darwin \
--arch=arm --cpu=arm1176jzf-s \
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk \
--extra-ldflags="-arch armv6 -L//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/system" \
--extra-cflags="-arch armv6"

make

mv libavcodec/libavcodec.a armv6/
mv libavdevice/libavdevice.a armv6/
mv libavformat/libavformat.a armv6/
mv libavutil/libavutil.a armv6/
mv libswscale/libswscale.a armv6/

rm lib/*.a

cp armv6/*.a lib/

armv7

#!/bin/tcsh -f

if (! -d armv7) mkdir armv7
if (! -d lib) mkdir lib

rm armv7/*.a

make clean

./configure \
--disable-bzlib --disable-doc \
--disable-ffmpeg --disable-ffplay \
--disable-ffserver --disable-mmx \
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
--as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \
--enable-cross-compile --target-os=darwin \
--arch=arm --cpu=cortex-a8 --enable-pic \
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk \
--extra-ldflags="-arch armv7 -    L//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/system" \
--extra-cflags="-arch armv7"

make

mv libavcodec/libavcodec.a armv7/
mv libavdevice/libavdevice.a armv7/
mv libavformat/libavformat.a armv7/
mv libavutil/libavutil.a armv7/
mv libswscale/libswscale.a armv7/

rm lib/*.a

cp armv7/*.a lib/

i386

#!/bin/tcsh -f

if (! -d i386) mkdir i386
if (! -d lib) mkdir lib

rm i386/*.a

make clean

./configure \
--disable-bzlib --disable-doc \
--disable-ffmpeg --disable-ffplay \
--disable-ffserver --disable-mmx \
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
--as='gas-preprocessor/gas-preprocessor.pl     /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk \
--extra-ldflags="-arch i386 -L//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/system" \
--extra-cflags="-arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -O0 -fasm-blocks -Wreturn-type -Wunused-variable -D__IPHONE_OS_VERSION_MIN_REQUIRED=40000 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -fvisibility=hidden -mmacosx-version-min=10.5 -gdwarf-2"

make

mv libavcodec/libavcodec.a i386/
mv libavdevice/libavdevice.a i386/
mv libavformat/libavformat.a i386/
mv libavutil/libavutil.a i386/
mv libswscale/libswscale.a i386/

rm lib/*.a

cp i386/*.a lib/

問題は、すべてのスクリプトが armv6 アーキテクチャ用のライブラリを構築することです。誰もそのような問題に遭遇しますか?

于 2012-07-13T09:22:11.747 に答える
0

ios のすべてのバージョンで ffmpeg を統合する方法を投稿しました。ちょうどそれをチェック

iphone/ipad プロジェクトでの FFMPEG の統合

最後に、ffmpeg ユニバーサル ライブラリと #include ファイルを取得します。それをプロジェクトに追加し、そのリンクに記載されている手順に従います。iframeextractor は私にとってはうまく機能しています

于 2013-03-16T05:09:03.323 に答える