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

関連記事

no image

KeyboardNavigation以外でFocusVisualStyleを表示させる

WPFです。 結論としてはリフレクションで無理やりやれなくはなさそうという感じ。 元ネタはMSDN

記事を読む

【ストアアプリ】バッジ通知(BadgeUpdateManager)について

こんにちは。 前回のタイル通知にバッジ通知を追加しました。 以下を参考に。 https

記事を読む

【.NET】【WPF/XAML】ローカルPDFを画面に表示する

[crayon-5b4d2deb81148540504748/] [vb] Public

記事を読む

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

This project references NuGet package(s) that are missing on this computer.

.nugetフォルダが設定されているソリューションから一部プロジェクトのみを抜き出すと発生する。 N

記事を読む

【iPhoneアプリ】リリース手順〜iTunesConnect登録〜

AppStoreに有料アプリ、iAdアプリを公開するためには、 iTunes Connectで

記事を読む

Xamarin iOS, Android での位置情報、Bluetoothの有効化メモ

OSが勝手に出してくれたりくれなかったりのところを整理するためのメモ 諸事情によりサンプルはXama

記事を読む

Xcode標準テンプレート

Xcodeで新規Projectを作成した時にテンプレートを選ぶことが出来る。 「Choose a

記事を読む

no image

【.NET】正規表現の復習

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

記事を読む

no image

【ストアアプリ】バックグラウンドタスクを作成する

こんにちは。 Windows.ApplicationModel.Background名前空間を使用

記事を読む

Message

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

PAGE TOP ↑