1、ffmpeg简介

ffmpeg(Fast Forward Mpeg)的介绍可以参考[ffmpeg - 百度百科],里面有比较全面以及专业的描述,主要功能大约可以总结为以下几点:

  • 视频采集/屏幕录制
  • 视频格式转换
  • 视频截图
  • 视频加水印等

2、编译

ffmpeg中已有H.264的解码,但没有编码,所以需要先编译libx264,它是自由的H.264编码库,是x264项目的一部分。

2.1 编译x264

源码下载:http://download.videolan.org/pub/videolan/x264/snapshots/

编译步骤:

tar xjvf x264-snapshot-20180619-2245-stable.tar.bz2
cd x264-snapshot-20180619-2245-stable/
./configure --host=arm-linux-gnueabihf --prefix=$PWD/tmp --enable-shared --disable-asm
vi config.mak   # 修改内容以支持交叉编译CC=arm-linux-gnueabihf-gccLD=arm-linux-gnueabihf-gcc -oAR=arm-linux-gnueabihf-gcc-ar rcRANLIB=arm-linux-gnueabihf-gcc-ranlibSTRIP=arm-linux-gnueabihf-strip
make && make install
tree tmp/    # 生成了bin/include/lib三个文件夹及其内容tmp/├── bin│   └── x264├── include│   ├── x264_config.h│   └── x264.h└── lib├── libx264.so -> libx264.so.152├── libx264.so.152└── pkgconfig└── x264.pc
2.2 编译ffmpeg

源码下载:http://ffmpeg.org/releases/

编译步骤:

tar xjvf ffmpeg-3.4.5.tar.bz2
cd ffmpeg-3.4.5/
./configure --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- \--arch=arm --target-os=linux --cc=arm-linux-gnueabihf-gcc --prefix=$PWD/tmp \--enable-shared --enable-pic --disable-static --enable-gpl --enable-nonfree \--enable-pthreads --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale  \--disable-armv5te --disable-armv6 --disable-armv6t2 --disable-stripping \--enable-libx264 --extra-cflags=-I$PWD/../x264-snapshot-20180619-2245-stable/tmp/include \--extra-ldflags=-L$PWD/../x264-snapshot-20180619-2245-stable/tmp/lib
make && make install
ls -l tmp/    # 生成了bin/include/lib/share四个文件夹及其内容

./configure参数说明可以参考:https://www.cnblogs.com/azraelly/archive/2012/12/31/2840541.html

注:./configure时提示“arm-linux-xxx-pkg-config not found”不影响后续使用。

3、使用示例

本例使用了USB摄像头作为测试,支持640x480、320x240多种分辨率,在系统中的节点为/dev/video0,则使用320x240分辨率的测试命令如下:

ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /mnt/test.avi

参考文章

  • 在ARM-Linux下移植FFMPEG – CSDN
  • 成功在mini2440上移植ffmpeg – CSDN
  • ffmpeg 移植到arm 编译笔记 – CSDN

Linux:移植ffmpeg到ARM板(含x264编译步骤)相关推荐

  1. 移植ethtool至ARM板

    移植前需要理解的概念 『交叉编译器』:想要使程序能够在ARM板上运行,需要使用交叉编译器编译程序,如 arm-hisiv400-linux-gcc 『动态链接与静态链接的区别』:ARM板上相关库文件不 ...

  2. linux下ffmpeg库 ARM交叉编译

    一.前言: 因为想用ffmpeg实现录像网络视频流功能,所以需要编译ffmpeg相关库,不过目前对视频方面很多知识还是小白,后续会写一些关于视频方面知识的文章 二.准备工作 1.ffmpeg源码地址: ...

  3. FFmpeg简介及在vc2010下编译步骤

    FFmpeg是一个开源的多媒体库,最新版本是2.4.3,它的License是LGPL或GPL.FFmpeg可以用来记录.转换数字音频.视频,并能将其转换为流的开源计算机程序.它包括了音/视频编码库li ...

  4. ffmpeg arm linux编译,arm linux 移植 ffmpeg 库 + x264 + x265

    背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...

  5. 将linux内核烧进arm板,ARM开发板上uClinux内核移植

    <ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...

  6. am335x mysql_移植mysql到ARM(AM335x)

    一,编译ncurses 编译mysql需要依赖ncurses,先编译ncurses 1.下载ncurses 下载路径是ftp://ftp.gnu.org/gnu/ncurses,选择下载的是ncurs ...

  7. Linux移植随笔 tslib

    前段时间让Tslib搞晕头了,原来一切都是版本惹的祸.本文只是一个随笔,随笔者,随意用笔写下心得而已,因此不必较真.正如我所欣赏的"乘兴而来,兴尽而返"一样.--估计当年王子猷是赏 ...

  8. Linux移植随笔:终于解决Tslib的问题了【转】

    转自:http://www.latelee.org/embedded-linux/porting-linux-tslib.html 前段时间让Tslib搞晕头了,原来一切都是版本惹的祸.本文只是一个随 ...

  9. Linux移植随笔:终于解决Tslib的问题了

    前段时间让Tslib搞晕头了,原来一切都是版本惹的祸.本文只是一个随笔,随笔者,随意用笔写下心得而已,因此不必较真.正如我所欣赏的"乘兴而来,兴尽而返"一样.--估计当年王子猷是赏 ...

  10. Linux下ffmpeg开源库移植到ARM开发板。

    Linux下移植ffmpeg开源库. Make install 成功后,用户安装目录下出现bin,include,lib,share目录. 进入bin目录执行file ffmpeg 查看编译出的执行程 ...

最新文章

  1. Silverlight动态设置WCF服务Endpoint
  2. RabbitMQ创建远程连接用户
  3. 线上redis一般安在linux_redis的zset有多牛?请把耳朵递过来
  4. php生成vcf,[宜配屋]听图阁 - PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】 原创...
  5. 干货:SSH的使用详解
  6. 数据库-多条件查询-优先级
  7. 【NOI2018】你的名字【后缀自动机】【可持久化线段树合并】【乱搞】
  8. 《飞鸽传书2007绿色版下载》总结报告
  9. WPF TreeView 绑定(demo 转)
  10. UVA10945 Mother bear【Ad Hoc】
  11. Amesim17.0安装教程(基于Win64)
  12. 当鼠标移动到上面时的应用
  13. [Docker Swarm集群+图形化界面Visualizer笔记记录]
  14. 蚂蚁金服提前批实习面经(2.26)
  15. MBA-day21 假言推理-练习题
  16. Tomcat肥猫越来越胖,干崩了我的云服务器
  17. PHP根据键值,对二维数组重新进行分组
  18. 摄像机标定以及镜头畸变
  19. 《哈利·波特:霍格沃茨之谜》游戏特推出万圣节内容致敬黑魔法
  20. python 使用twilio进行发短信

热门文章

  1. 网易企业邮箱 服务器 端口,网易企业邮箱客户端——Thunderbird设置
  2. 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?
  3. 手机知识:手机OTG知识介绍,看完你就懂了
  4. sql server日期时间转字符串
  5. 迪文屏幕T5UID3平台学习笔记零:迪文屏幕的学习和开发
  6. 万字攻略全面了解selenium_selenium教程
  7. 20145306 信息安全系统设计基础 第五周博客总结
  8. python总结9(实战)
  9. ATX电源的基本描述
  10. 树莓派 Pico Pi USB串口通信