帖子比较长,建议Ctrl+D bookmark一下,或者提交到别的什么Social bookmark sites,不想看mencoder/ffmpeg详细技术手册的,可以把它当快速简易参考看,主要的功能有:

  1. 视频格式转换
  2. 音频格式转换
  3. 切割视频及音频
  4. 连接两段视频
  5. 视频音频同步
  6. 将图像系列转换成视频

这里是百鬼丸以前收集的一部分命令行视频音频编辑脚本命令,一直在自己的记事本里随时用,现在觉得新浪编辑器够方便,速度也够快,觉得把它们放在博客上更合适些。这些命令都是基于一些开源免费软件,如mencoder, ffmpeg, lame, sox,perl, ffmpeg2theora等,这些软件一般都没有图形界面,需要在命令行窗口输入执行。因此对家庭用户可能并不是太合适,需要花不少时间了解掌握。但对批量处理或者后台处理视频音频很有效。当你不想购买商业软件或者使用linux操作系统时,可以试试。

任务1: 延迟视频部分 (对avi文件有效)
mencoder -delay 0.7 -oac copy -ovc copy input.avi -o output.avi
解释:让视频轨比当前的音频轨落后0.7秒钟
任务2: 延迟音频部分(对avi文件有效)
mencoder -oac copy -ovc copy -audio-delay -0.7 input.avi -o output.avi
解释:让音频轨比当前的视频轨落后0.7秒钟
任务3:切割视频轨
mencoder -ss 00:00:10 -endpos 60 -ovc copy -oac copy input.avi -o output.avi
解释:切割视频部分,从0分10秒开始,到1分10秒,时间长度为60秒。将结果存储为output.avi 
任务4: 连接两段视频 (必须比特率相同)
mencoder -oac copy -ovc copy -idx -o output.avi input1.avi input2.avi
解释
任务5: 将一系列静止图像和一个mp3文件转换为AVI视频文件
mencoder "mf://snap*.bmp" -mf fps=25 -oac mp3lame -lameopts abr:br=128:mode=3 -audiofile test.mp3 -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=1:vbitrate=2560000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3 -o leadnull
mencoder "mf://snap*.bmp" -mf fps=25 -oac mp3lame -lameopts abr:br=128:mode=3 -audiofile test.mp3 -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=2:vbitrate=2560000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3 -o lead.avi

解释:mono=3 代表单声道音频输出, mono=0 代表立体声音频输出。上面使用的视频编码是微软的msmpeg4,因此这个AVI文件可以直接在Windows media player中播放,不需要另外安装插件。 上面两条命令,表示两遍压缩。 为提高速度,也可以只实用第一条做单次压缩。输出视频的fps为25。
任务6: 切割mp3音频文件
mplayer -ss 00:01:59 -endpos 102.5 input.mp3 -ao pcm
sox audiodump.wav result1.wav fade t 3
sox result1.wav result2.wav fade t 0 102.5 3.5
lame result2.wav -o fighting.mp3 -b 160


解释:这个过程由四条命令组成。 上面的例子中,
第一步:切割部分为 1分59秒开始,到3分41.5秒结束,长度102.5秒。用户需自己计算切割部分,设定上述参数。 
第二步:用sox对音频开头3秒钟做一个淡入效果(声音逐渐增强)
第三步:用sox对音频结束3.5秒钟做一个淡出效果(声音逐渐衰减)
第四步:将lame处理好的音频重新编码成160kbps的mp3文件
其中,第二、第三步是可以省略的。 
任务7: 将wma文件转换为mp3文件
mplayer input.wma -ao pcm
lame audiodump.wav -o output.mp3 -b 160

解释:一共两条命令。第一条将wma转化为wav文件,第二条再将wav转换为mp3文件,比特率为160kbps. 
任务8: 将一系列图像文件转换为flv视频文件
mencoder  "mf://snap*.bmp" -mf fps=25 -audiofile test.mp3 -o output.flv   -af resample=22050:0:0 -sws 9 -vf scale=448:-3,expand=448:336 -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=260:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:vpass=1
mencoder  "mf://snap*.bmp" -mf fps=25 -o output.flv -audiofile test.mp3  -af resample=22050:0:0 -sws 9 -vf scale=448:-3,expand=448:336 -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=260:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2:vpass=2

解释:两遍压缩,将一系列snap001.bmp, snap002.bmp, ...图像和一个mp3文件"test.mp3"转换成fps=25的录像。音频采样率设定为22050,视频画面大小为448x336, 视频的比特率为260kbps。 
如果你希望更改视频中的keyframe, 你可以在第一条命令执行后,手动编辑一个divx2pass.log文件。文件中"Type:1"表示关键帧keyframe (或者叫i frame), "Type:2"表示p-frame,就是只记录相邻帧变化部分的帧。 
任务9: 将一系列图像文件转换为ogg视频文件
ffmpeg2theora -f image2 snap%05d.bmp -V 320 -o output.ogg
解释:ogg录像还是有点用的,wikipedia, wikimeida都在用。上面的视频比特率为320kbps

