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调试目标机 ...
随机推荐
- heatmap.js 参数说明
blur:每个点都是两个圆组成的,分别为内圆和外圆:外圆越大,看起来这个点越模糊,内圆部分比较清晰:外圆的颜色比较固定且与内圆颜色不同,内圆的颜色由value确定:blur决定外圆与内圆的占比大小 ...
- 大数据/NoSQL经典电子书pdf下载
Hadoop系列 Cloudera出品的各种官方文档 入门必备 https://www.cloudera.com/documentation.html Cloudera Hadoop大数据平台实战指南 ...
- Ubuntu配置国内高速apt-get更新源
Ubuntu配置国内高速apt-get更新源 具体内容直接参考这篇博客:https://www.linuxidc.com/Linux/2017-11/148627.htm 此网站可直接找到符合 ...
- ionic4.x网络请求
创建common服务: import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/ ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- 【笔记】第六章、Linux 的文件权限与目录配置
Linux的每个文件中,依据权限分为使用者.群组与其他人三种身份: 群组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个群组的支持: 利用ls -l显示的文件属性中,第一个字段是 ...
- pytorch中调整学习率的lr_scheduler机制
有的时候需要我们通过一定机制来调整学习率,这个时候可以借助于torch.optim.lr_scheduler类来进行调整:一般地有下面两种调整策略:(通过两个例子来展示一下) 两种机制:LambdaL ...
- JS中search查找某些内容,正则表达式|查找分隔的任何项
JS中可以用indexOf来查找某个字符串里的某些内容的索引,也就是在字符串的位置.如果存在该字符串,会返回该字符串的索引,如果不存在会返回-1,可以通过某些内容的索引是否为-1判断是否存在该字符串. ...
- 【Leetcode_easy】859. Buddy Strings
problem 859. Buddy Strings solution: class Solution { public: bool buddyStrings(string A, string B) ...
- jqweui 正在加载样式的用法
见下图: 代码说明: $.showLoading("加载中..."); $.ajax({ success : function(data) { $.hideLoading(); } ...