回答
無損地提取所有幀,使用
ffmpeg -i "$input_file" -f image2 "outdir/%05d.png"
如果你喜歡一個不同的輸出格式,只是改變.png
;默認ffmpeg
將從該擴展中推斷文件類型。
選項-f image2
告訴ffmpeg
寫入一系列圖像。 "outdir/%05d.png"
給出了一個文件名模式,在這種情況下「5-digit frame number.png
」。
如果您只想提取每秒n幀,請在"$input_file"
之後添加選項-r n
。 (我認爲ň可以浮點)。
在您的影片的Motion JPEG(MJPEG)的情況下,改用:
ffmpeg -i "$input_file" -vcodec copy -f image2 "outdir/%05d.jpg"
這直接從視頻流解壓縮幀,這是更快,顯然使用更少的磁盤空間。
欲瞭解更多信息,請參閱手冊頁或the documentation(搜索image2
)。
這是一個更好的答案。 –
您可以使用ffmpeg和-vcodec png
來完成此操作。例如,這將轉化成my_video.avi幀,五位數字:
的ffmpeg -i my_video.avi -vcodec PNG幀%05d.png
您還可以根據需要指定所需幀率和分辨率。您可以運行ffmpeg -codecs
查看所有可用的格式。
謝謝!我很高興這很容易。 –
你有沒有試過,你確定它有效?它支持jpg,gif,bmp嗎? –
我試過了。您可以運行'ffmpeg -codecs'來查看支持的內容。 Gif和bmp似乎在那裏;不確定關於JPG。 –
也許你可以在ffmpeg的libavcodec
庫中使用apiexample.c
,它可以讓你看到如何獲取一個幀緩衝區,以便輕鬆地在MPEG流中進行編碼。
或者,您可以使用Gstreamer這是一個更加整潔的框架。
對於Java,請嘗試使用Java Media Framework。
- 1. 媒體基礎將原始像素幀轉換爲MPEG視頻
- 2. 如何將位圖轉換爲視頻?
- 3. 將MicrosoftOffice Docs + PDF +圖像++音頻/視頻轉換爲SWF文件
- 4. 如何將Bystream視頻轉換爲java中的文件視頻
- 5. 將圖像轉換爲視頻
- 6. 將PNG圖像轉換爲視頻
- 7. 將圖像轉換爲視頻
- 8. FFMpeg:將圖像轉換爲視頻
- 9. 將圖像序列轉換爲視頻
- 10. 轉換avi視頻文件爲mpeg格式使用C#
- 11. 如何將E01圖像文件轉換爲dd圖像文件?
- 12. 如何將PNG圖像數據數組轉換爲視頻文件
- 13. 如何將圖像轉換爲iPhone上的視頻?
- 14. 如何將視頻轉換爲iPhone中的GIF圖像?
- 15. ios VLC如何將一幀視頻流轉換爲圖像
- 16. 如何將jpeg圖像序列轉換爲視頻格式?
- 17. 如何將圖像轉換爲Windows Phone 7中的視頻
- 18. 如何使用java將.gif圖像轉換爲.avi視頻?
- 19. 如何使用JCodec將一系列圖像轉換爲視頻?
- 20. 如何使用ffmpeg將webp圖像轉換爲MP4視頻
- 21. 如何將圖像轉換爲android中的視頻
- 22. 如何將視頻轉換爲圖像序列
- 23. 如何在android中使用javacv將圖像轉換爲視頻?
- 24. 如何將視頻轉換爲C#中的圖像?
- 25. 如何將視頻流轉換爲android中的圖像?
- 26. 如何成功使用ffmpeg將圖像轉換爲視頻
- 27. 將圖像轉換爲Android中的單個視頻文件
- 28. 在MATLAB中將圖像文件轉換爲AVI視頻
- 29. 將視頻文件轉換爲等長的圖像序列?
- 30. 如何將Java圖像集合轉換爲CvArr
Don Reba現在的答案很好,我會接受它,除非有人提供更徹底的答案。很明顯,我可以看看ffmpeg的源代碼來查看細節,但是如果有一個參考比原始代碼更容易閱讀,那麼將會被讚賞。另外,Java中有沒有這樣的庫? –