hi3520dv300移植ffmpeg和x264

一、说明
ffmpeg:1.2.12 或以上

x264用的版本:x264-snapshot-20140916-2245-stable.tar.bz2

二、下载资源

1.x264

可以下载旧版本
http://download.videolan.org/x264/snapshots/

直接获取最新版本

git clone git://git.videolan.org/x264.git

2.ffmpeg

可以下载旧版本
https://ffmpeg.org/olddownload.html

直接获取最新版本

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg


三.编译x264

1.配置环境
./configure --enable-pthread --enable-static --disable-shared --host=arm-hisiv300-linux --disable-asm

2.配置config.mak
SRCPATH=.
prefix=./out/
...
# CC=gcc
CC=arm-hisiv300-linux-gcc

# LD=gcc -o 
LD=arm-hisiv300-linux-gcc -o

# LDFLAGS= -lm -lpthread -ldl
LDFLAGS=-L/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/lib -lm -L/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/lib -lpthread -L/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/lib -ldl

LIBX264=libx264.a
# AR=gcc-ar rc 
# RANLIB=gcc-ranlib
# STRIP=strip
AR=arm-hisiv300-linux-ar rc 
RANLIB=arm-hisiv300-linux-ranlib
STRIP=arm-hisiv300-linux-strip


3.编译
make

4.如果出错
主要是rc后面没有空格引起
arm-hisiv300-linux-ar rc libx264.a  common/osdep.o common/base.o common/cpu.o common/tables.o encoder/api.o common/mc-8.o common/predict-8.o common/pixel-8.o common/macroblock-8.o common/frame-8.o common/dct-8.o common/cabac-8.o common/common-8.o common/rectangle-8.o common/set-8.o common/quant-8.o common/deblock-8.o common/vlc-8.o common/mvpred-8.o common/bitstream-8.o encoder/analyse-8.o encoder/me-8.o encoder/ratecontrol-8.o encoder/set-8.o encoder/macroblock-8.o encoder/cabac-8.o encoder/cavlc-8.o encoder/encoder-8.o encoder/lookahead-8.o common/threadpool-8.o common/opencl-8.o encoder/slicetype-cl-8.o common/mc-10.o common/predict-10.o common/pixel-10.o common/macroblock-10.o common/frame-10.o common/dct-10.o common/cabac-10.o common/common-10.o common/rectangle-10.o common/set-10.o common/quant-10.o common/deblock-10.o common/vlc-10.o common/mvpred-10.o common/bitstream-10.o encoder/analyse-10.o encoder/me-10.o encoder/ratecontrol-10.o encoder/set-10.o encoder/macroblock-10.o encoder/cabac-10.o encoder/cavlc-10.o encoder/encoder-10.o encoder/lookahead-10.o common/threadpool-10.o

arm-hisiv300-linux-uclibcgnueabi-ranlib libx264.a

5.安装
make install

前面设置路径在out文件夹

四.编译ffmpeg
1.配置环境
注意:根据自己前面编译和安装x264路径修改--extra-cflags和--extra-ldflags中的参数
./configure --enable-cross-compile --arch=arm --target-os=linux --enable-static --disable-shared --disable-yasm --enable-gpl --cc=arm-hisiv300-linux-gcc  --enable-pthreads --disable-stripping --ar=arm-hisiv300-linux-ar --ld=arm-hisiv300-linux-gcc --strip=arm-hisiv300-strip --enable-libx264 --extra-ldflags=-L../x264-20140916/out/lib --extra-cflags=-I../x264-20140916/out/include --prefix=./out --extra-libs=-ldl

./configure --cross-prefix=arm-hisiv300-linux- --enable-cross-compile --target-os=linux --cc=arm-hisiv300-linux-gcc --arch=arm --prefix=./out/ --enable-shared --disable-static --enable-gpl --disable-yasm --enable-libx264 --extra-ldflags=-L../x264-20140916/out/lib --extra-cflags=-I../x264-20140916/out/include

2.修改config.mak

prefix=./out

CC=arm-hisiv300-linux-gcc
CXX=arm-hisiv300-linux-g++
AS=arm-hisiv300-linux-gcc
LD=arm-hisiv300-linux-gcc
DEPCC=arm-hisiv300-linux-gcc

DEPAS=arm-hisiv300-linux-gcc

AR=arm-hisiv300-linux-ar

RANLIB=arm-hisiv300-linux-ranlib

3.编译
make -j4

4如果出错
x264和ffmpeg版本对应.

5.安装
make install

测试
./ffmpeg -re -i /mnt/nfs/hisi_video/videoRecoder/DCIM/P000000200190418102159190418103159.h264 -rtsp_transport tcp -vcodec h264 -f rtsp rtmp://192.168.1.163/test1

./ffmpeg  -i P000000200190418234515190418235515.h264 -vcodec copy -f mp4 test.mp4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值