LINUX 下编译 ffmpeg
转载请把头部出处链接和尾部二维码一起转载,本文出自: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相关推荐
- linux编译ffmpeg.exe,linux下编译FFmpeg
linux下编译FFmpeg 2020年01月11日 阅读数:12 这篇文章主要向大家介绍linux下编译FFmpeg,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. 1.首先获 ...
- Linux下编译FFMpeg
环境:RedHat AS4 1.首先获取ffmpeg 通过svn下载: 从 http://subversion.tigris.org下载SVN客户端程序. 先装subversion,确保已经安装了ap ...
- NDK-r14b + FFmpeg-release-3.4 linux下编译FFmpeg
下载资源 官网下载完NDK14b 和 FFmpeg 下载之后,更改FFmpeg 目录下configure问价如下: SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME ...
- Linux下编译FFMPEG 使用ndk r20
最近在学习android的音视开发.而ffmpeg是常用的音视频开发库.准备自己编译一下ffmpeg 参考:1.0-FFMPEG-Android利用ndk(r20)编译最新版本ffmpeg4.2.1 ...
- linux编译ffmepg,在Ubuntu下编译FFmpeg
在之前,我们成功地使用mingw+msys在Windows平台下编译FFmpeg(见 http://www.linuxidc.com/Linux/2014-11/109839.htm),并生成了ffp ...
- ffmpeg for android windows,windows10下编译ffmpeg for android
最近实现了一款基于FFMpeg的支持多路视频的实时流媒体播放器:https://github.com/huweijian5/RtspPlayer 有兴趣能够关注下.html 本文记录在windows1 ...
- 在Windows下编译FFmpeg详细说明
在Windows下编译FFmpeg详细说明 MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 Mi ...
- linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls
linux下执行ffmpeg报错无法操作https资源的问题https protocol not found, recompile FFmpeg with openssl, gnutls 报错 解决 ...
- WINDOWS 下编译 ffmpeg 源码总结
WINDOWS 下编译 ffmpeg 源码,有两种方式:VC.GCC 1.VC 编译: https://github.com/ShiftMediaProject/FFVS-Project-Gene ...
最新文章
- 这才是微服务拆分的正确姿势,值得学习!
- SpringBoot之CommandLineRunner,预先加载系统数据
- golang flag包使用示例:接收命令行参数
- HttpClient 4 API –获取状态码-getStatusLine()。getStatusCode()示例
- php用到的mysql语句_PHP中常用到的一些MySQL语句_php
- lisp将图元追加选择_DNF:哈林防具和海博伦如何选择首饰提升率最大?你选对了吗?...
- NSAttributedString
- GitLab community edition
- mysql批量替换 语法
- 微型计算机基础知识提纲,自考“微型计算机应用基础”自考大纲(6)
- 《Netty权威指南》笔记 —— 第十二、十三、十四章
- 【STM32H7的DSP教程】第26章 FFT变换结果的物理意义
- 如何查看路由器的MAC地址
- Vue.js实战——表单与v-model
- Assertion断言的使用
- idcsystem源码php_全新IDC服务器主机财务系统源码
- 构建统一监管制度 加快数据要素立法修法
- Learning to Estimate the Travel Time(翻译)
- 安固士科技的智慧工地AI视频监控系统如何成为建筑工地的必备措施?
- oracle varchar2 赋值给clob,VARCHAR2转换为CLOB碰到ORA-22858错误