我在想,如何從Flash視頻文件中提取縮略圖,然後將其顯示在列表框中。從.flv中提取縮略圖
該列表框假設有很多視頻,我需要通過actionscript以編程方式提取縮略圖。
Flash播放器將在網絡上,並且提取必須在swf文件加載時發生,因此,該方法不能太花時間。
我該如何繼續下去?這甚至有可能嗎?
TNX提前
我在想,如何從Flash視頻文件中提取縮略圖,然後將其顯示在列表框中。從.flv中提取縮略圖
該列表框假設有很多視頻,我需要通過actionscript以編程方式提取縮略圖。
Flash播放器將在網絡上,並且提取必須在swf文件加載時發生,因此,該方法不能太花時間。
我該如何繼續下去?這甚至有可能嗎?
TNX提前
最好的解決辦法是generate the thumbnail server side並沿網址到該圖像發送。 如果您想要「動態地」執行縮略圖,則需要首先加載視頻,至少直到您希望截取屏幕截圖爲止,這不會特別快。
你應該看看FFMpeg--利用它你可以從視頻中提取縮略圖(還有很多很酷的東西)。一旦你的服務器上安裝了它,你只需通過PHP的exec()函數傳遞命令即可。
例如:
$cmd = "ffmpeg -i you_video.flv -f image2 -vframes 1 -ss 00:00:01 -y -s 100x100 my_video_thumb.png";
exec($cmd, $output, $return);
Where:
-i is your specify the input file
-f is to force the output format, this case "image2" since we are generating an image
-vframes video frames we want to record in the snapshot, only one
-ss starting time of the snapshot
-y overwrite any existing file with the same name
-s size/dimensions of the output image
有關於如何在服務器上安裝FFmpeg的,如果你google一下,你會發現噸信息的一些很好的教程。這是一個起點http://vexxhost.com/blog/2007/03/03/installing-ffmpeg-ffmpeg-php-mplayer-mencoder-flv2tool-lame-mp3-encoder-libogg-%E2%80%93-the-easy-way/
乾杯, M.
如果你不想使用的ffmpeg我相信你可以做到以下幾點:
加載主SWF,
每個FLV文件,
加載FLV ;
發送flv到所需的時間;
創建一個新的BitmapData對象;
將flv的內容繪製到
使用繪製方法的位圖數據;
將BitmapData添加到位圖對象 並將其顯示在列表框中;
分發完畢後展示的主要應用
,做事情simmilar對此的形式給出,但它使用中cuePoints觸發圖紙可以在這裏找到:
一更重要的是,爲了操縱flvs(繪製方法起作用),文件必須駐留在您自己的域中,或者在根服務器上應該有一個跨域文件,該文件包含flv,其中聲明允許您的域訪問
我明白了。我要在這個網站上使用PHP,所以任何想法如何用PHP做到這一點? – mana 2010-04-21 12:01:51