后半部分视频变模糊.,所以我只能重新从源码编

作者: 操作系统  发布:2019-09-25

版权声明:本文为博主原创文章,未经允许不得转载。

"ffmpeg -i 音频 -i 视频 输出视频"

 

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

ffmpeg是Linux中转换音频视频文件的常用工具。

例:

首先当然是需要安装ffmpeg软件包,可以直接从源中进行安装!但我安装后并不能成功执行后面所需要执行的转换命令,所以我只能重新从源码编译安装ffmpeg:

oac:音频

mp4 to mp3:

"ffmpeg -i sdcard/soundtouch.wav -i sdcard/input.mp4 sdcard/output.avi"

(1)下载ffmpeg源码包,注意版本不能太高,应该与直接从源中安装的版本大抵相当最好;我刚开始下的版本比较高,编译时提示说有一个编译选项找不到,我到网上也没搜出什么结果,所以只能又降低了版本,最后使用的是ffmpeg-0.4.9-p20050906.tbz!

ovc copy 视频

ffmpeg -i $ID.mp4 -acodec libmp3lame -ac 1 -ar 16000 $ID.mp3

ffmpeg -i $ID.mp4 -vn -ab 128k -ar 16000 -y $ID.mp3

注:

(2)参考文档  进行编译安装,在编译的时候可能还会有很多错误提示,但多半是由于某些头文件找不到所致,所以直接从源中安装提供这些头文件的包即可(技巧提示,可以在源中直接搜索头文件*.h去掉后缀.h的名称*即可,一般需要安装其对应的*-dev包)!

 

-i: 表示输入的音频或视频

输出视频的格式不为.mp4的原因,好像是ffmpeg的版权原因,只有MP4的解码库,没有编码库

安装完毕之后就可以进行转码操作了:

不想看mencoder/ffmpeg详细技术手册的,可以把它当快速简易参考看,主要的功能有:

-ac: channel 设置通道3, 默认为1

(2016,8,11修改,音频视频顺序是可以变的,现在我用的命令行为

(1) 对于普通的avi视频文件,可以直接使用命令:
ffmpeg -y -i "tt.avi" -vcodec xvid -s 400x240 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 48000 -ab 128 -vol 200 -f mp4   "tt.mp4"

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

-ar: sample rate 设置音频采样率

-i sdcard/iutput.mp4 -i sdcard/handclap.wav -vcodec copy -s 768x1024 -f avi sdcard/output.avi

参数解释如下:

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

-acodec: 使用codec编解码

-vcodec 后面不一定要跟copy,可以改为h264之类的视频编码,但是这样会增加转换的时间

-y 覆盖输出文件,即如果tt.mp4文件已经存在的话,不经提示就覆盖掉了
-i "tt.avi" 输入文件名,可以自己修改路径和名字
-vcodec xvid 使用XVID编码压缩视频,不能改的
-s 400x240 输出的分辨率,注意片源一定要是16:9的不然会变形
-r 29.97 帧数 (一般用25就可以了)
-b 1500 视频数据流量,用-b xxx表示使用固定码率,数字可更改;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高(一般用800就可以了,否则文件会很大)
-acodec aac 音频编码用AAC
-ac 2 声道数1或2
-ar 48000 声音的采样频率
-ab 128 音频数据流量,一般选择32、64、96、128
-vol 200 200%的音量,可更改(如果源文件声音很小,可以提升10到20倍(1000%~2000%),我试过,效果还行!但不能太大,200000%我也试验过,但嘈杂声太大了)
-f mp4 输出mp4格式
"tt.mp4" 输出文件名,也可以修改路径和名称

 

-ab: bitrate 设置音频码率

-s 为指定视频分辨率

至于这些参数的值是如何得到的,那就得看你的播放设备(mp4,psp,手机等等)了!刚买播放设备的时候,里面肯定会预置有一些视频文件,通过查看这些预置文件即可得到你的播放设备所支持视频的各项参数!最简单的方法,可以到windows下用暴风影音或KMP播放器打开一个预置视频文件(KMP列出的比暴风影音还要详细),然后通过查看属性就能得到所有你需要的参数了!

 

-vn: 不做视频记录

之所以添加了 -vcodec 和-s 是因为原来转换出来,后半部分视频变模糊.

(2) 对于wmv9,rm,rmvb等视频格式,ffmpeg还无法解析,但可以通过两次转换达到目的:
先用mencoder将其转换成avi格式:
mencoder tt.rmvb -ovc lavc -oac mp3lame -o tt.avi 
然后再利用(1)中的命令对该avi文件进行转换即可!

 

libmp3lame: 使用libmp3lame编码mp3

)

