1

Windows Azure Media Services でホストされているビデオのビデオ プレーヤーとして OSM Player を使用しようとしています。残念ながら、OSM Player ではこれらのファイルを再生できないようです。

私が取った手順は次のとおりです。

  1. Windows Azure 管理コンソール内でメディア サービスをセットアップします。
  2. 「コンテンツ」タブから、動画ファイルをアップロードします。正確なビデオ ファイルは、 https ://archive.org/download/Windows7WildlifeSampleVideo/Wildlife_512kb.mp4 にあります。
  3. アップロードが成功したら、ビデオをクリックしてから「エンコード」をクリックしました
  4. エンコーディング オプションから、共通プリセット「HTML5 経由で再生 (IE/Chrome/Safari)」を選択しました。
  5. 次に、「チェックボックス」をクリックしました。
  6. エンコードが成功したら、公開ボタンをクリックしました。生成された URL は次のようになります。 c&si=[xxx]&sig=[xxx]

URL の潜在的に機密性の高い部分は [xxx] に置き換えられました。

このビデオで OSM Player を使用しようとすると、ビデオが読み込まれません。Windows Azure Media Services でホストされているビデオを操作するために OSM Player を入手した人はいますか? その場合、エンコードまたは再生に使用する必要がある特別な設定はありますか?

ありがとう!

4

1 に答える 1

1

ポータルの [HTML5 (IE/Chrome/Safari) による再生] オプションは、Azure Media プリセットの "H264 ブロードバンド 720p" にマップされます。(システム プレゼントの利用可能なリストについては、http://msdn.microsoft.com/en-us/library/azure/dn619392.aspxを参照してください)。このプリセットは、単一のビットレート mp4 ファイル、拡張子が *.ism のマニフェスト ファイル、およびメタデータを含む 2 つの xml ファイルを生成します。

リストした URL はアセット コンテナーへの URL であり、使用する必要がある mp4 ファイルへの URL ではありません。osm プレーヤーを介してアセットを再生するには、Azure Storage (SAS Locator) をポイントする方法と、Azure Media Services オリジン サーバーをポイントする方法の 2 つがあります。以下の例は、両方のシナリオで uris を作成する方法を示しています。URI の構造は、sdk 拡張メソッドで簡素化されました。https://github.com/Azure/azure-sdk-for-media-services-extensionsでロケーター拡張機能を参照してください。

        //Fetching existing job
        IJob job = _mediaContext.Jobs.Where(c => c.Id == "nb:jid:UUID:29e033f5-402d-bc47-8f8d-56d83ff6915c").FirstOrDefault();
        //Assume it has 1 output asset
        IAsset asset = job.OutputMediaAssets[0];

        //Access policy to publish asset for 5 days
        const string days = "5days";
        IAccessPolicy policy  = _mediaContext.AccessPolicies.Where(c=>c.Name == days).FirstOrDefault();

        //If not exists we creating access policy
        if (policy == null)
        {
            policy =_mediaContext.AccessPolicies.Create(days, TimeSpan.FromDays(5), AccessPermissions.Read | AccessPermissions.List);
        }

        //Remove previously used locators
        _mediaContext.Locators.ToList().ForEach(c=>c.Delete());

        //Creating Sas Locator. Users directly access asset through Azure storage
        ILocator sasLocator = _mediaContext.Locators.CreateLocator(LocatorType.Sas, asset, policy);
        IAssetFile mp4File = asset.AssetFiles.Where(c => c.Name.Contains(".mp4")).FirstOrDefault();
        string srcUri = sasLocator.BaseUri + "/" + mp4File.Name + sasLocator.ContentAccessComponent;

        //Creating OnDemandOrigin Locator. Users access assets through origin server
        ILocator ondemandOriginLocator = _mediaContext.Locators.CreateLocator(LocatorType.OnDemandOrigin, asset, policy);
        IAssetFile ismFile = asset.AssetFiles.Where(c => c.Name.Contains(".ism")).FirstOrDefault();
        string ondemandUri = ondemandOriginLocator.Path + ismFile.Name +"/Manifest";
于 2015-01-06T23:09:34.513 に答える