ComicParty.com 動漫派對 ACG網誌空間 ComicParty首頁 | 註冊 | 简体中文

[搞搞影像大作戰 ] 13 十二月, 2007 19:19

公司才搬完屋,正在四出搜尋附近的食店之際,一群正在使用TVParty Suite的同事就來投訴FLV的畫質很糟糕。適逢上星期Adobe發佈了最新的Flash Player 9 update 3版本,加入了備受注目的H.264影片支援,米奇正好就借這個機會來替TVParty Suite高清化吧!

不幸的是,新版本Flash Player 9 所支援的H.264影片是使用HE-AAC,而ffmpeg所使用的libfaac又無法壓製這個新格式,所以就要借助外力幫助,將影像和聲音分開處理,使用由Nero提供的neroAacEnc編碼器來壓製音頻。大家只要到這裡就可以下載到這個免費的HE-AAC編碼器,解壓後,將linux目錄內的檔案neroAacEnc和neroAacDec上傳到伺服器/usr/local/bin目錄內,並設定權限為0755就能夠使用,連編譯的工夫也省了。

接下來,為了將ffmpeg壓製出來的純影像和neroAacEnc壓製出來的音訊合併成MP4檔,又要安裝一個叫GPAC的工具套件。GPAC提供很多編輯MP4和3GP檔案的工具,包括可以將視頻和音頻合成一個MP4/3GP檔,甚至還可以串流MP4檔案。這正好適合用來將使用neorAacEnc編碼的HE-AAC音頻與ffmpeg所製成的H.264影片合成起來。

GPAC下載網址:http://gpac.sourceforge.net/home_download.php

# tar zxvf gpac-0.4.4.tar.gz
# cd gpac
# ./configure && make && make install

雖然這一堆軟件的使用方法都非常簡單,不過工序就很煩複,單是聽聽就已經讓你覺得頭痛吧?幸好有高人指點,Creating good quality h264 video for the upcoming Flash Player and Flash Media Server這篇文章就介紹了一個shell script,可以將這一切程序封裝成一個指令,這樣用起來就方便多了。米奇將它加以修改,貼出來分享一下。

encode_h264.sh

#!/bin/bash
# H.264 encode script
# for Flash Player 9 Update 3 (9.0.115.0)
#
# Parameters:
# $1 absolute path to source file; ${1%.*} to remove the extension
# $2 target file path

# Configuration
dimension="640x368"

video_bitrate=500

audio_bitrate=64

audio_channel=2

begin_time=`date +%s`

# Video part
ffmpeg -y -i $1 -an -pass 1 -vcodec libx264 -b ${video_bitrate}k -s $dimension -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 3 -bf 3 -b_strategy 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt ${video_bitrate}k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.8 -qmin 10 -qmax 51 -qdiff 4 ${1%.*}_temp_video.mp4

ffmpeg -y -i $1 -an -pass 2 -vcodec libx264 -b ${video_bitrate}k -s $dimension -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 3 -bf 3 -b_strategy 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt ${video_bitrate}k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.8 -qmin 10 -qmax 51 -qdiff 4 ${1%.*}_temp_video.mp4

# Audio Part
ffmpeg -y -i $1 -ar 48000 -ac 2 ${1%.*}_temp_audio.wav
neroAacEnc -br $((audio_bitrate*1000)) -he -if ${1%.*}_temp_audio.wav -of ${1%.*}_temp_audio.mp4

# Remove old file
if [ -f $2 ]; then
       rm -f $2
fi

# Muxing everything
MP4Box -add ${1%.*}_temp_video.mp4#video $2
MP4Box -add ${1%.*}_temp_audio.mp4#audio $2
MP4Box -inter 500 $2

# Metadata
MP4Box -lang Chinese $2

# Swap temps
rm -f ${1%.*}_temp*

now=`date +"%F %T"`
end_time=`date +%s`
echo "[""$now""] Encode Finish (Total time: " $(($end_time-$begin_time)) " sec)"
exit
 

