Python代碼生成視頻的縮略圖的實(shí)例講解
Reddit 上目前充斥著各種機(jī)器人賬號(hào),官方也非常支持這種行為,只要不是無意義的發(fā)言,機(jī)器人多了還能增加活躍度,吸引真人用戶一起來各抒己見,比如說每周都有的一個(gè)“煩人的星期二”的帖子,就是大伙兒吐槽生活中種種煩心事的好地方,因此提供了一整套開發(fā)者 API ,同時(shí) SDK 也不難找,這里有一個(gè)詳盡的列表,大家可以根據(jù)自己的語言喜好隨意取用。
腳本很簡單,真正的困難在于視頻上傳, Reddit 的要求很特殊,有了帖子標(biāo)題和視頻路徑還不夠,還需要提供一張縮略圖, SDK 的文檔也說了,如果不提供,就會(huì)自動(dòng)上傳一張他們的 Logo 作為視頻的縮略圖。這個(gè)時(shí)候,就需要祭出 ffmpeg 了。
安裝
brew install ffmpeg
Python 也提供了 ffmpeg 的一層包裝—— ffmpy ,這層包裝本質(zhì)上是把傳入的參數(shù)翻譯成命令行,調(diào)用 subprocess 來執(zhí)行。比如說官網(wǎng)的示例
>>> import ffmpy >>> ff = ffmpy.FFmpeg( ... inputs={'input.mp4': None}, ... outputs={'output.avi': None} ... ) >>> ff.run()
本質(zhì)上是在命令行中運(yùn)行
ffmpeg -i input.mp4 output.avi
生成縮略圖
簡單寫了個(gè)函數(shù)如下,給定視頻路徑,取第一幀作為縮略圖,保存為 jpg 格式
import ffmpy def get_thumbnail_from_video(video_path): thumbnail_path = video_path.replace(".mp4", ".jpg") ff = ffmpy.FFmpeg( inputs={video_path: None}, outputs={thumbnail_path: ['-ss', '00:00:00.000', '-vframes', '1']} ) ff.run() return thumbnail_path
在這里我簡單假設(shè)視頻的格式都為 mp4 ,所以在路徑上簡單替換了下,沒有進(jìn)行更詳盡的檢查。同樣地,本質(zhì)上是在執(zhí)行
ffmpeg -i video_path -ss 00:00:00.000 -vframes 1 thumbnail_path
這樣發(fā)帖的時(shí)候同時(shí)給出視頻和圖片,一行命令搞定過去各種點(diǎn)擊跳轉(zhuǎn)的操作,十分方便。
如果大家對以上知識(shí)點(diǎn)還有任何疑問,可以聯(lián)系小編,感謝大家對腳本之家的支持。
相關(guān)文章
Python 實(shí)現(xiàn)Serial 與STM32J進(jìn)行串口通訊
今天小編就為大家分享一篇Python 實(shí)現(xiàn)Serial 與STM32J進(jìn)行串口通訊,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python利用matplotlib生成圖片背景及圖例透明的效果
這篇文章主要給大家介紹了Python利用matplotlib生成圖片背景及圖例透明效果的相關(guān)資料,文中給出了詳細(xì)的示例代碼,相信對大家具有一定的參考家價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-04-04python實(shí)現(xiàn)用戶登錄系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)用戶登錄系統(tǒng)的相關(guān)資料,感興趣的朋友可以參考一下2016-05-05Python英文文本分詞(無空格)模塊wordninja的使用實(shí)例
今天小編就為大家分享一篇關(guān)于Python英文文本分詞(無空格)模塊wordninja的使用實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02在win和Linux系統(tǒng)中python命令行運(yùn)行的不同
本文給大家分享的是作者在在win和Linux系統(tǒng)中python命令行運(yùn)行的不同的解決方法,有相同需求的小伙伴可以參考下2016-07-07python創(chuàng)建學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11python實(shí)戰(zhàn)之用emoji表情生成文字
這篇文章主要介紹了python實(shí)戰(zhàn)之用emoji表情生成文字,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05python flask 如何修改默認(rèn)端口號(hào)的方法步驟
這篇文章主要介紹了python flask 如何修改默認(rèn)端口號(hào)的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python selenium爬蟲實(shí)現(xiàn)定時(shí)任務(wù)過程解析
這篇文章主要介紹了Python selenium爬蟲實(shí)現(xiàn)定時(shí)任務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06