日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FFmpeg:截取视频片段转成GIF动画

發布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFmpeg:截取视频片段转成GIF动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前段時間寫過一篇文章,介紹了FFmpeg的幾個常用的命令行。最近,項目里需要做一個把視頻片段轉成GIF動畫的功能,便于用戶分享到微博。驚奇地發現,原來強大的FFmpeg是支持的!

可以簡單地執行下面的命令行:

ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -f gif D:\a.gif

意思是:將D:\Media目錄下的源文件bear.wmv,從第25秒的位置開始,截取10秒長度的視頻轉成GIF文件,保存為D:\a.gif。

想要知道FFmpeg到底支持哪些格式嗎?執行ffmpeg –formats即可。發現gif赫然在列,放心了!

問題來了,你的源文件可能是1080P的高清視頻,幀率可能還比較高。為了便于網絡分享,GIF文件最好小一點。于是,我們需要使用-s參數來進行圖像的縮放,使用-r參數來限制目標文件的幀率。命令行如下:

ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -s 320x240 -f gif -r 1 D:\b.gif

把b.gif拖進瀏覽器預覽,結果發現:雖然幀率降到了1 fps(從源視頻里每隔一秒抽取一幀圖像輸出到目標文件),整個動畫播放還是持續了10秒鐘,看著很揪心!能不能在源視頻跳幀的情況下同時提高GIF的播放速率呢(比如說在2秒內播完)?查了一遍FFmpeg的說明文檔,似乎沒有哪個參數可以快速達到這樣的目的。也罷,那就分兩步走吧:

首先,執行ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -r 1 -s 320x240 -f image2 D:\foo-%03d.jpeg,從源視頻中每秒鐘抽取一幀圖像,保存為一系列JPEG文件。然后,再執行ffmpeg -f image2 -framerate 5?-i D:\foo-%03d.jpeg D:\c.gif,將這一系列JPEG圖像合成為幀率5 fps的GIF文件。Bingo!

上面提到,把GIF文件拖進瀏覽器可以進行預覽。當然,使用ffplay.exe工具也是可以的——命令行:ffplay D:\a.gif。

p.s. 附送一條指令:截取視頻內任意時間點(比如第16.1秒處)的一幀圖像保存為JPEG文件:ffmpeg -ss 16.1 -i D:\Media\bear.wmv -s 320x240 -vframes 1 -f image2 D:\d.jpeg
---------------------?
作者:happydeer?
來源:CSDN?
原文:https://blog.csdn.net/happydeer/article/details/45727227?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的FFmpeg:截取视频片段转成GIF动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。