位置: IT常识 - 正文

linux下ffmpeg的使用方法详解(ffmpeg安装教程linux)

编辑:rootadmin
今天小编为大家带来的是linux下ffmpeg的使用方法详解!希望对大家会有帮助!有需要的朋友一起去看看吧... 17-03-23

推荐整理分享linux下ffmpeg的使用方法详解(ffmpeg安装教程linux),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ffmpeg 命令,ffmpeg centos,ffmpeg安装教程linux,linux fftw,ffmpeg centos,linux ffs,linux ffmpeg的安装和使用教程,linux ffmpeg的安装和使用教程,内容如对您有帮助,希望把文章链接给更多的朋友!

格式转换 (将file.avi 转换成output.flv)

#ffmpeg -i file.avi output.flv

-i 表示输入文件

:现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi

两个命令(file.avi 是中间文件,用完可删)

#ffmpeg -i video.avi -vcodec copy -an video2.avi #ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi

-i 表示输入文件

-vcodec copy 表示 force video codec (‘copy’ to copy stream) 这个不知怎么译 ,估计是直接copy

-acodec copy 这个说的应该是音频了 跟上面一样

-an:表示 disable audio 估计是audio no 之类的缩写,表示去掉video.avi 原有的音频

方法2 好像可以直接指定两个输入文件 ,

#ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi

两个文件的顺序很重要

从视频里提取声音(声音与视频的分离)

#ffmpeg -i 人生若只如初见.flv -vnr.mp3

从flv 文件中提取声音并保存为mp3格式

-vn : 表示忽略视频 估计是video no 之类的缩写

#ffmpeg -i 人生若只如初见.flv -an r.flv

只留视频不留声音

-an : 表示 忽略 声音 估计是audio no 之类的缩写

从视频里提取图片( )

#ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg -ss

第8秒处截一图

压缩mp3 文件

如果你觉得mp3文件有点大,想变小一点那么可以通过-ab 选项改变音频的比特率 (bitrate)

#ffmpeg -i input.mp3 -ab 128 output.mp3

//这里将比特率设为128

你可以用file 命令查看一下源文件 的信息

z.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo

其中的192 kbps 就是这个东西

mp3中比特率的含义是:在压缩音频文件至mp3时,由压缩软件所确定数码文件在播放时每秒传 送给播放器大小,其单位是:千位/秒;英文的含义是:kbps – = kilobits per second。现在mp3文件的最高数位率是320 kbps。这样的文件体积很大,每分钟的音乐超过两兆字节。如果采用可变比特率(VBR)编码来生成mp3文件,获得与320 kbps相当音质,文件的体积会缩小25~50%。请注意:播放时间相同,而歌曲不同,所获的压缩mp3文件的一般不相同,这是因为VBR编码所生成的 mp3文件的大小不仅仅取决于播放时间的长度,还取决于源音频文件的其它因素。

录音(要有可用的麦克风,并且如果用alsa 的话,好像得安alsa-oss,重启)

#ffmpeg -f oss -i /dev/dsp out.avi #ffmpeg -f alsa -ac 2 -i hw:0,0 ut.avi #ffmpeg -f alsa -ac 2 -i pulse

oss 是linux 下的声音相关的东西,与alsa 一样,不过oss 是商业的, 而/dev/dsp 是oss 用到的麦克的设备吧,可以这样理解

屏幕录像

#ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi #ffmpeg -f x11grab -s 320x240 -r 10 -i :0.0+100+200 wheer.avi

:0:0 表示屏幕(个人理解,因为系统变量$DISPLAY值就是:0.0) 而100,表示距左端100象素,200表示距上端200

-s 设置窗口大小

-r 10 好像是设置频率,不懂

#ffmpeg -f x11grab -s xga-qscale 5-r 10 -i :0.0+0+0 wheer.avi

-qscale 8 设定画面质量,值越小越好

屏幕录像,同时录音

#ffmpeg -f oss -i /dev/dsp-f x11grab -r 30 -s 1024x768 -i :0.0 output.mkv #ffmpeg -ac 2 -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

看到这,你会发现这个命令有多强大,

如果我屏幕上打开了一个窗口,我只想录这个窗口的内容,如何确定这个窗口的坐标位置呢

可以用另外一个命令

xwininfo 输入这个命令后,用鼠标点选目标窗口,

会出现目标窗口的坐标,宽高等一系列信息

Absolute upper-left X: 276

Absolute upper-left Y: 57

Relative upper-left X: 2

Relative upper-left Y: 23

Width: 742

Height: 499

Depth: 24

Visual: 0×21

Visual Class: TrueColor

Border width: 0

Class: InputOutput

Colormap: 0×20 (installed)

