免費的 Flash FLV 串流視訊解決方案
文/趙英傑
最近的一個案子當中需要用到串流視訊(streaming video),因為視訊只是一小部分需求,業主沒有意願添購串流服務器(例如:Macromedia Flash Communication Server/Flash Media Server 或者德國 OnlineLib 公司的 VCS Broadcaster),而且既有的 Web Hosting 公司也未提供串流視訊服務。所幸在 FlashComGuru 網站找到一篇說明採用 PHP 提供免費 Flash FLV 串流服務的文章,包含 Flash 和 PHP 原始檔。最酷的是,服務器端不需要安裝任何額外的軟體,因而解決了串流視訊的問題 ,該網站有線上示範。
底下是筆者使用該文章的原始檔修改的視訊範例,提供給有興趣的朋友參考(這不是很好的例子,因為是用老舊的 Nikon 數位相機錄影,沒有聲音)。影片採用 Flash 8 的 on2 VP6 codec 以 400kbps 壓縮成 FLV (Flash Video 格式),影片長度只有 15 秒:
如果您看不到視訊,請下載 Flash 8 Player
Flv視瀕文件的來源
首先說下這個Flash視瀕,也就是Flash Video。
為什麼要用這個?很顯然是需要在網頁中播放視瀕。我們都知道一般的視瀕文件,要不就是asf格式、wmv格式使用mediaplayer進行播放,要不就是rm格式用RealPlayer播放。
這樣的問題是,格式的不同就需要選項不同的播放器,這對於本地機電腦沒有安裝相應播放器的用戶來說,這些視瀕根本無法收看。
並且,還由於這些文件的容量過大,下載慢,檢視也不很流暢。
所以,解決播放器和容量的問題,運用Flash有個方法:將各類視瀕文件轉換成Flash視瀕文件。
播放器有嵌入在瀏覽器中的Flash播放器,這好像每個人的機器都有的吧,解決了其它一般視瀕文件需要挑選播放器的問題,當然這也就是Flash的優勢。
容量方面,從FlashMX2004起就支持了轉換為Flash視瀕的功能,經過相關設定後,可縮小原有視瀕的容量,最終轉換的文件副檔名是FLV。
一句話:最終獲得的是個FLV即Flash視瀕文件。
那麼Flv文件如何在網頁中顯示呢?Flv文件也只是視瀕文件,它的播放同樣是需要播放器的,而這個播放器就是FlashPlayer。
第一種方法:
將本地機Flv文件匯入佈署到Flash軟體中,以庫中元素的形式而存在,將該元素拖入場景,調整位置後,發佈為swf文件即可。
注意以上文件在本地機測試沒有問題,但上傳到網路時,其他瀏覽者是無法檢視的,因為現用的播放器使用的是本地機Flv文件。
所以,需要調整路徑。首先需要將Flv文件上傳到某個網路空間,並且獲得其準確的路徑位址。
其次,開啟Flash軟體,選項Flv元件,Alt+F7開啟「元件檢查器」,將「ContentPath」中的路徑由近端網址取代為網路絕對位址
彈出的對話視窗中,可使用網路上已經固定的Flv文件位址,還可以是選項瀏覽本地機的Flv文件,但要注意該Flv文件應是你所定義的DW當前該站點中的,以獲得相對路徑,便於之後所有文件一起上傳後,一樣能尋找到該檔案。
不出所料,設定完畢後,DW8自動產生了FLVPlayer_Progressive.swf播放器文件和Halo_Skin_3.swf控制器皮膚文件。
那麼,最後你上傳網頁時就是4個文件一起上傳。
OK,偵錯個位址看看:http://www.cnbruce.com/flv/
第三種方式:
如果你還是覺得文件比較的多,只要要一個播放器和一個Flv文件就了事。那麼,借用下Google的這個swf播放器googleplayer.swf,自己只需要提供flv路徑就可以了,除flv外,googleplayer.swf還支持mp3文件。
具體如何使用google的這個播放器,Danger同學介紹了個:
http://www.dengjie.com/weblog/comments.asp?post_id=1066
並且還提供了個在線工具
http://dengjie.com/temp/google_player_cn.swf
以下顯示的則是通過上面的工具設定的,採用的Google的播放器。
http://www.cnbruce.com/flv/13.swf
當然,畢竟這個播放器是Google的,只要通過URL的參數選項即可播放相應的該視瀕文件。
如果能脫離第一、第二種方式,使用第三種方法又不想使用Google的播放器,那只有自己來寫一個swf播放器了。Danger似乎已經完成。
我的方法則是把google的該播放器下載了下來,然後放到自己的空間裡面 ,接著就來使用了
http://www.cnbruce.com/flv/ googleplayer.swf?videoUrl=http%3A%2F%2Fwww%2Ecnbruce%2Ecom%2Fflv%2Flaislabonita%2Eflv&thumbnailUrl=http%3A%2F%2Fwww%2Ecnbruce%2Ecom%2Fblog%2Fimages%2F2006%2D2%2Ejpg&playerMode=normal
下載位址:
http://www.buraks.com/flvmdi
FLV元資料注射器,顧名思義,它可以給FLV(flash視瀕)文件注入元資料.
元資料記載了FLV文件高,寬,影片長度等訊息.
之前使用Flash Video Exporter 1.0輸出的FLV視瀕是沒有元資料的
使用沒更新的F04媒體元件播放(不指定影片時間),會出現下面的問題:
http://dengjie.com/temp/2004/flv/cool.html
使用帶元資料和新版的F04視瀕元件播放就沒問題:
http://dengjie.com/temp/blueidea/video.swf
有了FLV MetaData Injector,我們可以非常方便的給FLV加入元資料,而
不需要花費漫長的時間使用新版的Flash Video Exporter重新發佈一次影片.
使用方法:
指令提示字元下輸入>flvmdi 輸入的文件.flv 輸出的文件.flv
相關主題:
http://www.blueidea.com/tech/multimedia/2003/795.asp
http://www.dengjie.com/weblog/comment.asp?post_id=523
http://www.dengjie.com/weblog/comment.asp?post_id=529
影片檔轉成FLV這裡提供由>Riva VX
http://www.rivavx.com/index.php?id=417&L=3
公司製作的免費轉檔軟體, 以及FLV播放器.
原始下載點: FLV轉檔 ;
http://download.rivavx.de/RivaEncoderSetup.exe
FLV播放
http://download.rivavx.de/RivaFLVPlayerSetup.exe
不過經由這個軟體轉的FLV, 不像從Flash裡面Export.會帶關於該FLV的資訊, 例如影片總長度等. 而Flash Media Player需要這些資訊才能拖拉影片控制BAR.
因此, 想要讓使用者可以自行控制影片播放程序, 則可以用由http://www.buraks.com開發的小軟體再轉一次
http://www.dab.idv.tw/dab/share/flvmdi120exe.rar
, 便會把所有的FLV內容附加進FLV檔案裡
客戶端編碼工具(Client-Side-FLV-Encoding)
場景:拿到一個 MPG 或 AVI 文件,打算在個人電腦上轉換成FLV.
1,Sorenson Squeeze:
http://www.sorensontech.com/solutions/prod/mx_win.php
2,Riva FLV Encoder:
http://www.rivavx.com/index.php?encoder&L=3
3,Turbine Video Encoder:
http://www.blue-pacific.com/products...eo/default.htm
4,Flix Exporter:
http://www.on2.com/consumer/flix-exporter/
5,SWiSH Video:
http://www.swishzone.com/index.php?product=video
6,Flash 原有的的Flash Video Exporter:
http://www.macromedia.com/devnet/fla...ter_print.html
伺服器端轉換工具(Server-Side-FLV-Conversion)
場景:想把 MPG 或 AVI 上傳到你的伺服器並自動轉換成 FLV 嗎?
1,FFmpeg :
http://sourceforge.net/projects/ffmpeg 教學(Google Video 使用的就是這個東東.):
http://klaus.geekserver.net/flash/streaming.html
2,Flix Engine :
http://www.on2.com/developer/flix-engine-sdk
3,Turbine Video Engine:
http://www.on2.com/developer/flix-engine-sdk
4,Video to Flash Console:
http://www.geovid.com/Video_to_Flash_Console
錄像/既時廣播(Record/Broadcast)
場景:想製作一個語音視瀕Blog滿足自戀的慾望嗎?
1,RED5:
http://www.osflash.org/red5
2,Flash Media Server:
http://www.macromedia.com/go/fms
在線編碼,分享視瀕(Online Encode & Share)
場景:想不花錢就可以在線分享你的視瀕嗎?
1,Google Video:
http://video.google.com/
2,You Tube:
http://www.youtube.com/
3,iFilm:
http://www.ifilm.com/
本機 FLV 文件播放器(FLV Player)
場景:拿到了 FLV 文件不知道怎麼播放了.
1,martijndevisser FLV Player:
http://www.martijndevisser.com/blog/...player-updated
2,FlashGuru FLV Player:
http://www.flashguru.co.uk/free-tool-flash-video-player
3,FCZone FLV Player:
http://fczone.com/2006/01/fms-media-player.cfm
在線 FLV 文件播放器(Online FLV Player)
場景:知道一個在線FLV位址,又懶得下載和安裝播放器.
1,Loadr:
http://dengjie.com/loadr/
2,Google Player Generator:
http://dengjie.com/temp/google_player.swf