所以直接从源中安装提供这些头文件的包即可(

作者:新美高梅网站

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

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

美狮美高梅官方网站 , 

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

例:

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

mp4 to mp3:

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

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

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的解码库,没有编码库

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

-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"

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

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

参数解释如下:

-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

)

参数说明:

-y: 覆盖输出文件

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

tt.rmvb 输入文件(可自己修改路径及名称)
-ovc lavc 视频编码格式(mp4视频)
-oac mp3lame 音频编码格式(mp3音频)
-o tt.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)中的命令进行搞定!

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即可!主要是看个人的爱好了!

wav to mp3:

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

参数说明:

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

 

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操作系统时,可以试试。 

aac to mp3:

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

 

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

 

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秒钟

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

 

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秒钟

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

 

输出是mp3:  -acodec libmp3lame

 

输出是aac: -acodec libfaac

 

输出是ac3: -acodec ac3

任务3:切割视频轨

输出是ogg: -acodec libvorbis

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.aviinput2.avi         

or(不要求bitrate相同):

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

 

 

解释

 

任务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

 

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

 

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

 

 

 

任务6: 切割mp3音频文件

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: