我知道FFMPEG有可能,但如果我有一個部分文件(如沒有開始和結束),該怎麼辦。是可以從中提取一些幀?從MP4/FLV中提取幀?
回答
命令
ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg
將提取幀
- 在 停止之後第二25 -ss○點00分25秒]
- 0.04秒[-t 00開始:00:00.04 ]
- 從輸入文件中讀取YOURMOVIE.MP4
- 僅使用每秒25.0幀,即每1/25秒[-r 25.0]一幀
- 爲JPEG圖像,名稱分別YOURIMAGE%04d.jpg,其中%4d是用前導零 一個4位數字自動增量數
檢查你的電影在應用選項[-r]之前的幀速率,除非您想用自定義速率提取幀,否則適用於[-t]。
儘管如此,從來沒有嘗試過裁剪(損壞?)輸入文件。 值得嘗試。
這可能是非常困難的。 MP4文件格式包括具有指向音頻和視頻「樣本」的指針的'moov'原子。如果你有的mp4文件的片段沒有moov原子,你的工作將會複雜得多。您必須開發邏輯來檢查'mdat'原子(其中包含所有音頻和視頻樣本),並使用有根據的猜測來查找音頻和視頻邊界。
更糟糕的是,如果沒有moov原子,您將不需要解碼片的SPS和PPS。你必須綜合替換;如果您知道用於創建MP4的編解碼器,那麼您可能能夠從類似編碼的文件中複製SPS和PPS;如果不是,則這可能是一個痛苦的嘗試和錯誤的過程,因爲片的語法(H.264編碼的圖片)取決於在SPS和PPS中指定的值。
儘管您的回答很充分,但它是實際上使用FFMPEG等工具可以非常簡單地提取幀和/或編輯視頻。 –
Dayne,重讀有關源文件缺少開頭或結尾的問題的一部分。 –
- 1. Gstreamer從流中提取幀
- 2. 從SWF提取視頻幀
- 3. Java - 從視頻中提取關鍵幀
- 4. 從視頻中提取每秒1幀
- 5. 從MPEG中提取I幀2
- 6. 迅速從視頻中提取幀3
- 7. 如何從視頻java中提取幀?
- 8. 從每幀圖像中提取窗口
- 9. JMF - 從視頻文件中提取幀
- 10. 從圖像中提取單個幀
- 11. iOS從視頻中提取所有幀
- 12. 從VOB(DVD)文件中提取幀
- 13. 迅速從視頻中提取幀
- 14. 如何從組幀中提取幀(子串)
- 15. ffmpeg從iPhone攝像頭提取幀
- 16. 從熊貓數據幀提取信息
- 17. 從h264編碼器提取幀
- 18. 關鍵幀提取從視頻
- 19. ActionScript:從視頻/ NetStream提取/修改幀
- 20. 從多頁面提取幀tiff - c#
- 21. 從H264在MPEG-TS中從H264中提取I幀
- 22. 以編程方式從Flash中的視頻中提取幀
- 23. 從R中的數據幀中提取數據
- 24. 從數據幀列中的字典中提取值
- 25. 從C中的幀中提取錯誤的數據?
- 26. 用matlab提取視頻幀
- 27. 提取android動畫幀
- 28. 從熊貓數據幀中提取值以創建新的數據幀
- 29. 從數據幀列表中提取數據幀並執行計算
- 30. Windows中的ffmpeg關鍵幀提取
我們如何指定提取的JPG圖像的質量? – Rasoul
感謝dawg,這使它成爲我的中介插件(https://github.com/docdawning/mediadrop-handbrake-bot)。 –
使用'-q:v 2'獲得最佳質量(http://stackoverflow.com/questions/10225403/how-can-i-extract-a-good-quality-jpeg-image-from-an-h264 -video-file-with-ffmpeg) – chiliNUT