2013年06月03日

IIS Transform ManagerとExpression EncoderというMicrosoft製品で、iOS用のHLS用の動画ファイルm3u8とTSファイルを作成してみた

このエントリーをはてなブックマークに追加
紹介するには少し古いのですが、最近Microsoftの技術による、HLS通信用ファイル作成の方法を一つ教えてもらったので記載しておきます。Microsoftが販売し、くしくも今年で販売を停止してしまうエンコーダ「Exspression Encoder Pro4」と、IISのTransform Managerを利用する方法です。

僕のPCがWindows7ですので、今回は以下の環境でインストールしてみました。
・Expression Encoder Pro4.0
・IIS 7.0
・IIS Transform Manager 1.0

Expression Encoder Pro 4.0は別途購入してインストールしています。IIS Transform Manager1.0は下記のサイトからダウンロードし、インストールしました。
http://www.iis.net/downloads/microsoft/transform-manager

仕組みをザクっと説明すると、インストールされたExpression EncoderをIIS Transform Managerが操作して、自動的にHLSに対応したファイルを作成するということです。ただし一度、SmouthStreaming形式にエンコードしたのちにHLS形式に変換するという2段階の対応となります。

また今回のエントリーは下記の英語ページでもっと詳しく書いていますので、英語で不自由のない方はこちらからどうぞ。
http://www.iis.net/learn/media/transform-manager/transforming-media-files-to-apple-http-live-streams

IIS Transform Managerの起動

僕のPCにIIS Transform Managerをインストールし起動させると、サービスをスタートする前にPC内のユーザーでログオンすることを求められました。IIS Transform Managerの右ペインにある「Set Credentials」というリンクをクリックすると、サービスへのログイン画面が表示されますので、自分のPCのアカウント、パスワードでログインしたのち、同様に右ペインにある「Start IIS Transform Manager」というリンクをクリックすれば、サービスが起動されます。

JobTemplateの設定

IIS Transform Managerでは、ジョブを作成して、そのジョブをキューとして実行するという仕組みとなりますので、まずはジョブを作成する必要があります。EE4を利用してHLS形式のファイルを作成するジョブはテンプレートとして作成されていますので、それを使うのが便利です。

「Job Template」を選択します。
IISTM001.png
一覧にある「Video files to H.264 Smooth Sreams and Apple HTTP Live Streams」を選択肢、左ペインにある「Edit」リンクをクリックします。
IISTM002.png

「Task definitions」の一覧にタスクが2つ並んでいますが、今回する処理は先ほど説明したとおりで、EE4を使ってスムースストリーミング形式にエンコード、さらにスムースストリーミング形式からHLS形式に変換というタスクが2つ実行されることをこのタスク一覧が表しています。

それぞれのタスクを編集するには、それぞれの列を選んで「Edit」ボタンをクリックします。Edit画面でそれぞれの変換に対する細かい設定ができるようになっています。便利なのは、Expression Encoderでエンコードするときに、Expression Encoderで作成したプリセットのXMLを再利用できることですね。

あと注意点は、2つのジョブで作成されるファイルをアウトプットするフォルダを設定する場所があります。ここで設定されたフォルダに出力されるわけですが、絶対的なパスは、後ほど指定するWatch Folderの方でも指定することになりますので、ここは気をつけておきましょう。

ジョブの設定が完了したら、この画面の「OK」ボタンをクリックして完了です。

Watch Folderの設定

Watch Folderというのはジョブを監視するフォルダという説明でよいかと思います。Watch Folderの設定で、ここで指定したフォルダに何かアクションが起きたときに、先ほど指定したジョブが実行されるということになります。

右ペインの「Watch Folder」を選択してください。
IISTM003.png
一覧にある「Video files to H.264 Smooth Streams an Apple HTTP Live Streams」を選択して、左ペインの「Edit」リンクをクリックします。
IISTM004.png
デフォルトで設定されている「Wacth folder path」と「Log folder path」は存在しないフォルダが指定されていたので、PCに存在しているフォルダに指定しなおしてください(僕のPCだけの現象なのかもしれませんが)。動画形式を絞るなどの必要があれば、「File filter」欄で指定してください。例えば「*.mp4」とか。スケジュールなども設定することができますね。その他設定事項が完了すれば、この画面の「OK」ボタンをクリックしてください。

あとはWatch Folderを動かす必要があります。
まずは、左ペインから「Enable」を選択してください。その後左ペインから「Start」を選択するとWatch Folderは準備完了ということになります。

ジョブを動かしてみる

Watch Folderで指定したフォルダにパスにMP4などの動画ファイルをコピーしてみてください。コピーが完了した時点から自動的にジョブが実行されます。ジョブの実行状態は、IIS Transform Managerの「Job Monitor」を見れば、あと何%処理が完了しているか、棒グラフで表示してくれます。

ジョブの終了

ジョブが成功して終了すると以下のようなフォルダにm3u8ファイルとTSファイルが作成されています。
(Watch Folderで指定したパス)\WorkQueue\Finished\(任意のフォルダ名)\AppleOutput

このファイルをIIS Media Service上にアップロードして、HTML書いたらiPhoneやiPadで動画を閲覧することができる、ということになります。

駆け足で説明しましたが、以上になります。

今度時間を見つけて、今回作成した動画ファイルをIIS Media Service、あるいはWindows Azure Media Servicesで配信するということを実施してみたいと思います。

posted by motti at 20:33 | スマホ/タブレット | このブログの読者になる | はてなブックマークに追加
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。