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");
}

関連記事

Xamarin.Forms で NavigationPage を PushModalAsync すると例外が発生するときがある

Forms 2.3.4.231 Mapコントロールがあるページで、NavigationPage

記事を読む

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

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

記事を読む

拡張温度に対応した Windows 10 IoT Core ボード

Windows 10 IoT Core 対応ボード その2 こっちは拡張温度対応している。 Ban

記事を読む

no image

【C#, WPF】XMLデータをListViewに表示し、チェック項目のみXML保存させる

前回の続きというか、WPF版。 <Window x:Class="MyWP

記事を読む

【iPhoneアプリ】リリース手順〜審査申し込み〜

初めてiPhoneアプリを作成したがリリース手順が 手元の参考書と全然違って困ったのでメモ。

記事を読む

Visual Studio Team Services で 新規プロジェクトを作成するときの自分用初期設定メモ

新規プロジェクト作成 Version control -> Git Work item proc

記事を読む

no image

【ストアアプリ】資格情報の保存と読み込み

こんにちは。 Windowsストアアプリで資格情報をセキュアに保存する方法について。

記事を読む

no image

Microsoft Flow 入門

社内LT用

記事を読む

画面設計デザイン時の無料画面イメージ作成ツール

画面デザイン全般に使っているツールを紹介。 Webアプリ作成時のワイヤーフレームや、 ス

記事を読む

WordPressでスパムコメント対策

WordPressのスパムコメント対策を行ったのでメモ。 標準でAkismetがインストール済み(

記事を読む

Message

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

PAGE TOP ↑