將這個檔案存成UNIX文檔,上傳到/usr/local/lib/目錄,然後將這文檔的權限改為0755就可以使用。這個程式的使用方法很簡單,只要輸入encode_h264.sh <來源檔路徑> <目的檔路徑>便可以產生出質素很高的MP4影片。當中有些bitrate和影片尺寸的參數大家可以自行修改。

今後米奇就會以這個script來取代TVParty Suite原本的壓片程序,全面使用H.264。

引用URL : http://blog.comicparty.com/trackback.php?id=418

[工作札記 , 搞搞影像大作戰 ] 19 十一月, 2007 12:49

徇眾要求,也因為自己買了部iPod touch可以直接用Wifi來觀看Podcast節目,所以這幾個星期都在做著為TVParty Suite加入Podcast功能的工作。Podcast本身是很簡單的東西,不過因為要去管理它卻有好多煩瑣的地方,尤其是像TVParty Suite這樣規劃得那麼好的東東,要修正的地方也實在不少。另外,由於之前躲懶的原因,好幾個月前就做好了的tag索引元件TagParty一直也沒有加到TVParty Suite裡去,適逢Podcast要用到關鍵字,也就一併把tag 索引功能都加進去。構成這次發佈的TVParty Suite v0.2.0-alpha3,這可說是v0.2.0-alpha以來最多功能加入的一個版本。

不過,也因為懶的關係吐舌頭,還是沒有在前台介面加入活用tag索引的google式搜尋和tag cloud顯示。心急的朋友可以自行打開lib目錄裡的tag_manager.class.php來掘這些功能出來,都已經做好了的。

正如上兩個版本一樣,大家只要用以下連結去checkout就可以:

svn checkout svn://partyframe.comicparty.com/home/mickey/svn/tvparty/tags/v0.2.0-alpha3 tvparty (這是一行啊)

接下來米奇就會著手正式去改造TVParty Suite,讓它看起來更像樣。對,是看起來。因為後台功能也算做得七七八八,只是前台看起來很糟糕而已。很快大家就會看到一過活像impress.tv的TVParty Suite v0.2.0 正式版了。

引用URL : http://blog.comicparty.com/trackback.php?id=417

[搞搞影像大作戰 ] 16 十月, 2007 12:50

為了ニコニコ♡たっち,今天又要再安裝ffmpeg了。由於這次是為了修正faac的問題,所以就到了官網audiocoding.com去,原來官網自9月重開之後,已於10月11日推出修正過去問題的faac 1.26和faad2 2.6,這樣就不用再用SuperSite的版本了。

米奇也已經修正了泛用型 ffmpeg 安裝攻略的安裝步驟,除了加入新的下載連結之外,還修正了新的faac安裝法,有需要的朋友請去參考一下。

引用URL : http://blog.comicparty.com/trackback.php?id=410

[工作札記 , 搞搞影像大作戰 ] 14 十月, 2007 22:51

剛收到iPod touch的時候,有同事說可惜iPod touch不能像Youtube那樣直接搜尋和閱覽ニコニコ動画,否則他也會買一部來玩。想一想,是不是真的完全不可能呢?是不是要等到有人做自己才能在iPod touch享受用Wifi看ニコニコ動画的樂趣呢?上星期朋友介紹的vTap,正好給了米奇啟示--不!自己也做得到!不用改機也做得到的!於是,這個星期天,米奇就不停在網上翻查相關的技術。

米奇把這個計劃命名為『ニコニコ♡たっち (nico touch)』,程式流程分成幾個部分:搜尋、下載、變換和回應,各自都應用了不同的技術。參照vTap的做法,『ニコニコ♡たっち』也會以Web Application的模式發展,用戶透過Safari登入中介伺服器,將搜尋結果和影片資料,以iPod touch的介面格式呈現出來。最後,當用戶按play鍵的時候,就會動態地從ニコニコ動画將FLV下載到中介伺服器進行轉換,並在轉換完成後將完成的連結傳送到用戶端的Safari去播放。本來vTap是可以做到將下載→變換→回應三個工作同時進行,令到用戶能夠像直接登入ニコニコ動画去觀看一樣方便,不過以米奇的技術力,暫時還是不要那麼大想頭。

