免費的 Flash FLV 串流視訊解決方案
文∕趙英傑
最近的一個案子當中需要用到串流視訊(streaming video),因為視訊只是一小部分需求,業主沒有意願添購串流伺服器(例如:Macromedia Flash Communication Server∕Flash Media Server 或者德國 OnlineLib 公司的 VCS Broadcaster),而且既有的 Web Hosting 公司也未提供串流視訊服務。所幸在 FlashComGuru 網站找到一篇說明採用 PHP 提供免費 Flash FLV 串流服務的文章,包含 Flash 和 PHP 原始檔。最酷的是,伺服器端不需要安裝任何額外的軟體,因而解決了串流視訊的問題 :grin:,該網站有線上示範。
底下是筆者使用該文章的原始檔修改的視訊範例,提供給有興趣的朋友參考(這不是很好的例子,因為是用老舊的 Nikon 數位相機錄影,沒有聲音)。影片採用 Flash 8 的 on2 VP6 codec 以 400kbps 壓縮成 FLV (Flash Video 格式),影片長度只有 15 秒:
如果您看不到視訊,請下載 Flash 8 Player
:razz:This is pretty cool!
請問大大,flvprovider.php 中的 $path = “path/” 該打入哪種路徑?
我直接打入 http://site/path/ 他竟然顯示 ERORR: The file does not exist
煩請解答了,謝謝!
path指的是你的影片路徑,假設你的影片檔放在”flv”資料夾,請將URL改成:
http://你的網址/flv/
能不能更詳細的說明..安裝設定流程
到flashcomguru網站下載原始檔(http://www.flashcomguru.com/downloads/phpstream.zip)並解壓縮後,將能看到三個檔案:php, .fla和.flv(範例視訊)。
開啟scrubber.fla檔,修改位於actions圖層第一格,第7到9行的程式:
// 這是第7行,設定視訊檔名。
var _vidName = “golfers.flv”;
/* 這是第8行,把www.yourdomain.com換成你的網址 */
var _vidURL = “http://www.yourdomain.com/” + _vidName;
/* 這是第9行,把www.yourdomain.com換成你的網址 */
var _phpURL = “http://www.yourdomain.com/flvprovider.php”;
匯出Flash影片(.swf檔)後,把此.swf檔,連同上面的.flv和.php程式一齊上傳到你的網站根目錄即可測試,good luck!
請問大大
你WP網站上的FLV是用哪一個WP插件
hi marvin:
那並不是WP外掛,是自行加上Flash影片,以及FlashComGuru 網站的PHP程式。
jeffrey
那大大是用EMBED讓他出現在WP裡的嗎?
對,用傳統的ActiveX控制項和外掛程式處理方式,採用 <object> 和 <embed> 標籤,直接看此頁的原始碼就能瞭解。
請問一下windows server 裡用asp有沒法做到啊?
可以,跟系統無關,但是你要把對應的語法換成VBScript。
🙄
請問大大
為什麼我用 Flash MX 2004 開啟不了 該fla檔
初學者
煩請多多指教
hi Pablo:
你有嘗試用Flash 8開啟嗎?
Open Red5 中文社区开张了!
在大伙的共同努力下,我们的Open Red5中文社区终于开张了.
Red5 Server 是一个开源Flash 媒体服务器,它提供了流媒体服务,实时广播服务,共享对象,远程调用,客户端录制等特性.目前已经是0.6 final released版本了.但是目前无论是在国内还是在国外,相关的技术文档很少.随着目前国内的用户逐渐增多,大家迫切希望有一个中文的社区作为该开源软件的技术支持.为此Open Red5中文社区就在这样的背景下诞生了.希望我们大家在这样的一个开放的平台上共同学习,共同进步!
网站地址:
http://www.openred5.cn
http://www.openred5.com
請問我用appserv-win32-2.4.8 這個軟體
想在自己電腦裡面RUN這個串流視訊
我解壓縮的三個檔案都放進去C:\AppServ\www
=============我的scrubber設定==============
// 這是第7行,設定視訊檔名。
var _vidName = “golfers.flv”;
/* 第9行,把www.yourdomain.com換成你的網址 */
var _vidURL = “http://localhost/flvprovider.php” + _vidName;
/* 第11行,把www.yourdomain.com換成你的網址 */
var _phpURL = “http://localhost/flvprovider.php”;
================我的flvprovider.php設定===================
//full path to dir with video.
$path = ‘C:\AppServ\www\flvprovider\flv’;
====================================================
他會顯示
ERORR: The file does not exist
我是PHP初學者 咳咳 Orz
hi bubu:
你的ActionScript程式第9行要改成(去掉flvprovider.php):
/* 第9行,把www.yourdomain.com換成你的網址 */
var _vidURL = “http://localhost/” + _vidName;
PHP裡面的path,用相對路徑(請留意路徑的斜線):
“flvprovider/flv”
jeffrey
還是弄不出來
不過還是先謝謝你的熱心教導囉
😛
如何將FLV加入alpha,叫入flash時就有去背效果?
我試過用AE軟體去背後,轉出AVI,之後用FLASH的video encode轉成flv
然後叫入flash中,結果還是沒去到背!
到底是哪個環節沒做好?
請專家幫我解解謎吧!謝謝拉!
既然使用After Effects,你可以從中選擇File > Export > Macromedia Flash Video (FLV)指令,直接匯出Flash Video (.flv)格式。匯出影片時,在匯出設定畫面中,按下 “Show Advanced Settings” (顯示進階設定)鈕,並勾選 “Encode Alpha Channel” 選項即可。
至於AVI檔沒有Aplha Channel的原因,應該是你選擇了一個不支援Alpha Channel的codec(壓縮/解壓縮程式)。
您好~:razz:~請問一下~~我也是出現下面這個錯誤訊息
ERORR: The file does not exist
問題1.
$path = ‘D:/test/golfers.flv’ ← 這裡指哪種檔案的路徑?golfers.flv 嗎?還是指到資料夾就好?還是..?..
問題2.
請問$_GET[“position”]; 及 $_GET[“file”] 是代表哪種URL變數,因為您的PHP檔只有1個,所以我並不知道GET變數從哪傳過來~~以及它們的值各代表什麼? 檔名?路徑? 哪種值呢? 謝謝
$seekat = $_GET[“position”];
$filename = htmlspecialchars($_GET[“file”]);
$ext=strrchr($filename, “.”);
$file = $path . $filename;
if((file_exists($file)) && ($ext==”.flv”) && (strlen($filename)>2) && (!eregi(basename($_SERVER[‘PHP_SELF’]), $filename)) && (ereg(‘^[^./][^/]*$’, $filename)))
{
header(“Content-Type: video/x-flv”);
if($seekat != 0) {
print(“FLV”);
print(pack(‘C’, 1 ));
print(pack(‘C’, 1 ));
print(pack(‘N’, 9 ));
print(pack(‘N’, 9 ));
}
$fh = fopen($file, “rb”);
fseek($fh, $seekat);
while (!feof($fh)) {
print (fread($fh, filesize($file)));
}
fclose($fh);
}
else
{
print(“ERORR: The file does not exist”); }
?>
您好~~抱歉~~我發現了…
原來是在Flash傳值過去~~
第2個問題我收回~~謝謝~~:lol: