15条常用的视频音频编辑脚本命令(mencoder/ffmpeg等)
生活随笔
收集整理的這篇文章主要介紹了
15条常用的视频音频编辑脚本命令(mencoder/ffmpeg等)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
可以把它當(dāng)快速簡(jiǎn)易參考看,主要的功能有:
任務(wù)1: 延遲視頻部分 (對(duì)avi文件有效) mencoder -delay 0.7 -oac copy -ovc copy input.avi -ooutput.avi
解釋:讓視頻軌比當(dāng)前的音頻軌落后0.7秒鐘
任務(wù)2:?延遲音頻部分(對(duì)avi文件有效) mencoder -oac copy -ovc copy -audio-delay -0.7 input.avi -ooutput.avi
解釋:讓音頻軌比當(dāng)前的視頻軌落后0.7秒鐘
任務(wù)3:切割視頻軌 mencoder -ss 00:00:10 -endpos 60 -ovc copy -oac copy input.avi-o output.avi
解釋:切割視頻部分,從0分10秒開(kāi)始,到1分10秒,時(shí)間長(zhǎng)度為60秒。將結(jié)果存儲(chǔ)為output.avi?
任務(wù)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
解釋:
任務(wù)5:?將一系列靜止圖像和一個(gè)mp3文件轉(zhuǎn)換為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,因此這個(gè)AVI文件可以直接在Windows mediaplayer中播放,不需要另外安裝插件。 上面兩條命令,表示兩遍壓縮。 為提高速度,也可以只實(shí)用第一條做單次壓縮。輸出視頻的fps為25。
任務(wù)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
解釋:這個(gè)過(guò)程由四條命令組成。 上面的例子中, 第一步:切割部分為1分59秒開(kāi)始,到3分41.5秒結(jié)束,長(zhǎng)度102.5秒。用戶(hù)需自己計(jì)算切割部分,設(shè)定上述參數(shù)。? 第二步:用sox對(duì)音頻開(kāi)頭3秒鐘做一個(gè)淡入效果(聲音逐漸增強(qiáng)) 第三步:用sox對(duì)音頻結(jié)束3.5秒鐘做一個(gè)淡出效果(聲音逐漸衰減) 第四步:將lame處理好的音頻重新編碼成160kbps的mp3文件
其中,第二、第三步是可以省略的。?
任務(wù)7:?將wma文件轉(zhuǎn)換為mp3文件
mplayer input.wma -ao pcm
lame audiodump.wav -o output.mp3 -b 160
解釋:一共兩條命令。第一條將wma轉(zhuǎn)化為wav文件,第二條再將wav轉(zhuǎn)換為mp3文件,比特率為160kbps.?
任務(wù)8:?將一系列圖像文件轉(zhuǎn)換為flv視頻文件
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 ?"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
解釋:兩遍壓縮,將一系列snap001.bmp, snap002.bmp,...圖像和一個(gè)mp3文件"test.mp3"轉(zhuǎn)換成fps=25的錄像。音頻采樣率設(shè)定為22050,視頻畫(huà)面大小為448x336,視頻的比特率為260kbps。? 如果你希望更改視頻中的keyframe,你可以在第一條命令執(zhí)行后,手動(dòng)編輯一個(gè)divx2pass.log文件。文件中"Type:1"表示關(guān)鍵幀keyframe (或者叫iframe), "Type:2"表示p-frame,就是只記錄相鄰幀變化部分的幀。?
任務(wù)9:?將一系列圖像文件轉(zhuǎn)換為ogg視頻文件
ffmpeg2theora -f image2 snap%05d.bmp -V 320 -ooutput.ogg
解釋:ogg錄像還是有點(diǎn)用的,wikipedia, wikimeida都在用。上面的視頻比特率為320kbps
任務(wù)10:?將一系列圖像轉(zhuǎn)化為與NTSCDVD兼容的mpeg2格式文件。?
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
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
解釋:兩遍壓縮,輸入圖像幀率為25fps, 輸出幀率為29.97fps,視頻編碼mpeg2, 音頻編碼192kbpsac3. ?
任務(wù)11:?將一系列圖像文件轉(zhuǎn)換為與PALDVD兼容的mpeg2格式視頻文件
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
解釋:兩遍壓縮,輸入為snap001.jpg, snap002.jpg...和test.mp3,圖像系列的fps為25, 輸出視頻文件的fps為25. 視頻編碼為mpeg2, 音頻編碼為192kbpsac3.?
任務(wù)12:?將視頻文件轉(zhuǎn)換為一系列圖像 用ffmpeg命令如下
ffmpeg -i test.avi snap%05d.bmp
也可以用mplayer完成同樣功能
mplayer video.avi -vo png -ss 00:00:10 -endpos 5.0 -vfcrop=480:360:80:60
解釋:這里mplayer的例子中,還提供了額外的切割選擇功能。切割的部分從0分10秒開(kāi)始,到0分15秒結(jié)束,長(zhǎng)達(dá)5秒。同時(shí)畫(huà)面也被切割,切割的位置從坐標(biāo)(80,60)開(kāi)始,寬度480像素,高度360像素。這里坐標(biāo)系以屏幕左上角為(0,0).?
任務(wù)13:?將midi文件轉(zhuǎn)換為mp3文件
timidity input.mid -Ow
lame -b 160 -h -k input.wav output.mp3
解釋:第一條命令使用timidity將midi轉(zhuǎn)換為wav文件,第二條命令用lame將wav轉(zhuǎn)換為160kbpsmp3文件。? timidity配置和安裝還是比較麻煩的。還需要額外安裝高品質(zhì)的sf2聲音字體文件,配置sf2文件也異常容易出錯(cuò)。總體效果還可以接受。但無(wú)法使用目前流行的vst,因此可能會(huì)被慢慢淘汰掉。?
任務(wù)14:?將一系列圖像轉(zhuǎn)換為swf格式的flash文件(需要perl)?
flv2swf ?input.flv?output.swf
解釋:有時(shí)候可能用swf來(lái)保存視頻比f(wàn)lv更方便。如果圖像數(shù)量不多的話,可以采用swftools來(lái)進(jìn)行轉(zhuǎn)換? 如果圖像數(shù)量很多的話,首先我們用任務(wù)8中的命令將圖像轉(zhuǎn)換為一個(gè)flv文件。然后我們可以用adobe的各種軟件很輕松的將flv錄像加入一個(gè)flash項(xiàng)目里,最后輸出為swf.?如果你熟悉perl的話,也可以用一個(gè)perl腳本將flv文件轉(zhuǎn)換成swf.CPAN(Perl公共模塊庫(kù))有一個(gè)FLV::info的模塊,安裝后就可以使用flv2swf命令了。
任務(wù)15:?將mp3文件轉(zhuǎn)換為wma文件
mplayer input.mp3 -ao pcm
ffmpeg -i audiodump.wav -acodec wmav2 -ab 128000test.wma1
解釋:偶爾也需要這個(gè)功能的。第一步,將mp3文件轉(zhuǎn)換為wav文件,第二步用ffmpeg將wav文件轉(zhuǎn)換為wma.?
如果你只需要將單幅圖像如某個(gè)封面,和一個(gè)mp3合并成一個(gè)視頻文件,請(qǐng)參看前一篇博文。? 將一幅圖像和一個(gè)mp3文件合并成錄像文件的小工具
參考鏈接 上述命令基本上是參考了mplayer的用戶(hù)手冊(cè),videohelp.com的論壇帖子寫(xiě)的。 http://www.mplayerhq.hu/DOCS/HTML/en/encoding-guide.html http://forum.videohelp.com/
軟件主頁(yè) 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/
上述軟件被廣泛使用,其源代碼部分沒(méi)有什么問(wèn)題,但因?yàn)閷?zhuān)利和版權(quán)的問(wèn)題,公布其Windows的二進(jìn)制可執(zhí)行文件則可能觸犯了一些國(guó)家的法律,目前合法性這個(gè)問(wèn)題還比較模糊。
wav轉(zhuǎn)aac命令 可參考 ffmpeg -i soundtrack.wav -acodec aac -ab 128kb?output.m4a
總結(jié)
以上是生活随笔為你收集整理的15条常用的视频音频编辑脚本命令(mencoder/ffmpeg等)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MFC多文档应用程序同时显示两个视图
- 下一篇: 简单的MFC画正弦曲线