zoukankan      html  css  js  c++  java
  • 15条常用的视频音频编辑脚本命令

     mencoder -ss 6:06 -endpos 9:25 -oac pcm -ovc copy 1352796759.mp4 -o wineGarden.avi

    oac:音频

    ovc copy 视频

    不想看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合并成一个视频文件,请参看前一篇博文。 
     
    参考链接
    上述命令基本上是参考了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/
    Active perl的Windows版本:http://www.activestate.com/activeperl/
     
    上述软件被广泛使用,其源代码部分没有什么问题, 但因为专利和版权的问题,公布其Windows的二进制可执行文件则可能触犯了一些国家的法律,目前合法性这个问题还比较模糊。
     
     
    不知道为何我自己无法回复了。
     
    wav转 aac命令 可参考
    ffmpeg -i soundtrack.wav -acodec aac -ab 128kb  output.m4a
     
     ————————————————————————————————————————————————————————————————————————————————————
     

    【2010年3月13号更新】教你在windows 7/xp 下安装使用mencoder

    在linux 下有一个很NB的软件,那就是mencoder,这东西几乎可以对所有格式的视频进行格式转换,还可以剪辑,可以加字幕,可以从视频中提取音频,还可以从音频中提取视频.太变态了.

    现在我就教大家如果安装这个变态的软件.

    这软件是纯绿色的,首先要去官网上下载两个文件.


    第一步是下载MPlayer-mingw32-1.0rc2.zip,它有两种版本提供

    第一种是旧版本,【2007年版本】地址在http://www5.mplayerhq.hu/MPlayer/releases/win32/ (这是官网,安心下载, 绝对不含任何丐铁锌锡维生素abcd)

    下完后把它解压在任何文件夹里.例如:D:\mencoder

    第二种是最新版本,【2010年版本,而且还在及时更新】地址在

    http://oss.netfarm.it/mplayer-win32.php(同上)

    找到如下图的地方

    跟据自己的CPU选择合适的版本,例如,我是amd 双核,就选择了amd multi core 后面的athlon,当然也可以选择athlon-xp.

    如果是intel 就选择intel .

    第二种下载完后,同第一种一样,解压到任意文件夹里.

    第二步再下载windows-all-20071007.zip,地址在http://www5.mplayerhq.hu/MPlayer/releases/codecs/(同上)

    下完把里面的所有后缀名为dll,还有其它的也要,直接复制到D:\mencoder\codecs文件夹里.


    然后找到系统属性设置,打开环境变量设置,把"D:\mencoder"这个路径加到变量path的变量值的末尾,注意在D:\mencoder的前面加个分号.

    如下图


    最后一步,运行cmd,输入mencoder再回车 ,会出来个版本信息,这样说明就成功了.

    如果你有在linux下使用mencoder的基础的话,那么就直接开始编辑你的视频吧.


     
  • 相关阅读:
    Spring学习8- SSH需要的jar包
    Spring学习8-SSH+Log4j黄金整合
    Spring学习8-Spring事务管理(注解式声明事务管理)
    dbvisualizer客户端执行创建存储过程或自定义函数语句的方法
    jvm的组成入门
    java的反射机制
    oracle排序子句的特殊写法与ORA-01785错误
    javascript的数据类型检测
    jsp的el表达式
    javascript模块化编程的cmd规范(sea.js)
  • 原文地址:https://www.cnblogs.com/bigben0123/p/3044740.html
Copyright © 2011-2022 走看看