搜尋方面,由於ニコニコ動画是要登入後才可以搜尋,而它的session時間又好短,加上ニコニコ動画的搜尋其實頗慢,所以米奇就參考了最速ニコニコ動画検索的做法,透過Yahoo! Japan Web Service的API去做搜尋,雖然無法取得片長等資料,但還是可以取得影片的連結、圖示、標題和簡介等資料。

呈現搜尋結果方面,米奇偶然在一篇IBM Developer Works 的文章裡,找到一個名叫iUI的介面框架,這個框架是用來模擬iPhone的介面,連用戶與伺服器間的互動也模擬到,實在利害。有了這個就可以將『ニコニコ♡たっち』製成酷似iPhone的功能了。

下載影片方面,ニコニコ動画加入了好多麻煩的手續來防止我們這種搗蛋鬼去直接下載檔案,不過很可惜,有心人還是發現了方法,再加上對ニコニコ動画RC2新登入方式的修正,就可以完美地下載到ニコニコ動画上的影片了。

變換方面,米奇早前就已經講過如何在Linux伺服器上用ffmpeg將影片壓製成H.264 MP4給iPod touch播放,在網上傳輸的話,將bit rate設為300k應該夠用了,除非你有個ニコニコ動画的付費帳號吧...

最後是回應方面,暫時米奇仍未找到動態下載的方法,所以暫時唯有以暫存檔的形式,讓用戶直接從iPod touch去下載來看吧。至於要避免因為這種安排而引來很多人嘗試去下載公開區域的影片,米奇總算能夠設定好只有iPod和iPhone才能存取有關目錄,加上暫存檔只保留一小時的設計,應該可以將影響減少吧。

這一堆堆東找西拼的技術,整合起來應該可以做出『ニコニコ♡たっち』來,希望兩個星期內將它完成吧。

引用URL : http://blog.comicparty.com/trackback.php?id=409

[搞搞影像大作戰 ] 12 十月, 2007 05:16

最近因為買了部iPod touch,所以也開始關心透過早前提及的泛用型ffmpeg來轉換可以讓iPhone或iPod touch播放的影片的方法。最初米奇只單純參考壓製PSP HAVC格式影片的方式來設定壓製iPod影片的參數,但結果不是無法播放,就是無法透過iTunes傳到iPod去。查了一下網頁,才知道ffmpeg 在壓製iPod影片時有兩點要注意的:

1) 如果你沒有指定仔細參數的話,ffmpeg是仰賴各codec 函式庫各自的預設值來壓片。很不巧,libx264的預設值其實設得不太好,所以在壓製iPod影片時,就必須加入大量參數來設定。以下是用來壓製可以讓iPod touch播放的最高畫質影片所用的參數:

/usr/bin/ffmpeg -y -i INPUT -vcodec libx264 -s 640x360 -b 2M -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 2M -maxrate 2M -bufsize 2.5M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 16:9 -acodec libfaac -ab 128k "OUTPUT.mp4"

2) 跟壓製flv檔時的情況差不多,ffmpeg 在壓製Low Complexity Version H.264 Baseline Profile 影片時,並沒有按照Apple的標準來加入UUID atom的,這會引致影片無法sync到iPod上去。也跟flv的情況一樣,你可以裝一個名為Atomicparsley的軟件來修正UUIDatom的問題,並且可以用來加插ID3的標籤資料。

安裝Atomicparsley

安裝Atomicparsley好簡單,只要用svn取得Atomicparsley的源碼,按照一般方法來compile就成。

#cd /usr/local/src
#svn co https://atomicparsley.svn.sourceforge.net/svnroot/atomicparsley atomicparsley
#cd atomicparsley/trunk/atomicparsley
#autoconf && autoheader
#./configure
#make
#cp AtomicParsley /usr/bin/


