FFmpeg、x264、sdl 交叉编译


sdl2 交叉编译

./configure --prefix=$(pwd)/../sdl2 --host=arm-linux-gnueabihf --disable-pulseaudio

make 

make install


x264 交叉编译

./configure --enable-static --enable-shared --disable-asm --prefix=$(pwd)/../x264 --cross-prefix=arm-linux-gnueabihf- --host=arm-linux-gnueabihf 

make 

make install

fmpeg 交叉编译
 

./configure --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- --arch=arm --target-os=linux  --prefix=$(pwd)/../ffmpeg  --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libx264 --enable-ffserver --enable-ffplay --enable-shared --disable-asm --enable-swscale --enable-sdl2 --extra-cflags=-I/home/winston/Downloads/x264/include --extra-ldflags=-L/home/winston/Downloads/x264/lib/ --extra-cflags=-I//home/winston/Downloads/sdl2/include --extra-ldflags=-L/home/winston/Downloads/sdl2/lib/ --extra-libs=-ldl --extra-libs=-lSDL2

error: sdl2 requested but not found

参考:https://www.freesion.com/article/3160388287
修改

#vim configure


6102 if enabled sdl2; then
6103     #SDL2_CONFIG="${cross_prefix}sdl2-config"
6104     SDL2_CONFIG="/home/winston/Downloads/SDL2-2.0.4/sdl2-config"    #交叉编译sdl2目录

再次配置,编译就ok了

./configure --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- --arch=arm --target-os=linux  --prefix=$(pwd)/../ffmpeg  --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libx264 --enable-ffserver --enable-ffplay --enable-shared --disable-asm --enable-swscale --enable-sdl2 --extra-cflags=-I/home/winston/Downloads/x264/include --extra-ldflags=-L/home/winston/Downloads/x264/lib/ --extra-cflags=-I//home/winston/Downloads/sdl2/include --extra-ldflags=-L/home/winston/Downloads/sdl2/lib/ --extra-libs=-ldl --extra-libs=-lSDL2

make 

make install
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SDL2.2.0.1的移植,包含SDL的每个参数的意思,包含交叉编译器的安装,包含移植过程中出错的处理方法。 --prefix=/usr/arm 安装SDL路径 --enable-shared=yes 构建共享库[开启] --enable-nasm 装配blitters x86上的nasm(汇编器) --enable-oss 启用支持oss声音的API --enable-alsa 启用支持ALSA声音的API --enable-alsa-shared 启用动态加载ALSA声卡的API --enable-pulseaudio 启用pulseaudio(脉冲音频) --enable-pulse-shared 启用动态加载脉冲音频支持 --enable-arts 启用支持Analog Read Time Synthesizer(模拟实时合成器) --enable-arts-shared 启用动态加载ARTS声卡的支持 --enable-joystick 启用joystick(控制杆)系统 --enable-cdrom 启用只读光盘系统[关闭] --enable-threads 启用多线程子系统 --enable-timers 启用计时器子系统 --enable-endian 大小端设置 --enable-file 启用文件系统 --enable-esd 支持Enlightened(文明)声音后台程序 --enable-nas 支持NAS(网络连接存储)声卡API --enable-diskaudio 支持磁盘写入声卡驱动 --enable-dummyaudio 支持虚拟声卡驱动 --enable-altivec 使用altivec装配位块传送器在PPC上 --enable-video-x11 使用x11视频驱动 --enable-dga 允许使用x1 DGA代码 --enable-video-x11-vm 使用x11 vm延长全屏 --enable-video-x11-dgamouse 使用x11 DGA鼠标事件 --enable-video-x11-xv 使用x11 xv音像延长视频 --enable-video-x11-xinerama 启动x11多银幕支持 --enable-video-dga 使用DGA2.0视频驱动 --enable-video-directfb 启用DirectFB视频驱动 --enable-video-photon 使用QNX(嵌入式实时系统)光子视频驱动 --enable-video-ps2gs 使用PS(游戏机)2 GS视频驱动 --enable-video-opengl 包括OpenGL(开放图形语言)创建上下文 --enable-video-pth 使用GNU pth库对多线程 --enable-pthreads 使用POSIX线程(可移植操作系统)对多线程 --enable-pthread-sem 使用多线程信号 --enable-input-events 使用Linux-2.4统一输入接口 --enable-input-tslib 使用Touchscreen库输入
FFmpeg是一个开源的音视频处理库,而OpenCV是一个开源的计算机视觉库。它们可以通过交叉编译的方式进行整合,以实现音视频处理和计算机视觉的功能。 下面是一种常见的方法来将FFmpeg和OpenCV进行交叉编译: 1. 配置交叉编译环境:首先,你需要配置好交叉编译环境,包括交叉编译工具链和相关的库文件。这些工具链和库文件需要根据你的目标平台来选择和配置。 2. 下载和编译FFmpeg:从FFmpeg官方网站下载最新的源代码,并解压到本地。然后,在终端中进入FFmpeg源代码目录,执行以下命令进行交叉编译: ``` ./configure --prefix=<安装路径> --enable-shared --disable-static --cross-prefix=<交叉编译工具链前缀> --target-os=<目标操作系统> --arch=<目标架构> --extra-cflags="-I<交叉编译工具链头文件路径>" --extra-ldflags="-L<交叉编译工具链库文件路径>" make make install ``` 这些命令将会配置、编译和安装FFmpeg库到指定的安装路径。 3. 下载和编译OpenCV:从OpenCV官方网站下载最新的源代码,并解压到本地。然后,在终端中进入OpenCV源代码目录,执行以下命令进行交叉编译: ``` mkdir build cd build cmake -DCMAKE_TOOLCHAIN_FILE=<交叉编译工具链文件> -DCMAKE_INSTALL_PREFIX=<安装路径> .. make make install ``` 这些命令将会配置、编译和安装OpenCV库到指定的安装路径。 4. 链接FFmpeg和OpenCV:在你的项目中,你可以使用FFmpeg和OpenCV的头文件和库文件来进行开发。在编译时,需要指定FFmpeg和OpenCV的头文件路径和库文件路径,并链接对应的库文件。 以上是一种常见的方法来将FFmpeg和OpenCV进行交叉编译。具体的配置和编译过程可能会因为不同的平台和工具链而有所差异,请根据你的实际情况进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值