Microsoft.Expression.Encoderで動画のフレーム画像を取得

公開日: : Blog, Microsoft , ,

動画ファイルから指定したフレーム画像を取得する。
Microsoft.Expression.Encoderを使う方法。

Microsoft Expression Encoder 4

Microsoft.Expression.Encoder.AudioVideoFileクラス

AudioVideoFileコンストラクタにファイルパスを渡す。
エンコードはSDK側でやってくれる。(MOVファイルの場合は多分QuickTimeのインストールが必要)

AudioVideoFileインスタンスからはフレームレート、解像度、フレーム数などが取得できる。

AudioVideoFile.GetThumbnailメソッド

GetThumbnailメソッドでBitmapインスタンスを取得する。
ThumbnailGeneratorを通して同じことも出来る。
今回困ってるのは、1フレームの切り出しに0.3秒ほどかかってしまうこと。
もっと高速に出来る方法、SDKなどないかなぁ。

//using Microsoft.Expression.Encoder;
static void Main(string[] args)
{
    var videoFile = new AudioVideoFile(@"C:\Users\xxxx\sample.mov");

    //var frameRate = videoFile.VideoStreams[0].FrameRate;
    //var videoHeight = videoFile.VideoStreams[0].VideoSize.Height;
    //var videoWidth = videoFile.VideoStreams[0].VideoSize.Width;
    //var total = videoFile.Duration.TotalMilliseconds;

    var thumbnail = videoFile.GetThumbnail(
        TimeSpan.FromMilliseconds(1000),
        videoFile.VideoStreams[0].VideoSize);

    thumbnail.Save(@"C:\Users\xxxx\sample.bmp");
}

関連記事

IntelliTestはどこまでカバーしてくれるのか

私はレガシーな開発環境・案件が多かったのですが、 この頃、ユニットテストを利用する機会が増えてきま

記事を読む

no image

Expression Encoder を組み込んだアプリケーションを配布する際のライセンス問題

Windowsアプリケーションにメディア編集機能を実装したい場合に、Expression Encod

記事を読む

no image

Microsoft.OData.Clientでフォーム認証を行う

構成 サーバー ** Azure API Apps ** ASP.NET Web API クライ

記事を読む

[OxyPlot]errro CS0117: ‘Resource.Attribute’ に ‘mediaRouteSettingsDrawable’ の定義がありません

Xamarin.Formsでグラフ描画を行う方法のひとつにOxyPlotというライブラリがある。

記事を読む

UWPをHockeyApp対応させる

走り書きメモ。 UWPをHockeyApp対応させるためにはNuGetパッケージを使ってモジュール

記事を読む

no image

UWPでローカルにNoSQLデータベースを作成したい

LiteDBを使う CRUDの例 公式サンプルのとおりやるとデータソース指定のときに権限エ

記事を読む

SIPSorceryにて、「型 ‘log4net.ILog’ が参照されていないアセンブリで定義されています。」

ある時、SIPクライアントの開発を行っていた。 SIPクライアントライブラリの選定にあたって S

記事を読む

no image

Windows10 IoT CoreでWindowsアップデートの自動実行を停止する

Manage IoT Core device updates このリンクにアップデートコントロール

記事を読む

no image

UWPでOSバージョン番号の取得

Windows.System.Profile.AnalyticsInfo.VersionInfo.D

記事を読む

no image

【.NET】正規表現の復習

正規表現エンジン System.Text.RegularExpressions.Regexオブジェ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