Azure Media Servicesで動画のエンコード行う際、最近だとMedia Encoder Standardを使うかと思いますが今日はそのスキーマの話です。
エンコードのジョブを作成する際、どういったフォーマットや品質でエンコードを行うか指示するわけですが、通常はプリセットを利用するわけです。
ポータル上でプリセット使う場合に選択するアレですね。なおドキュメントは過剰翻訳されてるというか、英語で見ても翻訳されてたりちょっとイマイチです。(指定するプリセット名が翻訳されてしまってる…)
※実際に指定する際は各プリセットの個別ページに記載されてるやつを使いましょう。
さてもっときめ細かく指定したい場合はカスタムプリセットを作ってエンコードすることもできます。
その際、XML形式とJSON形式を選べるわけですが、XML形式はSchemeが一応公開されてるにも関わらずJSON形式はさっぱりです。
- Media Encoder Standard Schema
- ※こちらも日本語だと一部翻訳が怪しいので英語版で。。
なおたまに見るとUpdateされてたりします。具体的には回転情報を維持するかどうかなど。
今までは黒帯ついたりしてたのでこれでちゃんとできますね。さてJSON形式ですがMSDNライブラリのほうにはないので、Azure公式ドキュメントのほうを探しましょう。と言いたいところですが、肝心なところがGitHubにしかない予感。
こちらにいろいろ載ってるので参考まで。
H.264のプロファイルをBaselineにする方法とかいろいろ。慣れるとXMLのスキーマみてどこに何指定したらいけるかなんとなく判断できますが、基本的にTry&Errorになりそうな気がします。
※変な値指定するとJobでエラー返るので判断はある程度付きます。(ただしある程度)
なおMedia Encoder Standard(だけじゃないかもしれませんが)の裏側はFFmpegなので、FFmpegでできそうなことはだいたいできると思います。FFmpegバンザイ。(プリセットの内容みて引数生成してるだけな気がする)
まぁそんな感じでMedia Servicesをお楽しみください。