安裝好之後,只要輸入下面的指令就能解決UUIDatom的問題,和加插影片標題:

AtomicParsley "OUTPUT.mp4" --DeepScan --iPod-uuid 1200 --overWrite --title "The title" 

引用URL : http://blog.comicparty.com/trackback.php?id=407

[搞搞影像大作戰 ] 30 七月, 2007 19:53

因為有網友希望米奇早日釋出新版本的TVParty,所以米奇先將直至現在的修正版本整理了一下。由於未經過充份的測試,我想可能還會有好多臭蟲,所以我把這個版本名為alpha,請用家見諒。

由這一個版本開始,TVParty將會以SVN來管理,希望會比較有系統,而且也便於跟其他人合作。SVN的結構和傳統一樣,分成trunk、tags和branches三個目錄,trunk是現行的開發版本,經常會有所修改;tags是某個時點的公開版本,不會再在上面做修改;branches則是其他變種分支 (暫時來說相信也不會有...)。大家可以在Linux用下面的連結checkout v0.2.0-alpha版來使用。

svn checkout svn://partyframe.comicparty.com/home/mickey/svn/tvparty/tags/v0.2.0-alpha tvparty
(這是一句啊)

如果用Windows的話,裝個TortoiseSVN更方便,還有中文介面。

引用URL : http://blog.comicparty.com/trackback.php?id=395

[搞搞影像大作戰 ] 09 六月, 2007 20:29

今天試試裝一部CentOS5的主機,感覺跟Fedora Core沒有多大分別,可能是因為米奇不會用Virtualization和Global File System吧。

用這個CentOS5的其中一個原因是因為有人說在CentOS上裝ffmpeg有問題。米奇試裝一次,就發現問題是出現在ffmpeg改版身上了。正如ffmpeg官網自己也說他們總是在改版,上個月裝的版本跟今個月裝的就已經有些分別。最明顯的就是--enable-xvid和--enable-x264兩個參數已經仿照其他關於codec的參數改名為--enable-libxvid和--enable-libx264了。 另一個大改變是在liba52身上,現在ffmpeg沒有附有liba52,所以如果要支援AC3的話,就要自己去下載個a52dec來安裝了。

有關修正後的ffmpeg安裝法,已經在泛用型 ffmpeg 安裝攻略裡做了修正,有需要的用戶請參考一下。

引用URL : http://blog.comicparty.com/trackback.php?id=369

[搞搞影像大作戰 ] 20 五月, 2007 16:14

[2007-10-16修正]正如前面的文章所說,網上已有不少文章在講解ffmpeg的編譯和相關codec的安裝。米奇這篇文章只是從各家的文章中抽取出證實可行的部份,並更新現時SVN版ffmpeg的option。也請各位去看看各位前人的文章以作參考。[2007-12-13修正]謝謝gb2312兄的指正,--enable-libogg選項經已移除了。

安裝環境:Fedora Core 3 & 4、CentOS5

1. MP3 支援:Lame
下載網址:http://lame.sourceforge.net/download.php

#tar zxvf lame-3.97.tar.gz
#cd lame-3.97
#./configure --enable-shared --prefix=/usr
#make
#make install

2. Ogg, Vorbis支援:libogg、libvorbis
FC3和FC4應該是預設安裝了有關的library的,實際上要安裝的套件有4個:libvorbis、libvorbis-devel、libogg和libogg-devel。您可以用以下指令檢查一下有沒有。

#rpm -qa | grep libogg
#rpm -qa | grep libvorbis

如果沒有的話,用yum安裝就可以了。

3. Xvid 支援:xvidcore
要讀取Xvid的影片用ffmpeg內建的就可以,但要壓成Xvid的話就要裝codec了。
下載網址:http://www.xvid.org/Downloads.43.0.html

#tar zvxf xvidcore-1.1.2.tar.gz
#cd xvidcore-1.1.2/build/generic/
#./configure --prefix=/usr
#make
#make install

