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

関連記事

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

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

記事を読む

Visual Studio 2015 Express の Language Pack

探してみたけど見当たらなかったのでメモ残し。 Visual Studio 2015 には言語パック

記事を読む

no image

FixedDocumentの印刷およびXPS形式での保存

こんにちは。 以前、XAMLファイルを帳票テンプレートとして動的ロードする記事を掲載しました。

記事を読む

no image

RPi3 OmxPlayer / VLC Player 連続再生2回目から映像が乱れる問題

Raspberry Pi 3 Model の Ubuntu や Raspbian で OmxPlay

記事を読む

Flowで毎月の定期タスク設定

Flow を使い始めてみた。 Requrrenceで時間をトリガーにすることが出来るがSecond

記事を読む

no image

Xamarin.Forms.Xaml名前空間のXAMLマークアップ拡張のメモ

MarkupExtensionsのメモ。あとで確認用 ArrayExtension Bindin

記事を読む

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

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

記事を読む

Visual Studio Team Services ダッシュボードを自動更新する

Visual Studio Team Services のダッシュボードでプロジェクトや運用状況のサ

記事を読む

no image

Xamarin.Forms で ScrollView の中に Map を配置したとき、Androidで地図のスクロールが出来なくなる

iOSは問題ないけど、AndroidはScrollViewにタッチを持ってかれてる感じ。 カスタ

記事を読む

no image

Xamarin.Android フルスクリーン

自分用メモです。

記事を読む

Message

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

PAGE TOP ↑