ARM DS-5 windows 下加载带x264的FFMPEG库编程方法

ARM DS-5简直强大,可以像开发Android一样方便的开发arm-Linux的程序,再也不用劳神的找各种编辑器,或者裸编程序了。

真搞不懂为啥这个东西我现在才知道先见恨晚,所以写了这篇文章给大家一起分享下,其中的奥秘花费了我两天的时间来探索。

要建立标题中的工程步骤如下。

1.首先,要有一个FFMPEG已编译好的库。

这个我是在LINUX 下用arm-none-linux-gnueabi-gcc编译好的库文件

https://download.csdn.net/download/ye_c1988/10254477 (注意:如果你是要编译出来静态库可执行文件的-static,就要把lib文件下的文件只保留*.a的文件不要有.SO的文件,我是要把它编译成静态库可执行文件)。

2.要安装好的ARM DS-5.26.0的Windows下的文件,我的版本5.26,至于要和谐还是自购,自己搞定。

3.安装windows下的arm-none-linux-gnueabi-gcc 编译器,我选择的是arm-2014.05-29-arm-none-linux-gnueabi.EXE

还有就是在这个兄弟的链接下下载其他版本的也可以。(注意是Windows下的交叉编译工具链)

https://blog.csdn.net/alan00000/article/details/51724252   

4.将这个工具链加载到ARM DS-5 里面(  ​)

  ​

然后,建立C/C++工程目录树如下:

  ​

最后设置编译编译器:(注意:  ​下的顺序不可变)

  ​

 

  ​在Miscellaneous的  ​填入-static这样编译出来的可执行文件就可以在Linux平台上和安卓的LINUX-C模式下运行了

好了,

加入一个main.cpp文件测试代码如下:

/*
 * main.cpp
 *
 *  Created on: 2018年6月15日
 *      Author: yecx-pc
 */






#define __STDC_CONSTANT_MACROS
#ifndef __cplusplus
#define __cplusplus
#endif


#ifdef __cplusplus
extern "C"{
#endif


#include <stdio.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <time.h>
#include <pthread.h>
#include <fcntl.h>
#include <sys/msg.h>
#include <sys/ipc.h>
#include <sys/types.h>
#include <sys/shm.h>
#include <sys/mman.h>
#include <mqueue.h>
#include <semaphore.h>


#include "libavutil/avutil.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavcodec/avcodec.h"
#include "libavdevice/avdevice.h"
#include "x264.h"
#include "x264_config.h"


#ifdef __cplusplus
}
#endif


int main(int argc, char **argv){
int i;


av_register_all();
avformat_network_init();


while(1){
printf("Welcome to DS-5...%d\n",i++);
sleep(1);
}
return 0;
}

编译DEBUG 下内容:

虽然有几个警告,但是可执行文件已经编译出来了。这些警告没仔细看,如果有知道原因的兄弟可以在留言中告诉我,在此多谢。

5.最后进行RTSM仿真:

如何仿真可以查看ARM DS-5的使用手册,如果有不懂的可以自行度娘,或者其他。。。

  ​

虚拟机上的运行结果:

  ​

仅以此与大家分享,也作为自己的笔记。

谢谢~

 

编译arm-linux平台的FFMPEG+X264成库文件

 

 

 

 

1.首先下载x264的源文件和FFMPEG的源文件都是最新源文件:

git clone http://git.videolan.org/git/x264.git  可以获得x264

http://ffmpeg.org/download.html    version 3.4.2  

放入你想要的目录文件夹下我的/home/workplace。

解压下载的文件:

tar -xvzf  ./下载的压缩文件  -C   ./    

tar -xvjf  ./下载的压缩文件  -C   ./    

2.编译和安装x264文件

进入/home/workplace/x264

./configure --host=arm-linux --prefix=/opt/wecam/ffmpeg --enable-shared --enable-static --disable-asm

--prefix=/opt/wecam/ffmpeg 为执行make install的安装目录,必须先建立好此文件目录;

cp config.mak.bak config.mak;这一步其实就是修改编译文件中的arm-linux平台用的编译器有以下几项:

CC=arm-none-linux-gnueabi-gcc

LD=arm-none-linux-gnueabi-gcc -o

AR=arm-none-linux-gnueabi-ar rc

在目录下执行make         然后make install 

 

在=/opt/wecam/ffmpeg目录下产生x264文件,其中包括 bin/include/lib三个文件夹,这样就可以将三个文件复制到你要用的用户源码下,就可以调用x264的库文件了。

3.编译和安装FFMPEG源文件

 

 

在ffmpeg-3.4.2的文件下执行

./configure --cross-prefix=arm-none-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-none-linux-gnueabi-gcc --arch=arm --prefix=/opt/wecam/ffmpeg --enable-shared --enable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping --enable-libx264 --extra-cflags=-I/opt/wecam/x264/include --extra-ldflags=-L/opt/wecam/x264/lib

这里主要注意这几项:

 

 

--enable-static         /       cflags=-I/opt/wecam/x264/include --extra-ldflags=-L/opt/wecam/x264/lib    

PS:这里要提到几个编译问题,我第一次编译的时候,可能是我的编译器安装的不正确,这个我也没有去检查,因为虚拟机是从网站上直接下的已经是平台和环境搞好的了的。

 

 

然后我编译的悲剧就来了,首先刚make之后出现找不到linux/perf_event.h文件,这个文件是我的嵌入式平台上EXYNOS4412的Linux系统头文件版本是3.0的,文件就放在usr/include/linux下但就是显示找不到,然后我就设置了在etc/profile/下添加:C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include:/usr/local/include    

接着是能找到perf_event.h的文件了,但悲剧又来了出现了没有办法编译“log10.................asm"w"的错误,这啥意思,就是说log10的数学函数没有找到定义,查了资料说是要加-lm,但是我看了下makefile下的文件中编译的时候确实是加了-lm,然后就没然后了;

想了下应该不是这样的,然后我将C_INCLUDE_PATH注释掉,然后单独将perf_event.h的文件复制到x264下的include文件中,然后执行make,竟然就编译了起来,但是一直显示在编译应用perf_event.h文件是啥也没做的worning,等待几分钟的时间后,编译OK,然后就是make install了,好了。。。。。。

由于部分图片加载问题,完整的操作文档  .docx 如下地址:https://download.csdn.net/download/weixin_41740391/12493202

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值