任务10: 将一系列图像转化为与NTSC DVD兼容的mpeg2格式文件。 
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vpass=1:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 -o ntscdvd.mpg "mf://snap*.bmp" -mf fps=25 -audiofile test.mp3
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vpass=2:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 -o ntscdvd.mpg "mf://snap*.bmp" -mf fps=25 -audiofile test.mp3

解释:两遍压缩,输入图像帧率为25fps, 输出帧率为29.97fps,视频编码mpeg2, 音频编码192kbps ac3.  

任务11: 将一系列图像文件转换为与PAL DVD兼容的mpeg2格式视频文件
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vpass=1:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -o paldvd.mpg "mf://snap*.bmp" -mf fps=25 -audiofile test.mp3
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vpass=2:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -o paldvd.mpg "mf://snap*.bmp" -mf fps=25 -audiofile test.mp3

解释:两遍压缩,输入为snap001.jpg, snap002.jpg... 和test.mp3,图像系列的fps为25, 输出视频文件的fps为25. 视频编码为mpeg2, 音频编码为192kbps ac3. 
任务12: 将视频文件转换为一系列图像
用ffmpeg命令如下
ffmpeg -i test.avi snap%05d.bmp
也可以用mplayer完成同样功能
mplayer video.avi -vo png -ss 00:00:10 -endpos 5.0 -vf crop=480:360:80:60
解释:这里mplayer的例子中,还提供了额外的切割选择功能。切割的部分从0分10秒开始,到0分15秒结束,长达5秒。同时画面也被切割,切割的位置从坐标(80,60)开始,宽度480像素,高度360像素。这里坐标系以屏幕左上角为(0,0). 
任务13: 将midi文件转换为mp3文件
timidity input.mid -Ow
lame -b 160 -h -k input.wav output.mp3

解释:第一条命令使用timidity将midi转换为wav文件,第二条命令用lame将wav转换为160kbps mp3文件。 
timidity配置和安装还是比较麻烦的。还需要额外安装高品质的sf2声音字体文件,配置sf2文件也异常容易出错。总体效果还可以接受。但无法使用目前流行的vst,因此可能会被慢慢淘汰掉。 
任务14: 将一系列图像转换为swf格式的flash文件(需要perl) 
flv2swf  input.flv  output.swf
解释:有时候可能用swf来保存视频比flv更方便。如果图像数量不多的话,可以采用swftools来进行转换 
如果图像数量很多的话,首先我们用任务8中的命令将图像转换为一个flv文件。然后我们可以用adobe的各种软件很轻松的将flv录像加入一个flash项目里,最后输出为swf. 如果你熟悉perl的话,也可以用一个perl脚本将flv文件转换成swf. CPAN(Perl公共模块库)有一个FLV::info的模块,安装后就可以使用flv2swf命令了。

任务15: 将mp3文件转换为wma文件
mplayer input.mp3 -ao pcm
ffmpeg -i audiodump.wav -acodec wmav2 -ab 128000 test.wma1

解释:偶尔也需要这个功能的。第一步,将mp3文件转换为wav文件,第二步用ffmpeg将wav文件转换为wma. 
如果你只需要将单幅图像如某个封面,和一个mp3合并成一个视频文件,请参看前一篇博文。 
将一幅图像和一个mp3文件合并成录像文件的小工具
参考链接

上述命令基本上是参考了mplayer的用户手册,videohelp.com的论坛帖子写的。
http://www.mplayerhq.hu/DOCS/HTML/en/encoding-guide.html
http://forum.videohelp.com/
软件主页
mencoder的Windows binary: http://oss.netfarm.it/mplayer-win32.php
ffmpeg的Windows binary: http://ffmpeg.arrozcru.org/builds/
lame的Windows binary: http://lame.sourceforge.net/links.php
sox: http://sox.sourceforge.net/
ffmpeg2theora: http://v2v.cc/~j/ffmpeg2theora/
cpan: http://search.cpan.org/dist/FLV-Info/

Active perl的Windows版本:http://www.activestate.com/activeperl/
上述软件被广泛使用,其源代码部分没有什么问题, 但因为专利和版权的问题,公布其Windows的二进制可执行文件则可能触犯了一些国家的法律,目前合法性这个问题还比较模糊。

不知道为何我自己无法回复了。
wav转 aac命令 可参考
ffmpeg -i soundtrack.wav -acodec aac -ab 128kb  output.m4a

mp4提取H264 参考

ffmpeg -i 20130312_133313.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 20130312_133313.264

说明:

-i 20130312_133313.mp4 :是输入的MP4文件

-codec copy:从MP4封装中进行拷贝

-bsf: h264_mp4toannexb:从MP4拷贝到annexB封装

-f h264:采用h.264格式

20130312_133313.264:输出的文件名称

