舉個例子,阿原拍孩子投籃,使用手機拍照,好處是解析度可以大,但不容易抓到瞬間。於是阿原用錄影。每次投每次錄,總會拍到進球的畫面,再來擷取影響。
今天 20240721 想到,既然影片每秒 30 張,是否可以把 mp4 影片檔,還原成單張照片? 如果可以,投籃關鍵一秒,我只需要從 30 張當中取出 3 張照片。
The Will Will Web
記載著 Will 在網路世界的學習心得與技術分享
social media - facebook social media - twitter social media - plurk rss
介紹好用工具:FFmpeg (強大的錄影、轉檔、串流工具與函式庫)
文章提到 (黃底是引用原文)
3. 直接將影片中所有影格(Frame)都擷取成 PNG 圖片
ffmpeg -i test.mp4 'test-screenshot-%04d.png'
---這就是阿原想要的,現在來試試看
2. Output seeking
先對 test.mp4 進行影片解碼,再依據要截圖的時間位置,讀取該時間點位置的畫面:
ffmpeg -i test.mp4 -ss '01:20:29' -frames:v 1 out2.jpg
--阿原將測試
這是阿原開箱線上購物,設定 720p, 影片 2 min 4 sec, 影片 112.6 MB
利用 ffmpeg 指令解開,是 3745 個 png 檔,一共 4.7 GB (剛開始愣住,後來想到 mpeg4 的原理,就想通了)----完全順利,只是總檔案的大小,4.7 GB 超過我原先預期
3745 pictures / (2*60+4 = 124 sec) ---> 30.201612903 pic/sec 每秒大約 30 張