簡體   English   中英

縮略圖視頻C#

[英]Thumbnail video C#

是否可以在C#中創建視頻的縮略圖圖像(如第一幀)?

稍微更新:因為我正在使用Flex來顯示視頻,所以我需要在C#中使用FLV視頻的縮略圖。 是的,鏈接到某些庫會很有用。

我可以想到兩個選項:

  1. 使用外部工具(如ffmpeg )生成縮略圖。 這可能是此問題最常用的解決方案。
  2. 解析FLV文件,僅將文件發送到第一個I幀的末尾。 (您可以在代碼中找到解析邏輯,允許您通過時間標記搜索到FLV的中間。

您可以使用開源庫來執行此操作。 查看OpenCVDotNet ,一個用於OpenCV的托管.NET包裝器,一個“計算機視覺”庫。 這是您可能覺得有用的教程的鏈接

這有效:

ShellFile thumbNail = ShellFile.FromFilePath(<fullpath and filename>);
Bitmap thumbSmall = thumbNail.Thumbnail.MediumBitmap;
Bitmap thumbLarge = thumbNail.Thumbnail.LargeBitmap;
videoThumb_Small.Images.Add(thumbSmall);
videoThumb_Large.Images.Add(thumbLarge);

哪里'videoThumb _ ?????' = ImageList(在哪里控制要再次顯示的圖像的大小)。 搜索不同的MIME格式時速度很慢,但使用相同類型的速度足夠快。 需求:

using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack;

並且您可以從具有相同名稱的nuget包中獲取Microsoft.WindowsAPICodePack。 至於FFMpeg,Vlc.Dotnet或aXMediaPlayer(WMP),我們都測試了它們(Vlc甚至不能正常工作,FFmpeg再次需要5億行才能獲得相同的結果和aXMediaPlayer,呵呵)他們除了那個Windows原生之外。

例如,如果你正在使用ListView甚至子項目:

for(int mememe = 0; mememe < stuff_counter; mememe++)
{
listview1.Items.Add("strings", mememe).SubItems.Add("strings" + mememe.ToString());
}

然后從ImageList讀取正確的索引號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM