2017-07-20 102 views
0

我得到視頻文件的參數我怎樣才能得到第一幀作爲圖片從這個視頻使用回形針或carrierwave或其他寶石?獲取視頻軌道的第一幀

視頻PARAMS如下:

#<ActionDispatch::Http::UploadedFile:0x007fc598ab45b8 
@content_type="video/mp4", 
@headers="Content-Disposition: form-data; name=\"file\"; filename=\"Resource 
Prospector Mobility Test.mp4\"\r\n" + "Content-Type: video/mp4\r\n", 
@original_filename="Resource Prospector Mobility Test.mp4", 
@tempfile=# 
<File:/var/folders/cy/q0_j47kn24l58ff4tqlxzsjc0000gq/T/RackMultipart20170720- 
6218-1cna8ld.mp4>> 

回答

0

您將無法單獨使用一個文件上傳寶石做到這一點 - 你將不得不使用別的東西,就像使用ImageMagick(或RMagick或類似的)來處理上傳圖像的縮略圖。

convert input.mp4[X] thumbnail.png其中X是一個幀。

更在http://www.imagemagick.org/Usage/video/#gif

最好的服務器端的選擇是可能的ffmpeg。您應該能夠遵循與ImageMagick縮略圖(上傳,後臺作業等)相同的一般步驟。

如果您使用的是第三方視頻解決方案(YouTube,Wistia等),則可能會在您將文件發送到其服務後用於生成縮略圖的API調用。

+0

我嘗試使用的ffmpeg,寫下這行 FFMPEG :: Movie.new(Rails.root.join( 'lovetherents.mov')。to_s) 並得到一個錯誤「無法從FFProbe解析輸出「 它可能是什麼? 路徑正確 –

0

使用的ffmpeg

寶石 'streamio-的ffmpeg',解決 '〜> 3.0', '> = 3.0.2'

曾與麻煩 「無法從FFProbe解析輸出」但重新安裝的ffmpeg

釀造安裝的ffmpeg --with-FDK-AAC --with-libass --with-SDL2 --with-X265 --with-freetype的--with-libvorbis --with解決它-libvpx --with-opus

+0

甜!很高興解決了這個問題 - 它總是用Linux媒體轉換工具來計算額外的庫:/ –