参数说明:

任务1: 延迟视频部分 (对avi文件有效)

-y: 覆盖输出文件

"-i 输入视频 -f 格式 输出视频"

tt.rmvb 输入文件(可自己修改路径及名称)
-ovc lavc 视频编码格式(mp4视频)
-oac mp3lame 音频编码格式(mp3音频)
-o tt.avi 输出文件(可自己修改路径及名称)

mencoder -delay 0.7 -oac copy -ovc copy input.avi -o output.avi

mp4 to wav:

例:

mencoder是与mplayer一起安装的,安装了mplayer,系统肯定就会有mencoder! mencoder与ffmpeg好像都有windows版的!
mencoder的功能也很强大,至于为什么不用mencoder一次性转换到位?这个问题我也还在抽时间研究,因为它的参数使用更加复杂,我现在还没试验成功!

 

ffmpeg -i $ID.mp4 -ac 1 -ar 16000 $ID.wav

"-i sdcard/input.mp4 -f avi sdcard/output.avi"

至于其它的视频文件格式,我用的不多,所以也没测试过,不过应该都能利用(1)中的命令进行搞定!

解释:让视频轨比当前的音频轨落后0.7秒钟

webm to mp3:

  1. AVI转FLV

就这样,你喜欢的电影就能与你形影相随了!

 

ffmpeg -i $ID.webm -acodec libmp3lame -ac 1 -ar 16000 $ID.mp3

ffmpeg -i video_origine.avi -acodec libmp3lame -ab 56K -ar 44100 -b 200K -r 15 -s 320x240 -f flv video_finale.flv

补充一点:

 

webm to wav:

2.AVI转成divx编码mpeg4的AVI

我个人比较喜欢单个的视频文件,所以如果一个视频文件被分成了两个,也可以通过mencoder对其进行合并(好像仅支持avi视频格式的合并)!

 

ffmpeg -i $ID.webm -ac 1 -ar 16000 $ID.wav

ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4 video_finale.avi

假如有两个rmvb文件cd1.rmvb和cd2.rmvb,反正也是分别需要转换成avi格式的,那么转换到avi之后,就可以通过命令:
mencoder t1.avi t2.avi -ovc copy -oac copy -o all.avi 
对分割的文件进行合并,合并完之后,再将其转换成mp4即可!主要是看个人的爱好了!

任务2: 延迟音频部分(对avi文件有效)

wav to mp3:

  1. 把AVI里的音频保存成mp3文件

参数说明:

mencoder -oac copy -ovc copy -audio-delay -0.7 input.avi -o output.avi

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

ffmpeg -i source_video.avi -vn -ar 44100 -acodec libmp3lame -ac 2 -ab 192K -f mp3 sound.mp3

t1.avi t2.avi 输入文件(可自己修改路径及名称,还可以更多,空格分开,注意顺序,还有这些输入文件的码流也需要一致)
-ovc copy 表示视频编码格式不变(因为是合并而不是转换,所以没必要变)
-oac copy 表示音频编码格式不变(同上)
-o tt.avi 输出文件(可自己修改路径及名称,按输入文件的顺序进行连接的)

 

-f: 强制使用某种输出格式,通常输入文件的格式是自动检测的,输出文件的格式根据后缀猜测,所以大多数情况不需要设置 -f 

  1. 转换成3gp

 

解释:让音频轨比当前的视频轨落后0.7秒钟

wav to flac:

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

  15条常用的视频音频编辑脚本命令(mencoder/ffmpeg等)

 

ffmpeg -i input.wav output.flac

可以把它当快速简易参考看,主要的功能有:

 

flac to wav:

ffmpeg -y -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176x144 -b 128 -r 15 test.3gp

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

 

