学習FFMPEG

1637 ワード

1.FFMPEGをダウンロードしてコンパイルします.
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ファイルを変更します.