示例#1
0
        static async Task Main(string[] args)
        {
            // this is a big no-no in practice! never hard-code sensitive data or commit it to a repository
            // a better approach would be to use a ConfigurationBuilder instance:
            // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1&tabs=basicconfiguration
            string tenantDomain = "-REPLACE ME-";
            string restApiUrl   = "-REPLACE ME-";
            string clientId     = "-REPLACE ME-";
            string clientSecret = "-REPLACE ME-";

            // initialize media services instance
            MediaServices mediaService = new MediaServices(tenantDomain, restApiUrl, clientId, clientSecret);
            await mediaService.InitializeAccessTokenAsync();

            // generate access policy, asset, and locator instances required for file upload
            string accessPolicyId = await mediaService.GenerateAccessPolicy("TestAccessPolicy", 100, 2);

            Asset asset = await mediaService.GenerateAsset("TestAsset", "your-azure-storage-name");

            Locator locator = await mediaService.GenerateLocator(accessPolicyId, asset.Id, DateTime.Now.AddMinutes(-5), 1);

            // generate a file stream for a video
            FileStream    fileStream = new FileStream("sample-video.mp4", FileMode.Open);
            StreamContent content    = new StreamContent(fileStream);

            // upload the file to azure and generate the asset's file info
            await mediaService.UploadBlobToLocator(content, locator, "sample-video-file.mp4");

            await mediaService.GenerateFileInfo(asset.Id);

            // run an encoding job on the uploaded asset
            string mediaProcessorId = await mediaService.GetMediaProcessorId("Media Encoder Standard");

            var result = await mediaService.CreateJob("Test Encoding Job", asset.Uri, mediaProcessorId, "H264 Multiple Bitrate 720p");
        }