ffmpeg AV转换常用命令相关推荐

  1. 【网络通信 -- 直播】FFMPEG 简介与常用命令总结

    [网络通信 -- 直播]FFMPEG 简介与常用命令总结 [1]FFMPEG 简介 FFmpeg,项目的名称来自 MPEG 视频编码标准,"FF"代表"Fast Forw ...

  2. FFmpeg入门之常用命令

    ffmpeg常用命令 常用命令分类 ffmpeg处理流程 基本信息查询 如命令行: ffmpeg -codecs 录制命令 UBUNTU上录制mp4的命令 ffmpeg -thread_queue_s ...

  3. FFMPEG转码常用命令研究

    ffmpeg简介 官网链接是http://www.ffmpeg.org/上有说明,它是音视频的分离,转换,解码的完全解决方案.  其中最重要的就是libavcodec库.它被mplayer或者xine ...

  4. 音视频开发三:FFmpeg安装与常用命令

    前言:在不同平台下安装FFmpeg 1.mac系统下安装ffmpeg. 打开terminal,运行:brew install ffmpeg 安装完后,terminal中输入:ffmpeg,出现下面提示 ...

  5. FFmpeg视频剪辑常用命令

    如果要找一个用于音视频编辑的解决方案,FFmpeg无疑是极为优秀的. 前阵子在弄一个视频剪辑类的APP,把用到的常见的一些FFmpeg命令分享处理,供读者参考. 常见命令: 视频局部裁剪: -i in ...

  6. ffmpeg 视频剪辑常用命令

    1. 从视频中抽取帧 ffmpeg -i input.mp4 -r 1 -q:v 2 D:\images\img_%02d.jpeg -i 输入视频 -r 提取频率,每秒多少帧,可以为小数 -q:v ...

  7. ffmpeg 常用命令总结:(avi转MP4、MP4转ts、视频压缩、去除视频声音、合并音频和视频)

    文章目录 配置 说明: 0.ffmpeg一些命令参数: a) 通用选项 b) 视频选项 c)高级视频选项 d)音频选项 e)音频/视频捕获选项 f)高级选项 1.avi转MP4命令: 2.MP4转ts ...

  8. FFmpeg常用命令合集

    0.概述 最近工作中涉及到一些视频处理的技术,比如获取视频时长.获取视频关键帧.视频剪辑等.这里作一个汇总,后面会持续更新. 1.常用命令 1.0.查看视频信息 通过ffmpeg -i input.m ...

  9. ffmpeg常用命令(windows)

    FFMPEG,windows相关命令 一款强大的音视频处理开源库. 相关概念 音/视频流 在音视频领域,一路音/视频成为一路流. 容器 一般把mp4.flv.mov等文件格式称之为容器.在这些常用格式 ...

最新文章

  1. 时间同步失败_跨系统历史数据同步脚本实战
  2. 深入理解ES6--1.块级绑定
  3. Python requests 抓取网页状态返回418(亲测)
  4. c++中运算符重载(加号运算,左移运算,前置后置++运算符,赋值运算,关系运算,函数运算)
  5. 设计模式笔记二十四:模板模式
  6. 索尼发布工业设备用SWIR图像传感器 采用5微米像素尺寸
  7. 加快 DHTML 的一组技巧
  8. 基于PHP的旅游网站的设计与实现论文
  9. Windows 7 系统封装文字版 精简教程笔记!
  10. 【积累】非常全面的开源数据集
  11. istio搭建testbed 补充(指令汇集)
  12. 最新xcode打包IPA----2021.1.18(完整详细图文)
  13. mysql聚集索引与非聚集索引
  14. 微软Kinect for windows SDK 使用教程 (NUI部分)
  15. gb28181协议流媒体实现为rtp荷载ps流,将h264流打包成ps流。
  16. 【项目管理/PMP/PMBOK第六版/新考纲】计算题! 项目章程/变更/工作绩效报告/项目范围说明书/工作分解结构WBS/最小浮动时间/挣值分析/采购
  17. OJ-malic竞赛04
  18. asp.net MVC使用EF框架进行分页讲解
  19. 【GeoFans】GNSS相关产品团队
  20. 应用上架硬件特征信息

热门文章

  1. qq截图快捷键,小编教你qq截图快捷键怎么设置
  2. 流媒体-RTMP协议-rtmpdump-flv封装解析(一)
  3. 英语背单词有用吗_英语背单词真的有用吗?
  4. Android 军刀级神器:Magisk
  5. 2.1.3 客户端网络连接对象
  6. windows下使用VS2010编译jpeglib
  7. 问题解决:取消Mac下Karabiner-Elements开机时弹出窗口、用Capslock切换中英文输入法、外接机械键盘 option 和 cmd 互换
  8. Parameter number 2 is not an OUT parameter 问题的解决方法
  9. 树莓派开发笔记(九):基于CSI口的摄像头拍照程序(同样适用USB摄像头)
  10. beeline : Error: Could not open client transport with JDBC 连接失败