4. H264/AVC 支援:x264
要壓HQ1080、iPod和PSP的影片,x264是少不了的。不過要安裝x264,就需要用yasm來編譯。那就先裝個yasm吧。

yasm下載網址:http://www.tortall.net/projects/yasm/releases/yasm-0.6.0.tar.gz

#tar xzvf yasm-0.6.0.tar.gz
#cd yasm-0.6.0
#./configure --prefix=/usr/local/yasm
#make
#make install
#export PATH="$PATH:/usr/local/yasm/bin"
#vi /etc/profile
--[在最後,插入]--
export PATH="$PATH:/usr/local/yasm/bin"
--[存檔並關閉]--

跟ffmpeg一樣,x264的官網也是鼓勵大家 checkout SVN來取得最新版本。但據SupeSite在2007年5月16日的說明指出官網的x264最新版有Bug,無法正常在一些Intel的CPU上編譯安裝(甚麼雙至強、四至強CPU嘛,是指雙核和四核嗎?)。不過起碼米奇在公司的P4 2.8GHz CPU安裝沒有問題啦,所以...管它。如果您遇上問題的話,就去下載SupeSite的開發公司Comsenz的版本吧,不過先旨聲明,那個改版的授權還是不是原來的GPL就不知道了。如果您在意於授權的話,那就用SVN checkout吧,我想那問題可能在您安裝時已經修正好了。

#svn checkout svn://svn.videolan.org/x264/trunk /usr/local/src/x264
#cd /usr/local/src/x264
#./configure --prefix=/usr --enable-shared
#make
#make install

5. AC3 支援:liba52
[2007-06-09修正]現在的ffmpeg又沒附有liba52了,所以,還是自己動手裝吧...

下載網站:http://liba52.sourceforge.net/

# tar zxvf a52dec-0.7.4.tar.gz
# cd a52dec-0.7.4
# ./configure --enable-shared --prefix=/usr
# make
# make install

6. MPEG4 AAC 支援:faac、faad2
faac是用來壓製AAC音軌的,而faad2就是AAC音軌的解碼器。手機鈴聲和MP4影片都是使用AAC作聲音編碼的,所以要裝這個。不過faac和faad2的官網audiocoding.com卻已經無發直接登入了。回到放在sourceforge那邊的舊版網站,也只能下載到舊版本。在sourceforge.net的專案頁是有最新的版本,但是SupeSite又說官方版有問題無法正常編譯,所以提供了他們的版本。米奇在FC3上安裝過官方版沒有問題,在FC4就因為混亂的信息而先裝了Comsenz版,執行時都沒有發現問題,只是Comsenz版的faac安裝法有點不一樣而已。無論如何,跑得動就好了。[2007-06-09修正]在CentOS5上始終還是無法安裝官方版,唯有用Comsenz版吧。[2007-10-16修正]官網audiocoding.com經已於9月重開了,而且還於日前推出了修正版的faac 1.26和faad2 2.6,米奇試過在Fedara Core 3上安裝完全沒有問題,所以還是裝個官方版吧。

另外,faac和faad2都可以配合libmp4v2來安裝,有些網站說需要先安裝libmp4v2,不過米奇就發覺只要編譯faac和faad2時加入適當參數,就可以連同libmp4v2一同安裝了。

faad2
官方版下載網址:http://downloads.sourceforge.net/faac/faad2-2.6.tar.gz
Comsenz版下載網址:http://download.discuz.net/env/video/faad2-2.5-Comsenz.tar.bz2

#tar zxvf faad2-2.6.tar.gz (Comsenz版:tar jxvf faad2-2.5-Comsenz.tar.bz2)
#cd faad2
#autoreconf -vif
#./configure --prefix=/usr --with-mp4v2 --enable-shared
#make
#make install

faac
官方版下載網址:http://downloads.sourceforge.net/faac/faac-1.26.tar.gz

#tar zxvf faac-1.26.tar.gz
#cd faac
#./bootstrap
#./configure --prefix=/usr --with-mp4v2 --enable-shared
#make
#make install

