Arm-Linux 移植 FFMPEG库 + x264
主机准备:
为了方便管理,创建有关的目录
mkdir ffmpeg cd ffmpeg mkdir compressed install source
下载并解压有关的源码:
cd compressed wget http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20171212-2245.tar.bz2
wget http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.bz2
tar -C ../source -xf ffmpeg-3.4.1.tar.bz2 tar -C ../source -xf x264-snapshot-20171212-2245.tar.bz2
编译x264
cd ../source/x264-snapshot-20171212-2245
使用以下脚本
## # mk_x264.sh # SCHIPS # schips@dingtalk.com # https://gitee.com/schips/ # Mon Sep :: PM HKT ## #!/bin/sh OUTPUT=/home/schips/arm/ffmpeg/install/x264 MYGCC=arm-none-linux-gnueabi mkdir -p $OUTPUT && rm $OUTPUT/* -rf CC=$MYGCC-gcc \ ./configure \ --host=$MYGCC \ --enable-shared \ --enable-static \ --enable-pic \ --prefix=$OUTPUT \ --cross-prefix=$MYGCC- \ --disable-asm make && make install exit
移植FFMPEG
cd ../ffmpeg3.4.1
编写以下脚本
## # mk_ffmpeg3.4.1.sh # SCHIPS # schips@dingtalk.com # https://gitee.com/schips/ # Mon Sep :: PM HKT ## #!/bin/sh OUTPUT=/home/schips/arm/ffmpeg/install/ffmpeg X264_DIR=/home/schips/arm/ffmpeg/install/x264/ MYGCC=arm-none-linux-gnueabi mkdir $OUTPUT -p && rm $OUTPUT/* -rf ./configure \ --cross-prefix=$MYGCC- \ --enable-cross-compile \ --target-os=linux \ --cc=$MYGCC-gcc \ --arch=arm \ --prefix=$OUTPUT \ --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$X264_DIR/include \ --extra-ldflags=-L$X264_DIR/lib make clean && make && make install exit
配置完成以后可能会有这个警告,但是不影响后续的结果

开发板准备:
拷贝 x264中的make install 以后生成的lib下的所有文件到板子上的/usr/lib 中

同样地,拷贝ffmpeg中的lib到板子上

测试:
ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /mnt/tmp/test.avi
video4linux2 代表Linux下
/dev/video0代表摄像头设备
/mnt/tmp/test.avi代表输出路径
Arm-Linux 移植 FFMPEG库 + x264的更多相关文章
- arm linux 移植 ffmpeg 库 + x264
背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...
- arm linux 移植 x265
背景 本来想着把 x265编译到ffmpeg里面,搞定了x265的编译:但是一直报ERROR: x265 not found using pkg-config这个错误,我按照网上的资料,查看了ffbu ...
- linux 编译ffmpeg 支持x264, x265
1. 前言 本教程涉及的ffmpeg, x264, x265 2. 环境依赖 2.1 删除系统中安装的ffmpeg等库 sudo apt-get --purge remove ffmpeg mplay ...
- Linux 安装 go 以及 arm linux 移植 go
背景 Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. 从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码 ...
- arm linux 移植 MQTT (paho、mosquitto)
前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...
- arm linux 移植 PHP
背景: PHP 是世界上最好的语言. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 php :7.1.30 zlib :1.2.11 libxml ...
- arm linux下编译库System.Net.Primitives.dll和System.Xml.XmlSerializer.dll
1.环境: /home/jello # uname -aLinux 3.10.0 #2 SMP Mon Mar 6 17:52:09 CST 2017 armv7l GNU/Linux 2.获取mo ...
- arm linux 移植支持 HP打印机
背景 由于业务需要,需要hi3531d主板上加入对于HP打印机的支持. 通过与产品经理,技术主管的沟通:通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可. 注意: Li ...
- arm linux 移植 gdb/gdbserver
背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机 ...
随机推荐
- revenue
美 ['revənju] 英 ['revənjuː] n.收益:营业额:税务署 网络收入:税收:岁入
- Java查询目录下的所有文件(包括子目录)
目录图: 方法代码: /** * 读取目录下的所有文件 * * @param dir * 目录 * @param fileNames * 保存文件名的集合 * @return */ public st ...
- Spring Boot Actuator:健康检查、审计、统计和监控(转)
Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...
- SNAT场景模拟
我的网络配置跟教程中的这个略有不同: web server:192.168.66.101 nat server:192.168.66.188:192.168.6.172 client:192.168. ...
- VsCode写Python代码!这代码简直和大神一样规范!太漂亮了!
VsCode写Python代码!这代码简直和大神一样规范!太漂亮了! 转 https://www.jianshu.com/p/636306763d89 VsCode虽然没有Pycharm的功能齐 ...
- 从0开始学爬虫9之requests库的学习之环境搭建
从0开始学爬虫9之requests库的学习之环境搭建 Requests库的环境搭建 环境:python2.7.9版本 参考文档:http://2.python-requests.org/zh_CN/l ...
- 003-guava 集合-不可变集合
一.概述 二.使用 2.1.不可变集合 1.为什么使用不可变集合 不可变对象有很多优点,包括: 当对象被不可信的库调用时,不可变形式是安全的:不可变对象被多个线程调用时,不存在竞态条件问题不可变集合不 ...
- python3-sql解析库——sqlparse
1.官方文档 https://sqlparse.readthedocs.io/en/latest/ 2.快速开始 使用pip或者conda安装: conda install sqlparse 使用官网 ...
- Spring cloud微服务安全实战-5-12实现基于token的SSO(2)
我只要把这个meFilter放在AuthorizationFilter后面就可以了. authorizationFilter的排序是3 MeFilter设置为4 就可以了. 拿到了username直接 ...
- 转 ORA-16191 "Primary log shipping client not logged on standby
###sample 0 原因未知: 解决办法,重建密码文件 primary db :alter system set log_archive_dest_state_2=defer sid='*' sc ...