我想從視頻文件中使用ffmpeg獲取海報幀。使用ffmpeg獲取海報幀(縮略圖)
我一直在關注這個tutorial,並拿出了下面的代碼(這是採取/從我給的鏈接,其適於):
public bool GetVideoThumbnail(string path, string saveThumbnailTo, int seconds)
{
string parameters = string.Format("-i {0} {1} -vcodec mjpeg -ss {2} -vframes 1 -an -f rawvideo", path, saveThumbnailTo, seconds);
if (File.Exists(saveThumbnailTo))
{
return true;
}
else
{
using (Process process = Process.Start(pathToConvertor, parameters))
{
process.WaitForExit();
}
return File.Exists(saveThumbnailTo);
}
}
目前,此代碼是成功的正確創建文件目的地(saveThumbnailTo)只有圖片是完全黑色的。我已經嘗試更改代碼中的秒數值,以確保我不僅從視頻開頭獲得空白圖片。順便說一下,路徑指的是我的視頻存儲位置。
我目前調用上面的代碼如下所示:
GetVideoThumbnail(videoPath, folderPath + "/poster.jpg", 100)
..和然後傳遞出來給我的視圖來顯示圖片。我只是想知道「.jpg」是否是我應該給這個文件的擴展名,因爲我不完全確定?
編輯:當我運行在命令行中,我得到了下面的錯誤相同的命令:
,其顯示爲黃色不兼容的像素格式「YUV420P」編解碼器「MJPEG」,自動選擇 格式「yuvj420p」
,和
[IMAGE2 @ 02S96AE0]無法獲取幀filen ame number 2 from pattern 'poster.jpg'an_interleaved_write_frame():無效參數
以紅色顯示。
任何人都可以幫助我正確地工作,因爲我完全不熟悉ffmpeg命令行,不知道我做錯了什麼。我試圖刪除vcodec參數並獲得相同的錯誤消息。
你有沒有試圖消除-vcodec參數? –
是的,但仍然得到相同的錯誤信息,我會更新我的問題 – DevDave
您可以嘗試添加:-r 1 –