转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759

今天介绍下FFmpeg在Linux下安装编译过程,用的是CentOS, 总体过程比较顺利,就是在ffmpeg等的时间稍长点。没什么技术难点。仅当记录。

关于FFmpeg

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

FFmpeg配置

在安装ffmpeg之前,首先要安装yasm
1.安装yasm
百度百科这么解释的:yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集,接受NASM和气体汇编语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。之所以在FFmpeg中用这个,主要是支持编译ffmpeg-x264.

1.下载yasm-1.3.0.tar.gz这个版本:

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
  • 1

如图:

2.下载完成后,用开始解压

tar xzvf yasm-1.3.0.tar.gz
  • 1

3.进入目录,开始编译

cd yasm-1.3.0
./configure
make
  • 1
  • 2
  • 3

4.安装

make install
  • 1

完成后如图:

5.开始下载FFmpeg,这里下载3.1.3 release ffmpeg的版本

完成后如图:

6.下载完成后,用开始解压

tar -zxvf ffmpeg-3.1.3.tar.gz
  • 1

7.进入目录,开始编译

cd ffmpeg-3.1.3
./configure
make
  • 1
  • 2
  • 3

本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759

8.安装

make install
  • 1

以上过程就编译安装完成了,上图中黑色粗体文件就是编译出的。
以_g的的表示这个带调试信息的可执行程序。

实例用法

编译完成后,自然希望能我们有所作用,否则也不会没事编译ffmpeg。

1.把视频的前120帧转换成一个gif图,大小指定为230*450:

ffmpeg -i device-2016-08-25-193402.mp4 -vframes 120  -s 230x405 -y -f gif Super3.gif
  • 1

2.调用ffmpeg命令将一个视频转成3gp格式:

ffmpeg -i device-2016-08-25-193402.mp4 -y -b 20 -s sqcif -r 10 -acodec amr_wb -ab 23.85 -ac 1 -ar 16000 video.3gp
  • 1

其他FFmpeg使用

