`

Compile ffmpeg for iOS 6, support Simulator & armv7 & armv7s

 
阅读更多

转自:http://witcheryne.iteye.com/blog/1734706

 

 

In the posts, I will show how to use ffmpeg on iOS.

 

This posts is a document for this project: 

https://github.com/lvjian700/ffmpegc-demo

 

Now, ffmpec support x264 module. If you use the script before, please check your version first. 

 

What is ffmpeg ?

FFmpeg is a complete, across-platform solution to record, convert and stream audio and video. 

Why use ffmpeg?

  • Play h.264 video
  • encoding capture video to h.264 video(It need ffmpeg h.264 module.)
  • publish a av stream
  • subscribe a rtsp av stream

Before use ffmpegc-demo, you should download and compile ffmpeg:

I made a repository to make the step easy:
Shell代码   收藏代码
  1. git clone git@github.com:lvjian700/ffmpegc.git  
  2. cd ffmpegc  
  3. ./install-ffmpeg.sh  
 https://github.com/lvjian700/ffmpegc

If compile complete, you can find universal library in ffmpeg/build folder:

1. ffmpeg core library:

 
2. ffmpeg x264 module. x264 is a H.264/MPEG-4 AVC encoder 

 

Using ffmpeg

1. Clone project first:

Java代码   收藏代码
  1. git@github.com:lvjian700/ffmpegc-demo.git  

2.Open in XCode and copy build/*.a and x264/build/*.a to libs/ folder of the project:


 

3. Add them to project link library

Project References -> Targets -> Build Phases -> Link Binary With Librarys


 

4. Add dependences library:

Project References -> Targets -> Build Phases -> Link Binary With Librarys
Add two library:
  • libbz.dylib
  • libz.dylib
  • libiconv.2.4.0.dylib

 

5. Add Header Search Paths:

Project References -> Targets -> Build Settings -> Header Search Paths
1. add ffmpeg core header paths:

 
2. add x264 header paths:

 
 

 

6. Now, run project ...

 

Some useful document:

《How to prepare your mac for ios development with ffmpeg libraries》

《ffmpeg configure options》 -pdf

 

 

欢迎关注微信公众号——计算机视觉:

 

分享到:
评论

相关推荐

    ffmpeg静态库合并

    - 配置FFmpeg编译选项,以支持iOS和指定架构:`./configure --prefix=$PWD/build --target-os=darwin --arch=armv7 --arch=armv7s --enable-cross-compile --sysroot=$(xcrun --sdk iphoneos --show-sdk-path) --cc...

    mac上编译FFmpeg跑ios

    这通常包括设置 CC 编译器为 Xcode 提供的 clang,指定目标架构(如 armv7、arm64、i386、x86_64),并选择合适的构建选项,如 --target-os=ios,--enable-cross-compile 等。同时,还要确保链接到 iOS SDK 中的系统...

    ffmpeg编译so库android版armv7-a

    在这个场景中,我们关注的是针对armv7-a架构的Android设备编译FFmpeg库。 首先,为了在Android上编译FFmpeg,你需要设置一个交叉编译环境。这通常涉及到安装NDK(Native Development Kit),它是Android SDK的一...

    iOS FFmpeg2.1编译所需脚本

    -target-os=darwin --prefix=/path/to/output --enable-cross-compile --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk --arch=armv7 --cpu=cortex...

    ffmpeg移植到IOS上 Demo

    --enable-cross-compile \ --enable-nonfree \ --enable-gpl \ --disable-armv5te \ --disable-swscale-alpha \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ ...

    FFmpeg4.2.2 编译包含动态库静态库 armv7-a.zip

    总的来说,这个FFmpeg4.2.2的编译版本为armv7-a架构的Android设备提供了经过优化的多媒体处理能力,无论是动态库还是静态库,都为开发者提供了更多的选择和灵活性。正确地集成和使用这些库,可以极大地提高Android...

    cross_compile_ffmpeg-modified.sh

    修改过的将大部分github资源转为指向Gitee上的镜像的一个编译脚本,同时外网的下载资源也转化为指向了ftp://localhost/xxxx ,使用前可先自行下载这些...然后替换当中的cross_compile_ffmpeg.sh为本文件,运行,即可。

    ffmpeg--移植Mac IOS的步骤文档

    确保在 `ffmpeg` 目录下的 `compiled/armv7` 子目录中生成了 `include`(头文件)和 `lib`(库文件)。 为了在 iOS 上使用 FFmpeg,你需要将这些编译后的头文件和库文件添加到你的 Xcode 项目中,作为外部依赖。你...

    ffmpeg for android

    ./configure --prefix=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64 --target-os=android --arch=armv7a --cpu=cortex-a8 --enable-cross-compile --disable-shared --enable-pic --enable-hardcoded-tables -...

    ffmpeg iOS SDK

    这通常涉及到指定架构(armv7, arm64, i386, x86_64)和 iOS 目标版本。配置完成后,运行 make 命令开始编译。编译完成后,你会得到静态库文件,这些文件可以被添加到 iOS 项目的 Xcode 工程中。 不过,值得注意的...

     FFMPEG 2.6 iOS下的静态库和头文件

    此外,可能还需要添加额外的编译选项,如`--disable-shared`以生成静态库,`--enable-cross-compile`启用交叉编译,以及`--target-os=darwin`指定目标操作系统为Darwin(iOS的基础)。 3. **生成静态库和头文件**:...

    IOS ffmpeg编译库

    这里的配置选项意味着我们为iOS设备编译静态库,支持ARMv7和ARM64架构,设定最低版本为iOS 9.0,禁用网络功能(如果你的应用不需要网络流媒体),并启用了一些常用的音频和视频编解码器。 完成配置后,运行`make`和...

    IJK快速集成视频播放

    报错: ...在 compile-ffmpeg.sh中删除 armv7, 修改如: FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64" 再重新执行出现错误的命令: ./compile-ffmpeg.sh all 如果还报错文件不存在,直接注释就好了

    ios 上边ffmpeg 编译包

    --enable-cross-compile --arch=armv7 --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk \ --cc=/Applications/Xcode.app/Contents/Developer/...

    编译ffmpeg(ffmpeg6.0+android-ndk-r25c)生成的动态链接库.so文件

    6. **编译FFmpeg** 运行脚本来编译FFmpeg,添加`armeabi-v7a`和`arm64-v8a`的编译目标: ```bash ./build-android.sh make -j$(nproc) make install ``` 7. **生成.so文件** 编译完成后,`dist`目录下将包含...

    compile-ffmpeg.sh资源文件

    compile-ffmpeg.sh资源文件啊

    FFmpeg 4.3.2 iOS 静态库(.a)

    CPU 架构:x86_64、arm64 configure 参数:--enable-cross-compile --disable-debug --disable-programs --disable-doc --enable-pic

    FFmpeg 4.3.2 iOS 静态库(.framework)

    CPU 架构:x86_64、arm64 configure 参数:--enable-cross-compile --disable-debug --disable-programs --disable-doc --enable-pic

    ffmpeg 资源 for android

    在Linux环境下编译FFmpeg for Android,我们需要考虑多个因素以确保其在Android设备上运行良好。"enable --freetype"这一设置是关键步骤之一,因为FreeType是一个高质量的字体渲染库,它允许FFmpeg支持各种字体和...

Global site tag (gtag.js) - Google Analytics