影片中每 XX 秒建立一個影像

影片中每 XX 秒建立一個影像

螢幕截圖:底片

我試過ffmpeg -i video.mkv -vf fps=1 out%d.png

但它正在生成一張一張的圖像。我需要將所有縮圖合併到一張圖像中。如上面的螢幕截圖所示。

答案1

在此輸入影像描述

ffmpeg -i input -filter_complex \
"select='not(mod(n,30))',scale=120:-1,tile=layout=3x2" \
-vframes 1 -q:v 2 output.jpg
  • 選擇每 30 秒一幀
  • 規模每個框架都縮小(或者您可以在平鋪後縮放)
  • 每一格變成一張影像。預設網格大小為 6x5,因此您可能需要layout根據要顯示的影像數量進行調整。

過程可能需要一些時間,具體取決於您的輸入持續時間和格式。

答案2

你可以使用類似的東西

ffmpeg -i video.mkv -filter:v "select=not(mod(n\,10)),setpts=N/((25)*TB)" -qscale:v 2 frame%03d.jpg
  • 控制select您要抓取的畫面(在本例中為十分之一)
  • 控制setps幀速率並取決於您的訊號源 - 25PAL 或30000/1001NTSC 視頻
  • qscale將輸出幀的品質(量化比例)控制在 2(最佳)到 31(最差)之間

剛剛注意到您上面的編輯,如果這為您提供了您想要使用的框架,那麼作為起點就可以了

然後,您需要使用類似的工具將影像拼接到單一資產中圖像魔術師

montage -background "transparent" -depth 8 -type TrueColorMatte frame??.jpg \
    -geometry 50x50 -tile 10x10 -matte -transparent "transparent" \
    -type TrueColorMatte -depth 8 allframes.jpg

相關內容