ubuntu和arm平台下的ffmpeg和x264相关库的移植
2017-07-29 12:48
447 查看
本文讲解在ubuntu和arm平台下的ffmpeg和x264相关库的移植,最终实现使用ffmpeg进行H.264编码。
本文使用的相关库已经上传,可以从本地址下载本次编译所使用的库:http://download.csdn.net/detail/yxtouch/7527291
或者本个链接:http://onersw9j1.bkt.clouddn.com/fileffmpeg+H264.tar.gz
PC可使用如下命令对yasm库进行配置、编译和安装,库的安装目录需要根据自己的需要进行配置修改:
[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/x64/
make
make install
ARM平台使用如下命令进行配置、编译和安装:
[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/arm --host=arm-linux
make
make install
使用如下命令将yasm的安装目录设置为临时环境变量,具体目录按照自己的实际需要进行配置修改。
PC平台
[html] view
plain copy
print?
export PATH=$PATH:/home/fyx/workspace/ffmpeg/x64/bin
ARM平台
[html] view
plain copy
print?
export PATH=$PATH:/home/fyx/workspace/ffmpeg/arm/bin
PC端使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/x86
make
make install
ARM平台使用如下命令进行配置。
[html] view
plain copy
print?
./configure --enable-shared --disable-asm --host=arm-linux --prefix=/home/fyx/workspace/ffmpeg/arm
配置完成后编辑config.mak文件,修改如下配置为如下选项:
[html] view
plain copy
print?
ARCH=arm
CC=arm-linux-gcc
LD=arm-linux-gcc -o
AR=arm-linux-ar rc
AS=
RANLIB=arm-linux-ranlib
编译和安装
[html] view
plain copy
print?
make
make install
PC端使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --prefix=/home/fyx/workspace/ffmpeg/x64/
make
make install
ARM平台使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --host=arm-linux --target=arm-linux --prefix=/home/fyx/workspace/ffmpeg/arm
make
make install
PC端使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --enable-shared --enable-gpl --enable-libx264 --prefix=/home/fyx/workspace/ffmpeg/x64/ --extra-cflags=-I/home/fyx/workspace/ffmpeg/x64/include --extra-ldflags=-L/home/fyx/workspace/ffmpeg/x64/lib
make
make install
ARM平台使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --target-os=linux --cc=arm-linux-gcc --arch=arm --enable-shared --enable-cross-compile --cross-prefix=arm-linux- --enable-gpl --enable-libx264 --prefix=/home/fyx/workspace/ffmpeg/arm --extra-cflags=-I/home/fyx/workspace/ffmpeg/arm/include --extra-ldflags=-L/home/fyx/workspace/ffmpeg/arm/lib
make
make install
使用eclipse建立C++工程,将本机编译生成的include和lib目录拷贝到工程目录中,将ffmpeg源文件的doc目录下的example中的avcodec.c拷贝到工程中,设置工程的头文件目录。将生成的lib添加到工程中。编译通过后测试即可。
本机测试工程目录结构:
工程属性中添加如下库的连接,并将工程头文件添加到头文件目录中。
编译之后运行运行可执行程序,如果提示找不到库将需要的库拷贝到/lib目录下即可。本例中使用FFmpeg h264测试使用FFmpeg编码h264数据,编码后用VLC播放器打开生成的test.h264视频,效果如下:
1、源码下载:
本文使用的相关库已经上传,可以从本地址下载本次编译所使用的库:http://download.csdn.net/detail/yxtouch/7527291或者本个链接:http://onersw9j1.bkt.clouddn.com/fileffmpeg+H264.tar.gz
2、编译
2.1、yasm-1.2.0移植
PC可使用如下命令对yasm库进行配置、编译和安装,库的安装目录需要根据自己的需要进行配置修改:[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/x64/
make
make install
ARM平台使用如下命令进行配置、编译和安装:
[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/arm --host=arm-linux
make
make install
2.2、设置临时环境变量
使用如下命令将yasm的安装目录设置为临时环境变量,具体目录按照自己的实际需要进行配置修改。PC平台
[html] view
plain copy
print?
export PATH=$PATH:/home/fyx/workspace/ffmpeg/x64/bin
ARM平台
[html] view
plain copy
print?
export PATH=$PATH:/home/fyx/workspace/ffmpeg/arm/bin
2.3、x264移植
PC端使用如下命令进行配置、编译和安装。[html] view
plain copy
print?
./configure --enable-shared --prefix=/home/fyx/workspace/ffmpeg/x86
make
make install
ARM平台使用如下命令进行配置。
[html] view
plain copy
print?
./configure --enable-shared --disable-asm --host=arm-linux --prefix=/home/fyx/workspace/ffmpeg/arm
配置完成后编辑config.mak文件,修改如下配置为如下选项:
[html] view
plain copy
print?
ARCH=arm
CC=arm-linux-gcc
LD=arm-linux-gcc -o
AR=arm-linux-ar rc
AS=
RANLIB=arm-linux-ranlib
编译和安装
[html] view
plain copy
print?
make
make install
2.4、xvid移植
PC端使用如下命令进行配置、编译和安装。[html] view
plain copy
print?
./configure --prefix=/home/fyx/workspace/ffmpeg/x64/
make
make install
ARM平台使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --host=arm-linux --target=arm-linux --prefix=/home/fyx/workspace/ffmpeg/arm
make
make install
2.5、ffmpeg移植
PC端使用如下命令进行配置、编译和安装。[html] view
plain copy
print?
./configure --enable-shared --enable-gpl --enable-libx264 --prefix=/home/fyx/workspace/ffmpeg/x64/ --extra-cflags=-I/home/fyx/workspace/ffmpeg/x64/include --extra-ldflags=-L/home/fyx/workspace/ffmpeg/x64/lib
make
make install
ARM平台使用如下命令进行配置、编译和安装。
[html] view
plain copy
print?
./configure --target-os=linux --cc=arm-linux-gcc --arch=arm --enable-shared --enable-cross-compile --cross-prefix=arm-linux- --enable-gpl --enable-libx264 --prefix=/home/fyx/workspace/ffmpeg/arm --extra-cflags=-I/home/fyx/workspace/ffmpeg/arm/include --extra-ldflags=-L/home/fyx/workspace/ffmpeg/arm/lib
make
make install
3、测试
使用eclipse建立C++工程,将本机编译生成的include和lib目录拷贝到工程目录中,将ffmpeg源文件的doc目录下的example中的avcodec.c拷贝到工程中,设置工程的头文件目录。将生成的lib添加到工程中。编译通过后测试即可。本机测试工程目录结构:
工程属性中添加如下库的连接,并将工程头文件添加到头文件目录中。
编译之后运行运行可执行程序,如果提示找不到库将需要的库拷贝到/lib目录下即可。本例中使用FFmpeg h264测试使用FFmpeg编码h264数据,编码后用VLC播放器打开生成的test.h264视频,效果如下:
相关文章推荐
- Ubuntu下用NDK编译移植FFmpeg 2.0(配置最新版x264)到Android平台
- Ubuntu 下用NDK编译移植 ffmpeg 2.0 (配置最新版x264) 到android平台
- Ubuntu 下用NDK编译移植 FFmpeg 2.0 (配置最新版x264) 到Android平台
- Ubuntu 下用NDK编译移植 ffmpeg 2.0 (配置最新版x264) 到android平台
- Ubuntu/Debian交叉编译安装ARM平台版本的ffmpeg
- x264之c64x+平台移植(二):arm端应用程序编译
- OpenCV移植到ARM平台---Opencv with ffmpeg to ARM移植总结
- 移植 ffmpeg 到 ARM 平台
- Window下使用虚拟机Ubuntu编译Ffmpeg(编译的只有arm平台下的)
- 嵌入式linux------ffmpeg移植 解码H264(am335x解码H264到yuv420并通过SDL显示) 分类: arm-linux-Ubuntu TI-AM335X ffmpeg-SDL-VLC-Live555 2015-07-29 10:28 154人阅读 评论(0) 收藏
- 嵌入式linux------ffmpeg移植 编码H264(am335x编码H264) 分类: TI-AM335X ffmpeg-SDL-VLC-Live555 arm-linux-Ubuntu 2015-08-04 09:34 5人阅读 评论(0) 收藏
- 成功移植ffmpeg 0.6到ARM平台 tq2440. 移植ffmpeg-0.6.3,SDL-1.2.10到tq2440
- Ubuntu 14.04.2 移植FFmpeg 2.8.3 到Android平台
- ARM平台下的Qt移植:移植相关问题和解决方法
- arm Linux平台下FFmpeg的移植
- Android平台移植FFmpeg和x264
- Ubuntu 14.04.2 移植FFmpeg 2.8.3 到Android平台
- 基于Hi3559A ARM64位嵌入式平台的OpenCV2.4.9+ffmpeg2.0.7移植及应用
- arm移植x264 ffmpeg配置
- 移植DHCP-4.1到ARM平台(交叉编译)