Comsenz版下載網址:http://download.discuz.net/env/video/faac-1.25-Comsenz.tar.bz2

#tar xjvf faac-1.25-Comsenz.tar.bz2
#cd faac-Comsenz
#autoreconf -vif
#./configure --prefix=/usr --with-mp4v2 --enable-shared
#make
#make install

要知道安裝了faac和faad2之後有沒有安裝好libmp4v的話,只要找一找/usr/lib目錄裡有沒有libmp4v2.so等一系列檔案就可以了。找不到的話,就到這裡去下載,安裝好之後再重頭安裝faac和faad2了。

7. 3GPP AMR Floating point 和 AMR-Wideband支援:libamrnb、libamrwb
3GP影片的影像是h263編碼,而聲音就用AMR-NB或AMR-WB編碼,所以要轉換手機影片,就要安裝AMR程式庫。最初坊間的安裝方式都是到3GPP官網去下載那些連名字也搞不懂的檔案來,放在ffmpeg裡的指定目錄去跟ffmpeg一同編譯的,但現在已經有人抽取了出來而成為獨立的程式庫,安裝起來就簡單得多了。
下載網址:http://www.penguin.cz/~utx/amr

libamrnb
#tar xjvf amrnb-6.1.0.3.tar.bz2
#cd amrnb-6.1.0.3
#./configure --prefix=/usr --enable-shared
#make
#make install
libamrwb
#tar xjvf amrwb-7.0.0.0.tar.bz2
#cd amrwb-7.0.0.0
#./configure --prefix=/usr --enable-shared
#make
#make install

8. DTS 支援:libdca
ffmpeg已經內含了用來解碼DTS的libdca,所以不用安裝,也沒有要入加的參數。

9. 安裝ffmpeg
安裝完成必要的程式庫之後,終於可以動手安裝ffmpeg本體了。如果您先前曾經安裝過ffmpeg的話,就先把ffmpeg的源碼目錄刪掉,再次checkout個新版本回來安裝吧。

#svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk /usr/local/src/ffmpeg
#cd /usr/local/src/ffmpeg
#./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay
#make clean && make
#make install

經過可以去看一節動畫的時間編譯之後,你應該可以在/usr/bin目錄裡找到ffmpeg程式。輸入ffmpeg便會列出用了甚麼參數來編譯這個ffmpeg和它的版本。米奇試過用以這程序來安裝的ffmpeg來編製和解壓3GP、Xvid、mov、wmv9、msmpeg4、MPEG2+AC3音源、h264+aac音源的mkv、PSP用的MP4和FLV影片,都沒有問題,只有wmv7的影片無法解碼,相信已經對應得到大部份現時流行的影音格式了。

參考:
SupeSite 5.5 / X-Space 3.0 视频环境完整安装手册
张微波的BLOG
Danger's Blog [Flash Platform Information]--Flash 视频(FLV)编码,转换,录制,播放方案一网打尽
還有忘記了的更多更多...

引用URL : http://blog.comicparty.com/trackback.php?id=352

[搞搞影像大作戰 ] 18 五月, 2007 21:36

實在好攰,花了一天半調試,終於都安裝好一個多用途的ffmpeg了。之前的文章裡主要都是使用ffmpeg 自帶的codec來解壓,有些現在很流行的玩法如手機3gp、TS、aac和mp4等都有處理上的問題,這兩天完成了一個網站之後有點悶,就想拿ffmpeg來調劑一下,想不到更攰...

近幾月來有很多網站都紛紛貼出文章來講述怎麼安裝泛用型ffmpeg到Linux上,但不少所寫的都是舊版設定參數,愈看得多愈讓人混亂。米奇是參考過的文章包括Discuz論壇一篇官方文章『SupeSite 5.5 / X-Space 3.0 视频环境完整安装手册(Linux)』、『張微波的Blog』等等,這些都是很有啟發性的文章,可惜的是有些文中用的是自家修改版本,有些內容還是不太正確,有些文章雖然日期很新(去年下半年也不算舊吧),可是所說的安裝方法卻竟然過了期。

