2010-02-15 98 views
8

我想爲我的網站上列出的視頻顯示縮略圖或預覽面板,我想從視頻中獲取單幀(從特定時間即獲得1分鐘後的幀),並將它們顯示爲在YouTube中的縮略圖...如何創建縮略圖或預覽視頻?

任何幫助?

+0

嘗試下面這個教程PHP和ffmpeg的,http://www.alberton.info/video_preview_as_animated_gif_with_ffmpeg_and_spl.html – 2010-02-15 11:44:36

回答

8

看看ffmpeg-php庫。這是在PHP中處理不同格式視頻的唯一簡單方法。

還有一個叫PHP視頻工具包包裝,你可以在這裏找到:http://sourceforge.net/projects/phpvideotoolkit/

+0

我可以創建使用的ffmpeg的PHP縮略圖?我以爲它可以用來將視頻轉換爲不同的格式......如果可能的話,我該怎麼做? ffmpeg中是否有預定義的函數或方法? – Vijay 2010-02-15 11:42:43

+0

Dwwnload包,看看example02.php:有一個$ toolkit-> extractFrames()調用,它完全符合你的需求...;) 你可以很容易地修改源代碼,只提取一個幀給定的時間。 – Napolux 2010-02-15 12:03:32

+0

感謝Napolux。這對我很有幫助。但你介意解釋我,我們如何提高縮略圖的質量? – Vijay 2010-02-15 13:10:48

7

添加到如何使用ffmpeg的答案,this is the parameters you're looking for

ffmpeg -itsoffset -4 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg 
+0

這對音頻和視頻都有效。 – skidadon 2015-04-17 03:32:44

+1

還值得注意的是,即使音頻或視頻具有可用的圖像幀,仍會生成「test.jpg」。當沒有圖像幀時,test.jpg將是一個大小爲零的文件。所以你需要檢查生成的文件的大小,以確保你有一個可以使用的文件。 – skidadon 2015-04-17 03:35:16

6

在現代瀏覽器中,你也可以使用視頻標記和畫布捕捉一幀並將其保存爲圖像。

看到How can we get the screenshot of the video in html5 using canvas

+1

這應該是答案。我們花了一天的時間試圖讓ffmpeg可靠地工作。爲了得到縮略圖圖像,我們最終使用JavaScript,一旦視頻上傳,我們播放視頻,然後轉移到5秒後從畫布上畫出保存圖像。工作方式比ffmpeg更可靠。甚至在我殺死它之後,Windows上的Ffmpeg進程也不會停止。 – 2015-04-10 05:34:23

+0

@michaelhanon作爲一個,這個或相關答案都應儘可能地總結鏈接,以便創建冗餘,以及更簡短的版本。依靠客戶端JavaScript創建縮略圖對於許多情況來說遠非理想,但對於大多數情況來說,它肯定可能是一種絕佳的方式。也許托馬斯會在他得到足夠的讚揚時改進他的回答,並最終給我們一個完整的解決方案......; P – cregox 2015-12-21 00:34:02