FFmpeg官网:http://ffmpeg.org/
安装ffmpeg:
主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
 
视频参数:
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
 
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频
 
拓展:
-strict -2 之前是实验参数表示 aac音频编码 如果不使用aac音频编码使用使其的编码好像还需要导入第三方的音频编码库 比较麻烦 使用FFmpeg自带的aac音频编码要带上-strict -2 参数就可以了。带这个参数是为了使用aac音频编码。
-sameq 指相同的量级数,常被误用成“相同的画质”,所以被取消。官方推荐用-qscale和-qmax替代 ffmpeg不支持libfaac库,faac库音质也一般。 另支持2套AAC音频编码, -acodec aac 是ffmpeg自制的AAC编码器,处在实验阶段,需要开启"-strict experimental"参数,音质也不差。 -acodec libvo_aacenc 是移植自安卓系统的AAC编码器,比较成熟。
  • m4a转wav
$ ffmpeg.exe -i input.m4a -ac  -ar  -acodec pcm_s16le -f wav output.wav
  • 从视频中提取声音
$ ffmpeg -i [input].mp4 -vn -ab 128k [output].mp3
  • 分离视频音频流
//分离视频流
$ ffmpeg -i input_file -vcodec copy -an output_file_video
//分离音频流
$ ffmpeg -i input_file -acodec copy -vn output_file_audio
  • 去掉视频里的声音(静音)
$ ffmpeg -i [input].mp4 -an [output].mp4
  • 改变视频文件大小(分辨率)
$ ffmpeg -i [input].mp4 -s 640x480 -c:a copy [output].mp4
  • 截取一段音频
//-ss:截取开始时间点, -t:要截取的视频长度(15秒)
$ ffmpeg -ss :: -t -i sampleaudio.mp3 croppedaudio.mp3
$ ffmpeg -i [input].mp4 -ss :: -codec copy -t [output].mp4
  • 视频剪切
//-r 提取图像的频率,-ss 开始时间,-t 持续时间
$ ffmpeg –i test.avi –r –f image2 image-%3d.jpeg //提取图片
$ ffmpeg -ss :: -t :: -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
  • 把一个视频分成多个部分
//0-59秒一部分,59秒以后一部分
$ ffmpeg -i input.mp4 -t :: -c copy part1.mp4 -ss :: -codec copy part2.mp4
  • 查看ffmpeg支持的视频格式
$ ffmpeg -formats
  • mp4到wmv格式转换
$ ffmpeg -i input.mp4 -c:v libx264 output.wmv
  • webm转为mp4
$ ffmpeg -i input.webm -qscale  output.mp4
  • 视频文件名写入txt
$ ffmpeg -i input.webm -qscale  output.mp4
  • 对音频加减速
$ ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
  • 对视频加减速
$ ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4
  • 旋转视频
$ ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4
$ ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4
  • 改变声音大小
$ ffmpeg -i input.wav -af 'volume=0.5' output.wav
  • 加入字幕
$ ffmpeg -i movie.mp4 -i subtitles.srt -map  -map  -c copy -c:v libx264 -crf  -preset veryfast output.mkv
  • 把单独的一个图片转为视频
$ ffmpeg -loop  -i image.png -c:v libx264 -t  -pix_fmt yuv420p video.mp4
  • 把视频文件转为图片
$ ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png
  • 视频中提取帧
$ ffmpeg -ss :: -i video.mp4 -vf scale=:- -vframes  image.jpg
  • 把视频转为GIF动态图
$ ffmpeg -i video.mp4 -vf scale=:- -t  -r  image.gif
  • 左右声道的录音合成为立体声
$ ffmpeg -i .wav -i .wav -filter_complex "amovie=1.wav [l]; amovie=2.wav [r]; [l] [r] amerge" 1_2.mp3
  • 从视频里截图
$ ffmpeg -i test.avi -y -f image2 -ss  -t 0.001 -s 350x240 test.jpg
  • 音视频文件的切割
$ ffmpeg -ss :: -t :: -i input.mp3 output.mp3
  • 视频解复用
$ ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.
$ ffmpeg –i test.avi –vcodec copy –an –f m4v test.
  • 视频转码
//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制