Bit Gravity State: NorthWestGravity

Window Gravity State: NorthWestGravity

Backing Store State: NotUseful

Save Under State: no

Map State: IsViewable

Override Redirect State: no

Corners: +276+57 -262+57 -262-244 +276-244

-geometry 80×24+274+34 看到这一行了没 ()

比如根据上面的信息

#ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1280x752 -i :0.0+0+23 output.avi

Another thing you can change is the video frame rate (FPS). In the example above we used -r 30 which means capture at 30 FPS. You can change this value to whatever frame rate you want.

这个 -r 30 应该是每秒钟取样几次,估计是一秒截三十次屏,

切头去尾

#ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3 output.mp3

只要从第10秒开始截取,共截取1:22时长的内容,视频文件的连接,如两个flv 文件 连接成一块

linux下ffmpeg的使用方法详解(ffmpeg安装教程linux)

好像必须先将文件 转成mpg ,dv 等格式的文件后才能进行连接

连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PS, DV格式亦可连接))

#ffmpeg -i input1.avi -sameq inputfile_01.mpg -r 20 #ffmpeg -i input2.avi -sameq inputfile_02.mpg -r 20 #cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg #ffmpeg -i inputfile_all.mpg -sameq outputfile.avi

上面将input1.avi input2.avi 合并成outputfile.avi

-sameq 表示 相同的质量(可能指的是画面,不太清楚)

-r 指频率

=====================================================================

下面是wiki 上给的几个例子

参数

FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用 ffmpeg -h 显示;编解码器名称等明细可用 ffmpeg -formats 显示。

下列为较常使用的参数。

主要参数

-i 设定输入档名。

-f 设定输出格式。

-y 若输出档案已存在时则覆盖档案。

-fs 超过指定的档案大小时则结束转换。

-ss 从指定时间开始转换。

-title 设定标题。

-timestamp 设定时间戳。

-vsync 增减Frame使影音同步。

影像参数

-b 设定影像流量,默认为200Kbit/秒。( 单位请参照下方注意事项 )

-r 设定FrameRate值,默认为25。

-s 设定画面的宽与高。

-aspect 设定画面的比例。

-vn 不处理影像,于仅针对声音做处理时使用。

-vcodec 设定影像影像编解码器,未设定时则使用与输入档案相同之编解码器。

声音参数

-ab 设定每Channel (最近的SVN 版为所有Channel的总合)的流量。( 单位 请参照下方注意事项 )

-ar 设定采样率。

-ac 设定声音的Channel数。

-acodec 设定声音编解码器,未设定时与影像相同,使用与输入档案相同之编解码器。

-an 不处理声音,于仅针对影像做处理时使用。

-vol 设定音量大小,256为标准音量。(要设定成两倍音量时则输入512,依此类推。)

注意事项

以-b及ab参数设定流量时,根据使用的ffmpeg版本,须注意单位会有kbits/sec与bits/sec的不同。(可用ffmpeg -h显示说明来确认单位。)

例如,单位为bits/sec的情况时,欲指定流量64kbps时需输入‘ -ab 64k ’;单位为kbits/sec的情况时则需输入‘ -ab 64 ’。

以-acodec及-vcodec所指定的编解码器名称,会根据使用的ffmpeg版本而有所不同。例如使用AAC编解码器时,会有输入aac 与 libfaac的情况。此外,编解码器有分为仅供解码时使用与仅供编码时使用,因此一定要利用ffmpeg -formats 确 认输入的编解码器是否能运作。

范例

将MPEG-1影片转换成MPEG-4格式之范例

#ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4

将MP3声音转换成MPEG-4格式之范例

#ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4

将DVD的VOB档转换成VideoCD格式的MPEG-1档之范例

#ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg

将AVI影片转换成H.264格式的M4V档之范例

#ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v

将任何影片转换成东芝REGZA可辨识的MPEG2格式之范例

#ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg

连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PSDV格式亦可连接)、

#ffmpeg -i input1.avi -sameq inputfile_01.mpg #ffmpeg -i input2.avi -sameq inputfile_02.mpg #cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg #ffmpeg -i inputfile_all.mpg -sameq outputfile.avi

=============================================================================

http://ffmpeg.org/ffmpeg-doc.html

http://ubuntuforums.org/showthread.php?t=1392026

同时搞明白的一些问题

在alsa 体系中声卡(也可能是麦克风,)叫hw:0,0 而在oss 体系中叫/dev/dsp (用词可能不太专业) Linux在安装了声卡后,会有一些设备文件生成。