语法:ffmpeg [[options][`-i’ input_file]]… {[options] output_file}…

  • 截取一张352x240尺寸大小的,格式为jpg的图片
    ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 s.jpg

  • 截取指定时间的缩略图
    ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
    -ss后跟的时间单位为秒

  • 转换文件为3GP格式
    ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144
    -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp
    或 ffmpeg -y -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176x144 -b 128 -r 15 test.3gp

  • 视频格式转换
    如何使用 ffmpeg 编码得到高质量的视频
    ffmpeg.exe -i “c:device-2016-08-25-193402.mp4” -target film-dvd -s 720x352
    -padtop 64 -padbottom 64 -maxrate 7350000 -b 3700000 -sc_threshold 1000000000
    -trellis -cgop -g 12 -bf 2 -qblur 0.3 -qcomp 0.7 -me full -dc 10 -mbd 2
    -aspect 16:9 -pass 2 -passlogfile “D:Videoffmpegencode” -an -f mpeg2video “D:Fearless.m2v”

  • 转换指定格式文件到FLV格式
    ffmpeg.exe -i meng.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:/device-2016-09.flv
    ffmpeg.exe -i meng.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:/device-2016-09.flv

  • 转换文件为MP4格式
    ffmpeg -y -i input.wmv -f mp4 -async 1-s 480x320 -acodec libfaac -vcodec libxvid -qscale 7 -dts_delta_threshold 1 output.mp4
    ffmpeg -y -i source_video.avi input -acodec libfaac -ab 128000 -vcodec mpeg4 -b 1200000 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

  • 使用ffmpeg录像屏幕
    ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1024x768 ~/device-2016-09-02-193402.avi
    :其中,-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。录制的视频文件为 test.avi,将保存到用户主目录中
    如果你只想录制一个应用程序窗口或者桌面上的一个固定区域,那么可以指定偏移位置和区域大小。使用xwininfo -frame命令可以完成查找上述参数。

  • 重新调整视频尺寸大小
    ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/device-2016-08-25-193402.avi -s 800×600 ~/device-2016-08-25-193402-800-600.avi
    注:ffmpeg的屏幕录制功能只能在Linux环境下有效。

  • 视频采集
    把摄像头的实时视频录制下来,存储为文件
    ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf

第一时间获得博客更新提醒,以及更多android干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码,即可关注。

如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此公众号给你更多的人,原创不易

LINUX 下编译 ffmpeg相关推荐

  1. linux编译ffmpeg.exe,linux下编译FFmpeg

    linux下编译FFmpeg 2020年01月11日 阅读数:12 这篇文章主要向大家介绍linux下编译FFmpeg,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. 1.首先获 ...

  2. Linux下编译FFMpeg

    环境:RedHat AS4 1.首先获取ffmpeg 通过svn下载: 从 http://subversion.tigris.org下载SVN客户端程序. 先装subversion,确保已经安装了ap ...

  3. NDK-r14b + FFmpeg-release-3.4 linux下编译FFmpeg

    下载资源 官网下载完NDK14b 和 FFmpeg 下载之后,更改FFmpeg 目录下configure问价如下: SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME ...

  4. Linux下编译FFMPEG 使用ndk r20

    最近在学习android的音视开发.而ffmpeg是常用的音视频开发库.准备自己编译一下ffmpeg 参考:1.0-FFMPEG-Android利用ndk(r20)编译最新版本ffmpeg4.2.1  ...

  5. linux编译ffmepg,在Ubuntu下编译FFmpeg

    在之前,我们成功地使用mingw+msys在Windows平台下编译FFmpeg(见 http://www.linuxidc.com/Linux/2014-11/109839.htm),并生成了ffp ...

  6. ffmpeg for android windows,windows10下编译ffmpeg for android

    最近实现了一款基于FFMpeg的支持多路视频的实时流媒体播放器:https://github.com/huweijian5/RtspPlayer 有兴趣能够关注下.html 本文记录在windows1 ...

  7. 在Windows下编译FFmpeg详细说明

    在Windows下编译FFmpeg详细说明 MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 Mi ...

  8. linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls

    linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls 报错 解决 ...

  9. WINDOWS 下编译 ffmpeg 源码总结

    WINDOWS 下编译 ffmpeg 源码,有两种方式:VC.GCC 1.VC 编译:   https://github.com/ShiftMediaProject/FFVS-Project-Gene ...

最新文章

  1. 这才是微服务拆分的正确姿势,值得学习!
  2. SpringBoot之CommandLineRunner,预先加载系统数据
  3. golang flag包使用示例:接收命令行参数
  4. HttpClient 4 API –获取状态码-getStatusLine()。getStatusCode()示例
  5. php用到的mysql语句_PHP中常用到的一些MySQL语句_php
  6. lisp将图元追加选择_DNF:哈林防具和海博伦如何选择首饰提升率最大?你选对了吗?...
  7. NSAttributedString
  8. GitLab community edition
  9. mysql批量替换 语法
  10. 微型计算机基础知识提纲,自考“微型计算机应用基础”自考大纲(6)
  11. 《Netty权威指南》笔记 —— 第十二、十三、十四章
  12. 【STM32H7的DSP教程】第26章 FFT变换结果的物理意义
  13. 如何查看路由器的MAC地址
  14. Vue.js实战——表单与v-model
  15. Assertion断言的使用
  16. idcsystem源码php_全新IDC服务器主机财务系统源码
  17. 构建统一监管制度 加快数据要素立法修法
  18. Learning to Estimate the Travel Time(翻译)
  19. 安固士科技的智慧工地AI视频监控系统如何成为建筑工地的必备措施?
  20. oracle varchar2 赋值给clob,VARCHAR2转换为CLOB碰到ORA-22858错误

热门文章

  1. 一个图片展示效果的站点
  2. 定向输出命令_网络工程师之linux重定向命令和管道命令详解
  3. vue学习- 列表渲染v-for
  4. (十一)开发环境【不会这些,你就会被认定是菜鸟小白,没做过项目】
  5. Node.js 路由的简单使用
  6. PCL:Ubuntu下安装配置PCL
  7. word文档图标变成白纸_挽救你的文件 修复变成乱码的Word文档
  8. git的常用操作(个人整理使用)
  9. SpringBoot 自动开启事务原理
  10. linux系统用户组管理