//转码为码流原始文件
$ ffmpeg –i test.mp4 –vcodec h264 –s * –an –f m4v test.
//转码为码流原始文件
$ ffmpeg –i test.mp4 –vcodec h264 –bf –g –s * –an –f m4v test.
//转码为封装文件
$ ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi
  • 视频封装
$ ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
 
 

关于FFmpeg工具的使用总结的更多相关文章

  1. C# ffmpeg工具将视频转为SWF格式

    1.下载ffmpeg工具 using System; using System.Collections; using System.Configuration; using System.Data; ...

  2. FFmpeg工具使用总结

    . 一. FFmpeg是什么? 简单说,FFmpeg就是一个很好的,免费的,开源的视频转换工具.详细说,FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依 ...

  3. 视频专家之路【二】:ffmpeg工具的使用

    本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除. 雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020 要学习汽修,那么首 ...

  4. FFmpeg工具

    [0]安装ffmpeg //Linux系统下安装sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update ...

  5. 视频处理工具FFmpeg的安装(windows/Linux)

    ♣FFmpeg是什么? ♣FFmpeg组成 ♣下载工具 ♣安装FFmpeg ♣应用到j2ee项目 前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世 ...

  6. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  7. 用ffmpeg合并音频文件

    1 问题描述 打电话的对话,被拆分成了两个PCM文件.其中主叫的录音文件A.pcm,被叫的录音为B.pcm. 问题是怎么合成一个混音的对话文件AB.wav. 2 WAV文件的录音格式 常见的声音文件主 ...

  8. PHP基础知识之————PHP Web脚本中使用FFmpeg

    简介 本文将尝试指出在PHP Web脚本中使用FFmpeg时需要了解的所有重要事项.它还将显示一些使用示例,以使事情更清楚.这个想法也可以应用到其他web脚本语言. 从PHP脚本调用命令行工具 选择一 ...

  9. centos 安装ffmpeg

    wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpeg-3.1.tar.gz cd ffmpeg-3.1 ./co ...

随机推荐

  1. Python入门经典案例一

    # 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? sum = 0 values = range(1, 5) for i in values: for j in valu ...

  2. mysql基操

    创建数据表: create table tt1( id int, name varchar(20), age int,sex boolean ); insert into tt1 values(1,& ...

  3. 纯CSS3完成选项卡,不要js完成的选项卡

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天就来敲一敲,选项卡,注意哦,不是一般利用js完成的选项卡,今天是纯用HTML和CSS来完成的,这怎么可能?那你不用js的点击事件,怎么处理? ...

  4. Java中的抽象

    什么是抽象类? 如果一个类没有足够的信息去描述一个具体的对象,那么这样的类我们就称它为抽象类.这很好理解,就如同动物是一个很广泛的概念,由于在动物这个类里,我们无法用很详细的信息去描述狗狗这个具体的对 ...

  5. git忽略对已入库文件的修改

    项目开发过程中,会遇到本地配置文件每个开发人员不同的情况,但如果遇到类似数据库配置这种最终需要加入 git 版本控制的配置,则会陷入两难境地.要么不跟踪,要么有人提交后其他人同步下来必须手动修改,非常 ...

  6. gulp自动化构建工具的使用

    gulp自动化构建工具: 把前端开发常见的处理(“搬砖”)程序,通过一个工具模块管理起来,只需配置一次,达到自动处理目的,简化开发,提高效率!! 安装: 1.全局安装(全局安装一个gulp命令) A. ...

  7. P2495 [SDOI2011]消耗战

    思路 虚树上DP 虚树相当于一颗包含了所有询问的关键点信息的树,包含的所有点只有询问点和它们的LCA,所以点数是\(2k\)级别的,这样的话复杂度就是\(O(\sum k)\),复杂度就对了 虚树重点 ...

  8. vi编辑器使用记录

    01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...

  9. git图形化界面gitk里中文乱码解决

    将git全局配置成utf-8格式即可,命令行里输入 git config --global gui.encoding utf-8

  10. 练习markdown语法

    这是一级标题 这是二级标题 这是三级标题 -列表试验 -据说这样无编号 编号文档 编号文档 编号文档 插入链接测试 插入图片测试 引用测试> 一蓑烟雨任平生 粗体测试我是加粗的 斜体测试我是斜体 ...