采集数字样本的/dev/dsp文件,针对混音器的/dev/mixer文件,用于音序器的/dev/sequencer,/dev/audio文件一个 基于兼容性考虑的声音设备文件。只要向/dev/audio中输入wav文件就能发出声音。而对/dev/dsp文件读取就能得到WAV文件格式的声音文 件。

用ffmpeg将rmvb压制成mp4

1、查看rmvb属性

转换之前先查看一下文件属性,将分辨率等信息看一下,如果分辨率超过960*640就需要调整。顺便看一下码率,压制成x264的时候参考一下。

ffmpeg -i 文件名

2、压制成mp4

1).pass1编码

ffmpeg -i 01.rmvb -an -vcodec libx264 -b 560k -pass 1 -f mp4 -y NUL

-an : 不编码音频

-vcodec : 设置视频的编码,我这里使用的是x264

-b : 这个是码率

-f : 强制使用格式

-y : 自动输y确认

NUL : 因为是pass1 所以不需要输出文件,直接用NUL

2).pass2编码

ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -pass 2 -f mp4 01.mp4

因为现在很多rmvb的音频部分都是aac编码的,所以可以直接用-acodec copy复制音频部份

3、针对某些文件的参数调整

有些rmvb或着mkv之类的分辨率比较高,所以传到itouch需要调整一下。在ffmpeg里面可以用-s参数:ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -s 960x640 -f mp4 01.mp4

ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -s 960x640 -f mp4 01.mp4

960x640需要自己计算一下,按比例进行调整

按时间截取

ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -ss 00:00:00 -t 00:01:00 -f mp4 01.mp4

设置B-frame对动画片有些好处,2pass的时候不是很明显,1pass的比较明显:

ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -bf 6 -f mp4 01.mp4
本文链接地址:https://www.jiuchutong.com/zhishi/275457.html 转载请保留说明!

上一篇:Linux下grep显示前后几行信息方法介绍(linux grep显示行数)