米奇拿一部身家清白的FC4主機來做測試,安裝了的函式庫包括libmp3lame、xvid、faac、faad2、x264(順手要裝了yasm)、a52dec、amrnb和amrwb。由於看很多太多網站文章之後所帶來的干擾,有些函式庫裝了好幾次。有的網站所寫的方法已經Outdated,完全裝不到;有的雖然裝好了,但到安裝ffmpeg時又發覺有問題,又要再去找別的版本。最讓人煩的是ffmpeg的每一個安裝步驟都要花很多時間,先要過configure那一關,有些明明剛才已裝好函式庫,configure卻會告訴你unknown option、cannot found libxxx之類;到過了configure 大人那關之後又到make,這一關最花時間,真的可以去吃個飯,還會不停跳出「過時」、「警告」、不知所云的pointer問題之類之類,花了十幾分鐘等待之後,可能最後跑出來的會是Error:1的失敗告示。終於安裝好了之後拿些片來試一下,卻發覺找不到a52、轉換3GP片段沒有聲之類,真想死...

最後,米奇反樸歸真,用SVN去下載個最新版ffmpeg回來,打開configure檔去逐行看,拿每一個option到Google去找,找到的,又是另一堆新方法和函式庫。也好,起碼這樣找不會出現unknown option問題。終於,最後也完成了安裝,也測試過沒發現問題。以下是米奇今次安裝所用的參數,還有那樣安裝下可對應的各種File Format、codec和File protocol清單,供各位同好參考,詳細的安裝方法過兩天等米奇從混亂中回復過來再寫吧(其實也只是綜合人家的方法而已,感謝所有前人)...

./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-xvid --enable-x264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay  

 (閱讀全文)

引用URL : http://blog.comicparty.com/trackback.php?id=350

[搞搞影像大作戰 ] 10 五月, 2007 14:01

最近公司有同事買了部SONY的硬碟手提攝錄機來拍片,那部機的儲存格式是MPEG2,而音源是杜比AC3。米奇拿了由那部機拍攝出來的片段放上轉片伺服器去試試轉換成flv,立即就出現了Output format的問題了。想當然,就是AC3音源的問題了。

ffmpeg的官網一查,便知道原來ffmpeg對AC3音源的支援是透過一個名為liba52的函式庫達成的,所以就去找這個函式庫。liba52的官網是http://liba52.sourceforge.net/,去下載了最新的0.7.4版本回來後(最新也已經是2002年時候的產物了...),不要按附有的INSTALL文件所說方式來安裝,因為那樣ffmpeg是無法取用的,安裝時要與安裝LAME一樣加入一些參數:

$ tar zxvf a52dec-0.7.4.tar.gz
$ cd a52dec-0.7.4
$ ./configure --enable-shared --prefix=/usr
$ make
$ make install

由於加入了新的函式庫,所以要重新編譯ffmpeg。編譯時要在configure加入新的參數來支援liba52,其他的就按之前說過的方法去做就可以:

$ ./configure --enable-gpl --enable-libmp3lame --enable-liba52 --enable-shared --prefix=/usr

不過,那部機拍出來的片的pixal aspect ratio與電腦的aspect ratio不一樣,所以雖然看的時候是16:9,但是無論在Linux上用ffmpeg轉換也好,或在Windows用VirtualDubMod來轉換也好,也會變成了4:3比例。在Windows上米奇是用Avisynth來Resize影片,而在ffmpeg的話,就要加入一些參數來暴力改變picture aspect ratio了。由於用ffmpeg來檢查來源片段的話只會得到4:3的比例,米奇還要研究一下怎樣才可以自動偵測這種變型比例。

引用URL : http://blog.comicparty.com/trackback.php?id=348

Host & Maintance by ComicParty.com | 本網站內容由會員提供,不代表本網站立場
請尊重知識產權。如您發現本網站的內容侵犯您的著作權,請聯絡站長仲裁