ffmpeg -i input.flac output.flac
  1. 转换成mp4

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

任务3:切割视频轨

aac to mp3:

ffmpeg -i source_video.avi -b 300K -s 320x240 -vcodec xvid -ab 32K -ar 24000 -acodec aac final_video.mp4

 

mencoder -ss 00:00:10 -endpos 60 -ovc copy -oac copy input.avi -o output.avi

ffmpeg -i audio.aac -acodec libmp3lame -ac 2 -ab 160 audio.mp3
  1. 从3gp里dump出m4v(直接拷贝 不重新编码)

 

 

aac to wav:

ffmpeg.exe -i test.3gp -vcodec copy -f m4v test.m4v

 

解释:切割视频部分,从0分10秒开始,到1分10秒,时间长度为60秒。将结果存储为output.avi 

ffmpeg -i audio.aac audio.wav

任务1: 延迟视频部分 (对avi文件有效)

 

aac to ac3:

ffmpeg.exe -i test.3gp -f m4v test.m4v

mencoder -delay 0.7 -oac copy -ovc copy input.avi -ooutput.avi

 

ffmpeg -i audio.aac -acodec ac3 audio.ac3
  1. 转码 把.f4v转码成.asf

 

 

aac to ogg:

ffmpeg.exe -i TF2_Trailer2.f4v -vcodec copy -acodec copy -f asf 1.asf

解释:让视频轨比当前的音频轨落后0.7秒钟

任务4: 连接两段视频 (必须比特率相同)

ffmpeg -i input.aac -libvorbis output.ogg
  1. 完全无损的中间视频格式

 

mencoder -oac copy -ovc copy -idx -o output.avi input1.avi input2.avi

wav to ogg:

ffmpeg -i t_needss_e309_excl_hd.mov -vcodec huffyuv -acodec pcm_s16le 2.avi

 

 

ffmpeg -i input.wav -acodec libvorbis output.ogg

9.多wav合并

 

解释

wav to aac:

ffmpeg -i Lt.wav -i Rt.wav -map 0,0 -map 1,1 -acodec copy Stereo.mov

任务2: 延迟音频部分(对avi文件有效)

 

ffmpeg -i input.wav -acodec libfaac output.aac

mencoder -oac copy -ovc copy -audio-delay -0.7 input.avi -ooutput.avi

 

wav to ac3:

 

 

ffmpeg -i input.wav -acodec ac3 output.ac3

解释:让音频轨比当前的视频轨落后0.7秒钟

任务5: 将一系列静止图像和一个mp3文件转换为AVI视频文件

其实wav, mp3, aac, ac3, ogg之间的互相转换是相似的:

 

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

输出是mp3:  -acodec libmp3lame

 

 

输出是aac: -acodec libfaac

 

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

输出是ac3: -acodec ac3

任务3:切割视频轨

 

输出是ogg: -acodec libvorbis

mencoder -ss 00:00:10 -endpos 60 -ovc copy -oac copy input.avi-o output.avi

解释:mono=3 代表单声道音频输出, mono=0 代表立体声音频输出。 上面使用的视频编码是微软的msmpeg4,因此这个AVI文件可以直接在Windows media player中播放,不需要另外安装插件。 上面两条命令,表示两遍压缩。 为提高速度,也可以只实用第一条做单次压缩。 输出视频的fps为25。

至于其他参数选项,视需求使用。

 

 

 

解释:切割视频部分,从0分10秒开始,到1分10秒,时间长度为60秒。将结果存储为output.avi 

 

 

 

 

任务6: 切割mp3音频文件

 

 

任务4: 连接两段视频 (必须比特率相同)

mplayer -ss 00:01:59 -endpos 102.5 input.mp3 -ao pcm

mencoder -oac copy -ovc copy -idx -o output.avi input1.aviinput2.avi         

 

or(不要求bitrate相同):

sox audiodump.wav result1.wav fade t 3

ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec copy -acodec copy test12.avi -newvideo -newaudio

 

 

sox result1.wav result2.wav fade t 0 102.5 3.5

 

 

解释

lame result2.wav -o fighting.mp3 -b 160

 

 

任务5: 将一系列静止图像和一个mp3文件转换为AVI视频文件

