Cajaに表示されているビデオからサムネイルを抽出する

Cajaに表示されているビデオからサムネイルを抽出する

Caja(Cajaは私のLinuxバージョン(Mint MATE)のファイルエクスプローラプログラムです)からビデオファイル(たとえばflv、mp4)を含むフォルダに移動すると、小さなサムネイルが表示されます。

これはどこから来たのですか?動画のメタデータ/タイトルに保存されていますか? Linuxで動的に計算されますか?または他のもの?

この画像を抽出してjpgとして保存できますか?

答え1

~/.cache/thumbnailsCajaが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

答え2

画像をサムネイルとして表示することに夢中であるのか、ビデオで「1つの」フレームだけを識別したいのかはわかりませんが、必要に応じて後者を使用することをお勧めしますcvlc。以下はvlcLinuxラインインタフェースのコマンドです。一度インストールすると、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フレームを抽出するファイル名。

  • startINsecondsstopINsecondsビデオの開始からフレームキャプチャを開始および停止するまでの時間(秒単位)。

  • scene-prefixキャプチャされたフレームファイルのプレフィックスで、その後にシーケンス番号が続きます。

  • save-pathキャプチャされたフレームを保存したい場所。

追加のアドバイスで約5秒分のビデオをキャプチャし、すべての写真の中で最大のファイルサイズを見つけて、コントラストの良い画像を見つけます。これは通常、キャプチャした時間枠を最もよく表現することです。

関連情報