Video
從影片中提取 Caja 中顯示的縮略圖
當我轉到 Caja 中的一個包含影片文件(例如 flv、mp4)的文件夾時,這是我在我的 Linux 版本(Mint MATE)中的文件資源管理器程序,它有一個小的縮略圖。
這是從哪裡來的?它是否儲存在影片的元數據/標題中?它是由 Linux 動態計算的嗎?還有什麼?
我可以提取此圖像並將其保存為 jpg 嗎?
~/.cache/thumbnails
如果 Caja 使用 GnomeDesktopThumbnailFactory 或基於一些類似的程式碼,則縮略圖可能會嵌入其中。這裡有更多細節。
縮略圖名稱是文件路徑的 md5 雜湊值;
file://
+full path
因此:
find ~/.cache/thumbnails -name "$(printf "%s" "$file" | md5sum | cut -d' ' -f1)*"
文件 在哪裡
file:///full/path/to/video.mp4
由於它可能是 PNG,您可以使用 ImageMagick 的
convert
即:convert some_thumbnail.png my_copy.jpg
我不確定您是否一心想要獲得縮略圖顯示的圖像,或者您只是想從影片中獲取“一個”幀來辨識它,但如果您希望是後者,我可以建議使用
cvlc
,這是Linux的命令行界面vlc
。安裝後,它可以非常輕鬆地從 mp4 影片中提取幀(也可以是其他格式,但我需要為我的 Roku 應用程序提供 mp4 影片)。這是我使用的命令:
cvlc my_video.mp4 \ --video-filter=scene \ --start-time=${startINseconds} \ --stop-time=${stopINseconds} \ --scene-ratio=1 \ --scene-prefix=FrameCapture \ --save-path=/some/writable/path/here \ vlc://quit
在哪裡
myvideo.mp4
是要從中提取幀的文件名startINseconds
並且stopINseconds
是您想要開始和停止擷取幀的影片開頭的秒數scene-prefix
是您擷取的幀文件的前綴,後跟序列號save-path
是您要儲存這些擷取的幀的位置。作為額外的建議,拍攝 5 秒的影片並在所有圖片中尋找最大的文件大小,以找到對比度最佳的圖像,這通常是您拍攝的時間範圍的最佳表示。