解释:这个过程由四条命令组成。 上面的例子中,

mencoder "mf://snap*.bmp" -mf fps=25 -oac mp3lame -lameoptsabr:br=128:mode=3 -audiofile test.mp3 -ovc lavc -lavcoptsvcodec=msmpeg4v2:vpass=1:vbitrate=2560000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3-o leadnull

第一步:切割部分为 1分59秒开始,到3分41.5秒结束,长度102.5秒。用户需自己计算切割部分,设定上述参数。 

 

第二步:用sox对音频开头3秒钟做一个淡入效果(声音逐渐增强)

mencoder "mf://snap*.bmp" -mf fps=25 -oac mp3lame -lameoptsabr:br=128:mode=3 -audiofile test.mp3 -ovc lavc -lavcoptsvcodec=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

第三步:用sox对音频结束3.5秒钟做一个淡出效果(声音逐渐衰减)

 

第四步:将lame处理好的音频重新编码成160kbps的mp3文件

解释:mono=3 代表单声道音频输出, mono=0 代表立体声音频输出。上面使用的视频编码是微软的msmpeg4,因此这个AVI文件可以直接在Windows mediaplayer中播放,不需要另外安装插件。 上面两条命令,表示两遍压缩。 为提高速度,也可以只实用第一条做单次压缩。输出视频的fps为25。

 

 

其中,第二、第三步是可以省略的。 

 

 

 

 

任务6: 切割mp3音频文件

 

 

任务7: 将wma文件转换为mp3文件

mplayer -ss 00:01:59 -endpos 102.5 input.mp3 -ao pcm

 

 

mplayer input.wma -ao pcm

sox audiodump.wav result1.wav fade t 3

 

 

lame audiodump.wav -o output.mp3 -b 160

sox result1.wav result2.wav fade t 0 102.5 3.5

 

 

解释:一共两条命令。第一条将wma转化为wav文件,第二条再将wav转换为mp3文件,比特率为160kbps. 

lame result2.wav -o fighting.mp3 -b 160

 

 

 

解释:这个过程由四条命令组成。 上面的例子中,

 

第一步:切割部分为1分59秒开始,到3分41.5秒结束,长度102.5秒。用户需自己计算切割部分,设定上述参数。 

任务8: 将一系列图像文件转换为flv视频文件

第二步:用sox对音频开头3秒钟做一个淡入效果(声音逐渐增强)

 

第三步:用sox对音频结束3.5秒钟做一个淡出效果(声音逐渐衰减)

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

第四步:将lame处理好的音频重新编码成160kbps的mp3文件

 

 

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,就是只记录相邻帧变化部分的帧。 

 

 

任务7: 将wma文件转换为mp3文件

 

 

 

mplayer input.wma -ao pcm

任务9: 将一系列图像文件转换为ogg视频文件

 

 

lame audiodump.wav -o output.mp3 -b 160

ffmpeg2theora -f image2 snap%05d.bmp -V 320 -o output.ogg

 

 

解释:一共两条命令。第一条将wma转化为wav文件,第二条再将wav转换为mp3文件,比特率为160kbps. 

解释:ogg录像还是有点用的,wikipedia, wikimeida都在用。 上面的视频比特率为320kbps

 

 

 

 

 

 

任务8: 将一系列图像文件转换为flv视频文件

任务10: 将一系列图像转化为与NTSC DVD兼容的mpeg2格式文件。 

 

 

mencoder  "mf://snap*.bmp" -mf fps=25-audiofile test.mp3 -o output.flv   -afresample=22050:0:0 -sws 9 -vf scale=448:-3,expand=448:336 -of lavf-ovc lavc -lavcoptsvcodec=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 -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  "mf://snap*.bmp" -mf fps=25 -ooutput.flv -audiofile test.mp3  -afresample=22050:0:0 -sws 9 -vf scale=448:-3,expand=448:336 -of lavf-ovc lavc -lavcoptsvcodec=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

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

 

 

解释:两遍压缩,将一系列snap001.bmp, snap002.bmp,...图像和一个mp3文件"test.mp3"转换成fps=25的录像。音频采样率设定为22050,视频画面大小为448x336,视频的比特率为260kbps。 

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

