之前一直有想要買CD Tower的想法,不過,鑑於使用率和網路普及率在敝校並不高,所以就發想要自己來建一個youtube。想要實現這個想法,要先能有一個網路版的flv player,還要能在影片上傳的時候,自動轉成flv檔。要製作flv player比較簡單,用flash+php就可以,至於轉檔,在網路上找了一下資料,發現linux下有一個叫ffmpeg的程式可以使用。那麼,事情就簡單多了,透過php的exec呼叫ffmpeg就能進行轉檔了
所以,必須先解決ffmpeg的問題。
1.安裝lame用來把聲音壓成mp3
.把lame下載下來
.把lame解開後,執行./configure --enable-shared -prefix=/usr
.make
.make install
2.安裝 ruby,等一下要安裝flvtool2用的
.下載ruby或直接用aptitude(debian)安裝皆可
../configure --> make --> make install
3.安裝flvtool2,編輯flv檔用的
.下載flvtool2
.解開後執行ruby setup.rb config
.執行ruby setup.rb setup
.執行ruby setup.rb install
4.主角終於現身了,安裝ffmpeg囉
.下載ffmpeg或用svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk下載
.解開後執行 ./configure --enable-shared --prefix=/usr
.make
.make install
5.如果想要能透過php取得影片資料而不是空能轉檔的話,還必須安裝ffmpeg-php
.下載ffmpeg-php
.解開後執行phpize(要裝php-dev才有)
../configure --> make --> make install
.然後把extension=ffmpeg.so 寫入php.ini就行了
接下來,就簡單多了,將影片轉成flv的指令就是ffmpeg -i 來源檔.xxx 目的檔.flv,只要將指令透過php的exec來執行就可以了。如果要擷取一張圖片來當預覽的話,就執行ffmpeg -i 來源檔 -f image2 -ss 秒數 -vframes 1 -s 寬x高 -an 圖檔檔名(jpg、gif、png)。當然,ffmpeg還有很多功能可以用,在終端機上執行ffmpeg -h就可以一目了然了。
相關參考:http://luar.com.hk/blog/?p=670