隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          朋友的Blog

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          轉(zhuǎn)帖]ffmpeg的使用

          先從ffmpeg開(kāi)始。
          http://ffmpeg.sourceforge.net上有說(shuō)明,音視頻的分離,轉(zhuǎn)換,解碼的完全解決方案。
          其中最重要的就是libavcodec庫(kù)。它被mplayer或者xine使用作為解碼器。還有,國(guó)內(nèi)比較流行的播放器影音風(fēng)暴或MyMPC的后端ffdshow也是使用ffmpeg的解碼庫(kù)的。

          ffmpeg包括一組軟件,ffmpeg用于對(duì)媒體文件進(jìn)行處理,ffserver是一個(gè)http的流媒體服務(wù)器,ffplay是一個(gè)基于SDL的簡(jiǎn)單播放器。兩個(gè)庫(kù)文件libavcodec和libavformat。

          ffmpeg作為媒體文件處理軟件,基本用法如下:
          ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile
          輸入輸出文件通常就是待處理的多媒體文件了。可以是純粹的音頻文件,純粹的視頻文件,或者混合的。
          大部分常見(jiàn)的格式都能夠“通殺”。象常見(jiàn)的各種mpeg,AVI封裝的DIVX和Xvid等等
          具體的格式支持列表可以使用ffmpeg -formats查看或直接查閱文檔。

          另:由于Linux把設(shè)備視為文件,因此-i選項(xiàng)后可以跟設(shè)備名。比如DV,視頻卡,光驅(qū)或者其它的各類(lèi)設(shè)備。
          輸出的內(nèi)容通過(guò)Options調(diào)整。列出幾個(gè)主要的選項(xiàng)
          -vcodec 視頻流編碼方式
          -b? ?? ? 視頻流碼率(默認(rèn)只有200k,一般都需要手動(dòng)設(shè)置,具體的數(shù)值視codec選擇而定)
          -r? ?? ???視頻流幀數(shù)(一般說(shuō)來(lái)PAL制式通常用25,NTSC制式通常用29)
          -s? ?? ???視頻解析度(分辨率,也要視codec和你的需要而定。通常改變某個(gè)視頻流的解析度是很耗費(fèi)CPU的事情。另:具體寫(xiě)法使用“數(shù)字x數(shù)字”的形式。中間是小寫(xiě)字母“x”,這個(gè)用過(guò)mplayer的應(yīng)該都知道)
          -t? ?? ???處理持續(xù)時(shí)間。
          -acodec??音頻流編碼方式
          -ab? ?? ?? ?音頻流碼率(默認(rèn)是同源文件碼率,也需要視codec而定)
          -ar? ?? ?? ? 音頻流采樣率(大多數(shù)情況下使用44100和48000,分別對(duì)應(yīng)PAL制式和NTSC制式,根據(jù)需要選擇)

          還有些可能需要用到的選項(xiàng)如
          -vn和-an分別是屏蔽視頻流和屏蔽音頻流,分別對(duì)源文件處理一次即可得到分離的音頻和視頻
          -author -title分別是設(shè)置媒體文件的作者和title
          -f選項(xiàng)是強(qiáng)制使用某種格式
          -target type是使用預(yù)置的格式轉(zhuǎn)換(可以轉(zhuǎn)成dvd,vcd或svcd)

          除此之外還有些更高級(jí)的選項(xiàng),如設(shè)定vbr,或設(shè)定high quality,或者設(shè)定vbr的buff和max/min碼率,象一般我們自用的dvd抓軌啦,DV轉(zhuǎn)vcd或dvd啦,網(wǎng)上下載的電影轉(zhuǎn)成vcd或dvd都不一定需要用到它們。
          具體的使用方法在man里面有介紹。簡(jiǎn)單明了。

          少許使用經(jīng)驗(yàn):
          1:ffmpeg對(duì)于rm的處理能力實(shí)在不敢恭維。也許是因?yàn)槲抑饕褂枚M(jìn)制包安裝的緣故,對(duì)于Real媒體格式只能處理老式的RV8編碼的格式。而且效果不佳。
          2:格式轉(zhuǎn)換是一件很耗費(fèi)CPU資源的事情。雖說(shuō)ffmpeg已經(jīng)比WinAVI啦,TmpgEnc這些win下的非專業(yè)級(jí)視頻處理軟件做的好些了。畢竟我們可以把ffmpeg運(yùn)行的時(shí)候放到后臺(tái)。
          3:ffmpeg不是萬(wàn)能的,雖說(shuō)支持的格式很多,但是如果你不是用的最新CVS出來(lái)的版本,可能碰上某些古怪的媒體文件就要郁悶。
          4:ffmpeg全部是命令行操作。哪位達(dá)人寫(xiě)個(gè)GUI前端出來(lái)就可以讓不少菜鳥(niǎo)脫離苦海了。還有就是不能批量處理,但是這個(gè)可以用shell幫忙解決。
          posted on 2006-06-27 16:07 blog搬家了--[www.ialway.com/blog] 閱讀(455) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ffmpeg
          主站蜘蛛池模板: 台东市| 垣曲县| 犍为县| 延庆县| 天门市| 象州县| 井陉县| 沁阳市| 丰顺县| 潼关县| 洛扎县| 玉树县| 红安县| 中牟县| 洪泽县| 新平| 灌阳县| 兰考县| 丰原市| 东丽区| 定南县| 太保市| 徐州市| 繁峙县| 彭州市| 武邑县| 宜都市| 西充县| 交口县| 黄浦区| 彭州市| 宝鸡市| 斗六市| 桦南县| 库尔勒市| 玉山县| 嵩明县| 阳信县| 吉林省| 青龙| 三门县|