如果你希望更改视频中的keyframe,你可以在第一条命令执行后,手动编辑一个divx2pass.log文件。文件中"Type:1"表示关键帧keyframe (或者叫iframe), "Type:2"表示p-frame,就是只记录相邻帧变化部分的帧。 

 

 

 

 

 

 

任务11: 将一系列图像文件转换为与PAL DVD兼容的mpeg2格式视频文件

任务9: 将一系列图像文件转换为ogg视频文件

 

 

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

ffmpeg2theora -f image2 snap%05d.bmp -V 320 -ooutput.ogg

 

 

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

解释:ogg录像还是有点用的,wikipedia, wikimeida都在用。上面的视频比特率为320kbps

 

 

解释:两遍压缩,输入为snap001.jpg, snap002.jpg... 和test.mp3,图像系列的fps为25, 输出视频文件的fps为25. 视频编码为mpeg2, 音频编码为192kbps ac3. 

 

 

 

 

任务10: 将一系列图像转化为与NTSCDVD兼容的mpeg2格式文件。 

 

 

任务12: 将视频文件转换为一系列图像

mencoder -oac lavc -ovc lavc -of mpeg -mpegoptsformat=dvd:tsaf -vf scale=720:480,harddup -srate 48000 -aflavcresample=48000 -lavcoptsvcodec=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

用ffmpeg命令如下

 

 

mencoder -oac lavc -ovc lavc -of mpeg -mpegoptsformat=dvd:tsaf -vf scale=720:480,harddup -srate 48000 -aflavcresample=48000 -lavcoptsvcodec=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

ffmpeg -i test.avi snap%05d.bmp

 

 

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

也可以用mplayer完成同样功能

 

 

 

mplayer video.avi -vo png -ss 00:00:10 -endpos 5.0 -vf crop=480:360:80:60

 

 

任务11: 将一系列图像文件转换为与PALDVD兼容的mpeg2格式视频文件

解释:这里mplayer的例子中,还提供了额外的切割选择功能。切割的部分从0分10秒开始,到0分15秒结束,长达5秒。同时画面也被切割,切割的位置从坐标(80,60)开始,宽度480像素,高度360像素。这里坐标系以屏幕左上角为(0,0). 

 

 

mencoder -oac lavc -ovc lavc -of mpeg -mpegoptsformat=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -aflavcresample=48000 -lavcoptsvcodec=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 -audiofiletest.mp3

 

 

 

mencoder -oac lavc -ovc lavc -of mpeg -mpegoptsformat=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -aflavcresample=48000 -lavcoptsvcodec=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 -audiofiletest.mp3

任务13: 将midi文件转换为mp3文件

 

 

解释:两遍压缩,输入为snap001.jpg, snap002.jpg...和test.mp3,图像系列的fps为25, 输出视频文件的fps为25. 视频编码为mpeg2, 音频编码为192kbpsac3. 

timidity input.mid -Ow

 

 

 

lame -b 160 -h -k input.wav output.mp3

 

 

任务12: 将视频文件转换为一系列图像

解释:第一条命令使用timidity将midi转换为wav文件,第二条命令用lame将wav转换为160kbps mp3文件。 

用ffmpeg命令如下

timidity配置和安装还是比较麻烦的。 还需要额外安装高品质的sf2声音字体文件,配置sf2文件也异常容易出错。总体效果还可以接受。但无法使用目前流行的vst,因此可能会被慢慢淘汰掉。 

 

 

ffmpeg -i test.avi snap%05d.bmp

 

 

 

也可以用mplayer完成同样功能

任务14: 将一系列图像转换为swf格式的flash文件(需要perl) 

 

 

mplayer video.avi -vo png -ss 00:00:10 -endpos 5.0 -vfcrop=480:360:80:60

flv2swf  input.flv  output.swf

 

 

解释:这里mplayer的例子中,还提供了额外的切割选择功能。切割的部分从0分10秒开始,到0分15秒结束,长达5秒。同时画面也被切割,切割的位置从坐标(80,60)开始,宽度480像素,高度360像素。这里坐标系以屏幕左上角为(0,0). 

解释:有时候可能用swf来保存视频比flv更方便。如果图像数量不多的话,可以采用swftools来进行转换 

 

