回答
你可以使用FFMPEG作爲一個獨立的進程(最簡單的方法),並讓它爲你解碼第一個IDR。在這裏,你有一個具有GetThumbnail()方法的類FFMPEG,它傳遞的視頻文件的地址,要做出的JPEG圖像的地址和分辨率,你想要的形象是:
using System.Diagnostics;
using System.Threading;
public class FFMPEG
{
Process ffmpeg;
public void exec(string input, string output, string parametri)
{
ffmpeg = new Process();
ffmpeg.StartInfo.Arguments = " -i " + input+ (parametri != null? " "+parametri:"")+" "+output;
ffmpeg.StartInfo.FileName = "utils/ffmpeg.exe";
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.RedirectStandardOutput = true;
ffmpeg.StartInfo.RedirectStandardError = true;
ffmpeg.StartInfo.CreateNoWindow = true;
ffmpeg.Start();
ffmpeg.WaitForExit();
ffmpeg.Close();
}
public void GetThumbnail(string video, string jpg, string velicina)
{
if (velicina == null) velicina = "640x480";
exec(video, jpg, "-s "+velicina);
}
}
使用像這樣的:
FFMPEG f = new FFMPEG();
f.GetThumbnail("videos/myvid.wmv", "images/thumb.jpg", "1200x223");
對於這個工作,你必須在文件夾/ utils的ffmpeg.exe,或修改代碼,查找ffmpeg.exe。
還有其他方法可以在.NET中使用FFMPEG,就像.NET包裝器一樣,你可以爲他們使用谷歌。他們基本上在這裏做同樣的事情,只是更好。所以如果FFMPEG完成你的工作,我會推薦使用.NET包裝。
謝謝...讓我檢查.net包裝 – CoderHawk 2010-08-27 04:19:04
如何從文件中間的某處獲取幀? – Entity 2011-06-06 18:44:38
參數像-ss 00:00:01.00 – rogerdpack 2011-09-18 05:05:37
可能編程式處理視頻的最佳工具是FFMpeg。它支持多種格式,甚至wmv。我懷疑它甚至有一個.net wrapper。
儘量讓參數字符串格式,如:
ffmpeg.StartInfo.Arguments =" -i c:\MyPath\MyVideo -vframes 1 c:\MyOutputPath\MyImage%d.jpg"
而不是
ffmpeg.StartInfo.Arguments = " -i " + input+ (parametri != null? " "+parametri:"")+" "+output;
在上面提供的答案代碼。
我不知道是什麼原因,但是第二個提到的參數行在我的機器上不起作用,而當我改變了像第一個命令那樣的參數時,它工作正常。
- 1. 將視頻的第一幀和最後一幀保存爲Android上的圖像
- 2. 將flv視頻的第一幀轉換爲jpg圖像
- 3. 保存視頻的幀時不保存任何圖像..
- 4. 將視頻幀保存爲圖像c#,Emgu cv
- 5. 將視頻幀保存爲靜止圖像在Java中
- 6. 如何在iPhone App中將第一幀視頻顯示爲縮略圖圖像?
- 7. ios VLC如何將一幀視頻流轉換爲圖像
- 8. 如何保存視頻的任何幀
- 9. iOS將視頻幀提取爲圖像
- 10. 一幀一幀保存網絡攝像頭視頻
- 11. 將圖像或視頻保存到voldemort
- 12. 如何在視圖載入時獲取視頻的第一幀?
- 13. 如何將攝像頭的視頻流保存爲圖像而不是使用閃存的flv視頻文件?
- 14. 如何提取視頻幀並將它們另存爲使用c + +的圖像
- 15. 如何從視頻/快速視頻中保存圖像?
- 16. 如何將圖像保存爲圖像
- 17. android,將圖像放在視頻幀
- 18. 將視頻分割成幀/圖像
- 19. 將多個圖像保存爲視頻格式的可能性?
- 20. 將JPEG圖像保存爲Android中的視頻
- 21. python圖像幀到視頻
- 22. AS3 - 如何將流式視頻保存到圖像序列?
- 23. 如何將圖像/視頻保存到收藏夾相冊?
- 24. Android:如何將預覽幀保存爲jpeg圖像?
- 25. 如何從視頻裁剪畫布並保存爲圖像?
- 26. 如何將YUV幀轉換爲視頻?
- 27. 如何從視頻保存下一個和當前幀
- 28. autorefresh圖像保存第一個圖像
- 29. 使用AVFoundation的視頻的第一幀
- 30. 將圖像,音頻和視頻保存到SD卡
任何視頻的第一幀通常是黑色的。你會更好地檢查幾個幀並選擇最大的一個(字節大小)。這個信不信由你,是一個很好的近似「最有趣的」,特別是在任何淡出黑色的情況下。 – 2011-01-20 06:42:31