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调试目标机 ...
随机推荐
- JVM 初始化阶段例子
创建如下Demo package com.example.jvm.classloader; class Parent{ static int a = 3; static { System.out.pr ...
- QEMU命令配置虚拟机网络的用户模式
QEMU缺省使用“-net nic-net user”参数为客户机配置网络,提供了一种用户模式( user-mode)的网络模拟.使用用户模式的客户机可以连通宿主机及外部网络.用户模式网络完全由QEM ...
- 使用NGINX+LUA实现WAF功能 和nginx 防盗链
使用NGINX+LUA实现WAF功能 一.了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF) ...
- jvm 命令使用调优 通过jstat、jmap对java程序进行性能调优
转载:http://blog.csdn.net/jerry024/article/details/8507589 转载: https://blog.csdn.net/zhaozheng7758/art ...
- ubuntu18设置root账号的开机登录
date: 2019-08-20 17:36:49 author: headsen chen notice :个人原创 1,用普通用户登录. su - root 打开终端 vi /etc/pam.d ...
- CentOS / RHEL 7 更改时区
timedatectl 是 RHEL7 上的一项新功能.它可用于查询和更改系统时钟及其设置. 按照以下步骤将时区更改为中国.(以root用户身份执行以下命令). 1.使用以下命令列出所有可用的时区.你 ...
- Qt比较字符串Qstring是否相等
Qt比较字符串Qstring是否相等 QString str = "相等"; if(str ==QString::fromLocal8Bit("球形")) { ...
- python web开发——django学习(一)第一个连接mysql数据库django网站运行成功
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message 4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表 6.运行 ...
- LeetCode_205. Isomorphic Strings
205. Isomorphic Strings Easy Given two strings s and t, determine if they are isomorphic. Two string ...
- vue-cli4.0 基于 antd-design-vue 二次封装发布到 npm 仓库
1. 安装 cli npm install -g @vue/cli vue create winyh-ui 2.安装 antd-design-vue cnpm i ant-design-vue --s ...