今天利用 FFmpeg -h > ffmpeg.txt,把FFmpeg的命令轉到文件仔細看看後,才發現了這一參數:

-ss time_off set the start time offset

使用-ss參數,可以從指定的時間開始處理轉換任務.如:

ffmpeg -i test2.asf -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg

那麼從任意一幀截圖的問題也就解決了.只要-ss後的時間參數是隨機產生,並且在視頻的有效時間內,就可以了.

另外,-ss後跟的時間單位為秒。

另外,通過指定-ss,和-vframes也可以達到同樣的效果。

這時候-ss參數後跟的時間有兩種寫法,hh:mm:ss 或 直接寫秒數 :

ffmpeg -i test.asf -y -f  image2  -ss 00:01:00 -vframes 1  test1.jpg

ffmpeg -i test.asf -y -f  image2  -ss 60 -vframes 1  test1.jpg

這樣輸出的圖片是相同的。

總結用法:
截取一張352x240尺寸大小的,格式為jpg的圖片:
ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg


把視頻的前30幀轉換成一個Animated Gif :
ffmpeg -i test.asf -vframes 30 -y -f gif a.gif


使用-ss參數,可以從指定的時間開始處理轉換任務 :
ffmpeg -i test2.asf -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg
arrow
arrow
    全站熱搜

    kevin0523 發表在 痞客邦 留言(0) 人氣()