下一篇:如何在硬件不受支持的 PC 上安装 Windows11(如何让电脑硬件损坏)

  • 苹果135g网怎么开(苹果135g怎么变4g)

    苹果135g网怎么开(苹果135g怎么变4g)

  • 怎样关闭淘宝省钱卡连续包月(怎样关闭淘宝省钱卡自动续费)

    怎样关闭淘宝省钱卡连续包月(怎样关闭淘宝省钱卡自动续费)

  • iosnfc怎么复制门禁卡的(nfc iphone怎么复制门禁卡)

    iosnfc怎么复制门禁卡的(nfc iphone怎么复制门禁卡)

  • 2021微信免密支付在哪里关闭(微信免密支付收费标准)

    2021微信免密支付在哪里关闭(微信免密支付收费标准)

  • iphone12的录屏功能怎么使用(iphone12的录屏功能在哪里设置)

    iphone12的录屏功能怎么使用(iphone12的录屏功能在哪里设置)

  • 美团积分在哪里看(美团积分在哪里看2022)

    美团积分在哪里看(美团积分在哪里看2022)

  • 电脑不支持flash怎么办(电脑不支持5gwifi如何解决)

    电脑不支持flash怎么办(电脑不支持5gwifi如何解决)

  • 华为nova5电池不耐用(华为nova5pro手机电池不经用)

    华为nova5电池不耐用(华为nova5pro手机电池不经用)

  • 什么积分可以兑换腾讯视频会员(什么积分可以兑换芒果tv会员)

    什么积分可以兑换腾讯视频会员(什么积分可以兑换芒果tv会员)

  • 三星红色内存卡和橙色的区别(三星内存卡红色和黄色区别)

    三星红色内存卡和橙色的区别(三星内存卡红色和黄色区别)

  • qq冻结7天后能正常使用吗(qq冻结7天后能正常聊天吗)

    qq冻结7天后能正常使用吗(qq冻结7天后能正常聊天吗)

  • qq没有开设备锁为什么还要验证(qq没有开设备锁了登录不了怎么办)

    qq没有开设备锁为什么还要验证(qq没有开设备锁了登录不了怎么办)

  • vivoy9s有呼吸灯吗(vivos9的呼吸灯)

    vivoy9s有呼吸灯吗(vivos9的呼吸灯)

  • oppo reno ace是曲面屏吗 (opporenoace是曲面屏吗)

    oppo reno ace是曲面屏吗 (opporenoace是曲面屏吗)

  • vue怎么编辑慢动作(vue怎么做gif动图)

    vue怎么编辑慢动作(vue怎么做gif动图)

  • 虎牙直播如何旋转屏幕(虎牙自动旋转)

    虎牙直播如何旋转屏幕(虎牙自动旋转)

  • 三星s6edge呼叫转移在哪里(三星呼叫转移怎么开)

    三星s6edge呼叫转移在哪里(三星呼叫转移怎么开)

  • adsb是什么(ads是什么意思?)

    adsb是什么(ads是什么意思?)

  • 共享单车概念龙头股有哪些(共享单车产品概述)

    共享单车概念龙头股有哪些(共享单车产品概述)

  • vivo手机怎么新建相册(vivo手机怎么新建apn接入点)

    vivo手机怎么新建相册(vivo手机怎么新建apn接入点)

  • 格力手机如何快速手势截屏(格力手机如何快速录屏)

    格力手机如何快速手势截屏(格力手机如何快速录屏)

  • 抖音能屏蔽人吗(抖音怎么屏蔽位置显示)

    抖音能屏蔽人吗(抖音怎么屏蔽位置显示)

  • oppor15x上市时间(oppor15x发售时间)

    oppor15x上市时间(oppor15x发售时间)

  • 冰河湖对面的钻石冰沙滩,冰岛 (© surangaw/Getty Images)(冰河湖怎么去)

    冰河湖对面的钻石冰沙滩,冰岛 (© surangaw/Getty Images)(冰河湖怎么去)

  • Maven使用教程(IDEA版)(maven jni)

    Maven使用教程(IDEA版)(maven jni)

  • 「Vue面试题」在项目中你是如何解决跨域的?(vue的常见面试题)

    「Vue面试题」在项目中你是如何解决跨域的?(vue的常见面试题)

  • MVC架构-01(MVC架构模式)

    MVC架构-01(MVC架构模式)

  • 小规模纳税人收入是含税还是不含税
  • 房地产开发企业土地增值税预缴
  • 报销人和经办人怎么区分
  • 小规模机械租赁公司
  • 结转净利润到利润分配分录
  • 小规模纳税人是个体户吗
  • 房地产公司支付工程款账务处理
  • 支持住房租赁市场金融新政
  • 资产损失税前扣除及纳税调整明细
  • 税务退税会计分录
  • 小规模纳税人增值税优惠政策2023
  • 所得税汇算清缴调整项目
  • 5.0车船税和交强险一年多少钱
  • 朋友借资质汇款到公司要收税吗?
  • 国税发2005 9号 税屋
  • 营改增后小规模ktv怎么纳税
  • 医院开发票需要税号吗
  • 定额发票有效期是多长时间?你知道吗?
  • 统借统还账务处理流程
  • 租赁产生的成本有哪些
  • 公务费和业务费怎么算
  • 设备维保服务费会计分录
  • 鸿蒙壁纸怎么设置滚动
  • 去年的发票今年可以抵扣吗
  • 事业单位工会经费会计账务处理办法
  • 向非绑定账户转账超限是什么意思
  • 个体公司转账给私人
  • 混合销售兼营如何纳税
  • 境外汇款犯法吗
  • php与js交互
  • 爱德华王子岛的气候
  • thinkphp count
  • dac模型
  • 小微企业免税额怎么计算
  • 主播工资不发
  • 被投资的公司注销后投资公司怎么处理
  • 代扣代缴境外增值税时间
  • 招待费的进项税必须认证后转出吗
  • 自产自销免税农产品需要缴纳印花税吗
  • 什么样的资产可以执行
  • 租赁公司成本如何计算
  • 固定资产折旧率如何计算
  • 母公司给子公司借款要利息吗
  • 预付卡账务处理在注会
  • 申请专利的费用主要包括
  • 不抵扣发票可以转抵扣吗
  • 一般纳税人开普票要交税几点
  • 利息收入的会计分录
  • 应付劳务费怎么做账
  • 进出口 外汇
  • 收到预收款开具发票如何入账
  • 委托代销商品的核算
  • 向银行按揭贷款时,收入流水不够怎么办?
  • 税前扣除的职工福利费支出怎么算
  • 固定资产融资租出计入什么科目
  • 存货期末计量按什么分类
  • 公司成本包含什么
  • 被征用的不动产或者动产使用后应当怎样
  • mysql5.7.27安装
  • linux给root权限
  • windowxp音量图标没了
  • 如何提升windows版本
  • mcappins.exe - mcappins进程是什么文件 什么意思.
  • win7卸载软件时显示program
  • win8.1新建桌面
  • 拦截器 aop
  • unity调用c++封装的dll
  • 批处理文件实例
  • shell 单引号中引用变量
  • unity射击游戏完整功能代码
  • node.js开发实战
  • 置顶高手
  • js中splice方法
  • python traits
  • 音频资料下载
  • 副局长是由局长任命的吗
  • 辽宁省财政局会计网
  • 衰竭期矿山开采的矿产品减征幅度
  • 请问3.3排量的汽车
  • ipo上市要注意什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设