如果图像数量很多的话,首先我们用任务8中的命令将图像转换为一个flv文件。 然后我们可以用adobe的各种软件很轻松的将flv录像加入一个flash项目里,最后输出为swf. 如果你熟悉perl的话,也可以用一个perl脚本将flv文件转换成swf. CPAN(Perl公共模块库)有一个FLV::info的模块,安装后就可以使用flv2swf命令了。

 

 

 

 

任务13: 将midi文件转换为mp3文件

 

 

 

timidity input.mid -Ow

任务15: 将mp3文件转换为wma文件

 

 

lame -b 160 -h -k input.wav output.mp3

mplayer input.mp3 -ao pcm

 

 

解释:第一条命令使用timidity将midi转换为wav文件,第二条命令用lame将wav转换为160kbpsmp3文件。 

ffmpeg -i audiodump.wav -acodec wmav2 -ab 128000 test.wma1

timidity配置和安装还是比较麻烦的。还需要额外安装高品质的sf2声音字体文件,配置sf2文件也异常容易出错。总体效果还可以接受。但无法使用目前流行的vst,因此可能会被慢慢淘汰掉。 

 

 

解释:偶尔也需要这个功能的。 第一步,将mp3文件转换为wav文件,第二步用ffmpeg将wav文件转换为wma. 

 

 

 

 

任务14: 将一系列图像转换为swf格式的flash文件(需要perl) 

如果你只需要将单幅图像如某个封面,和一个mp3合并成一个视频文件,请参看前一篇博文。 

 

将一幅图像和一个mp3文件合并成录像文件的小工具

flv2swf  input.flv output.swf

 

 

参考链接

解释:有时候可能用swf来保存视频比flv更方便。如果图像数量不多的话,可以采用swftools来进行转换 

上述命令基本上是参考了mplayer的用户手册,videohelp.com的论坛帖子写的。

如果图像数量很多的话,首先我们用任务8中的命令将图像转换为一个flv文件。然后我们可以用adobe的各种软件很轻松的将flv录像加入一个flash项目里,最后输出为swf. 如果你熟悉perl的话,也可以用一个perl脚本将flv文件转换成swf.CPAN(Perl公共模块库)有一个FLV::info的模块,安装后就可以使用flv2swf命令了。

 

 

 

 

软件主页

 

mencoder的Windows binary: 

任务15: 将mp3文件转换为wma文件

ffmpeg的Windows binary: 

 

lame的Windows binary: 

mplayer input.mp3 -ao pcm

sox: 

 

ffmpeg2theora: 

ffmpeg -i audiodump.wav -acodec wmav2 -ab 128000test.wma1

cpan: 

 

Active perl的Windows版本:

解释:偶尔也需要这个功能的。第一步,将mp3文件转换为wav文件,第二步用ffmpeg将wav文件转换为wma. 

 

 

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

 

 

如果你只需要将单幅图像如某个封面,和一个mp3合并成一个视频文件,请参看前一篇博文。 

 

将一幅图像和一个mp3文件合并成录像文件的小工具

不知道为何我自己无法回复了。

 

 

参考链接

wav转 aac命令 可参考

上述命令基本上是参考了mplayer的用户手册,videohelp.com的论坛帖子写的。

ffmpeg -i soundtrack.wav -acodec aac -ab 128kb  output.m4a

 

 ————————————————————————————————————————————————————————————————————————————————————

 

 

软件主页

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

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

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

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

图片 1

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

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

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

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

(同上)

找到如下图的地方

图片 2

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

如果是intel 就选择intel .

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

 

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

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

图片 3

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

如下图

图片 4

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

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

图片 5

 

mencoder的Windows binary: 

ffmpeg的Windows binary: 

lame的Windows binary: 

sox: 

ffmpeg2theora: 

cpan: 

Active perl的Windows版本:

 

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

 

 

wav转aac命令 可参考

ffmpeg -i soundtrack.wav -acodec aac -ab 128kb output.m4a

本文由9159.com发布于操作系统,转载请注明出处:后半部分视频变模糊.,所以我只能重新从源码编

关键词:

上一篇:没有了
下一篇:没有了