学習FFMPEG
1637 ワード
1.FFMPEGをダウンロードしてコンパイルします.
ダウンロード後に
2.コンパイルされた静的ライブラリのインポート
コンパイルが完了すると、現在のディレクトリにFFmpeg-iOSフォルダがあり、プロジェクトにドラッグします.
3.リファレンスライブラリの追加
4.ヘッダファイル検索パスの追加
エラー:
同じようにあなたの経路が正しくないため
5...mファイルを.mmに変更し、C/C++ミキシングモードをオンにします.
修正後、私のプロジェクトは
6.テスト
viewDidLoadにコードを追加する
実行後、コンソールから関連情報が出力されると、成功しました.
出会った問題
問題1:
https://github.com/kewlbear/FFmpeg-iOS-build-script
ダウンロード後に
build-ffmpeg.sh
ファイルがあります.端末が実行すると自動的にダウンロードしてコンパイルが完了します.私は実行中に権限を提示する問題はありません.もしあなたがインストール中に問題が発生したら、自分で検索してどのように解決しますか?2.コンパイルされた静的ライブラリのインポート
コンパイルが完了すると、現在のディレクトリにFFmpeg-iOSフォルダがあり、プロジェクトにドラッグします.
3.リファレンスライブラリの追加
AVFoundation.framework
libz.dylib
libbz2.dylib
libiconv.dylib
IOS 9以降のファイルの接尾辞はtbdであり、影響しない.4.ヘッダファイル検索パスの追加
Header Search Paths
-> $(PROJECT_DIR)/FFmpeg-iOS/include
エラー:
'libavcodec/avcodec.h' file not found
解決策:includeファイルパスを確認し、$(PROJECT_DIR)/....../FFmpeg-iOS/include
を再変更Library Search Paths
-> $(PROJECT_DIR)/FFmpeg-iOS/lib
同じようにあなたの経路が正しくないため
file not found
の問題を引き起こす可能性があります.5...mファイルを.mmに変更し、C/C++ミキシングモードをオンにします.
修正後、私のプロジェクトは
avcodec_configuration()
が使用できないことを報告しました.私がこの問題を再現している間に、.mmを.mに修正して、コンパイルエラーを報告しません.Xcodeはすでにミキシングモードをオンにしているはずなので、これ以上問題はありません.また、コンパイルによりavcodec_configuration()
が印刷される.6.テスト
ViewController
の頭部にavcodec.h
を導入#include
viewDidLoadにコードを追加する
printf("%s",avcodec_configuration());
実行後、コンソールから関連情報が出力されると、成功しました.
出会った問題
問題1:
Undefined symbols for architecture armv7
解決方法1:リファレンスライブラリが追加されていない場合、上記のプロンプトのリファレンスライブラリを順次追加できます.解決方法2:リファレンスライブラリが追加され、エラーが報告されています.ミキシングモードがオンになっているかどうかを見て、.mmファイルを変更します.