Publicera Media Services-innehåll med hjälp av .NETPublish Media Services content using .NET

ÖversiktOverview

Du kan strömma en anpassningsbar bithastighet MP4-uppsättningen genom att skapa en OnDemand-positionerare för direktuppspelning och att skapa en strömnings-URL.You can stream an adaptive bitrate MP4 set by creating an OnDemand streaming locator and building a streaming URL. Den koda en tillgång avsnittet visar hur du koda till en med anpassningsbar bithastighet MP4-uppsättningen.The encoding an asset topic shows how to encode into an adaptive bitrate MP4 set.

Anteckning

Om ditt innehåll är krypterad, konfigurera principen för tillgångsleverans (enligt beskrivningen i detta avsnittet) innan du skapar en positionerare.If your content is encrypted, configure asset delivery policy (as described in this topic) before creating a locator.

Du kan också använda en OnDemand-strömning positionerare för att skapa webbadresser som pekar på MP4-filer som kan laddas ner progressivt.You can also use an OnDemand streaming locator to build URLs that point to MP4 files that can be progressively downloaded.

Det här avsnittet visar hur du skapar en OnDemand-strömning positionerare för att publicera tillgången och bygg ett Smooth, MPEG DASH och HLS-direktuppspelning URL: er.This topic shows how to create an OnDemand streaming locator to publish your asset and build a Smooth, MPEG DASH, and HLS streaming URLs. Den visar även hett för att skapa URL: er för progressiv nedladdning.It also shows hot to build progressive download URLs.

Skapa en OnDemand-positionerare för direktuppspelningCreate an OnDemand streaming locator

Om du vill skapa en OnDemand-positionerare för direktuppspelning och få URL: er, måste du göra följande:To create the OnDemand streaming locator and get URLs, you need to do the following things:

  1. Om innehållet krypteras, definiera en åtkomstprincip.If the content is encrypted, define an access policy.

  2. Skapa en OnDemand-positionerare för direktuppspelning.Create an OnDemand streaming locator.

  3. Om du planerar att strömma få strömmande manifestfilen (.ism) i tillgången.If you plan to stream, get the streaming manifest file (.ism) in the asset.

    Om du planerar att progressivt hämta namnen på MP4-filer i tillgången.If you plan to progressively download, get the names of MP4 files in the asset.

  4. Skapa URL: er i manifestfilen eller MP4-filer.Build URLs to the manifest file or MP4 files.

Anteckning

Det finns en gräns på 1 000 000 principer för olika AMS-principer (till exempel för positionerarprincipen eller ContentKeyAuthorizationPolicy).There is a limit of 1,000,000 policies for different AMS policies (for example, for Locator policy or ContentKeyAuthorizationPolicy). Använd samma princip-ID om du alltid använder samma dagar / åtkomstbehörigheter.Use the same policy ID if you are always using the same days / access permissions. Till exempel principer för positionerare som är avsedda att vara på plats under en längre tid (icke-överföringsprinciper).For example, policies for locators that are intended to remain in place for a long time (non-upload policies). Mer information finns i detta avsnitt.For more information, see this topic.

Använd Media Services .NET SDKUse Media Services .NET SDK

Skapa strömmande URL: erBuild Streaming URLs

    private static void BuildStreamingURLs(IAsset asset)
    {

        // Create a 30-day readonly access policy. 
          // You cannot create a streaming locator using an AccessPolicy that includes write or delete permissions.
        IAccessPolicy policy = _context.AccessPolicies.Create("Streaming policy",
            TimeSpan.FromDays(30),
            AccessPermissions.Read);

        // Create a locator to the streaming content on an origin. 
        ILocator originLocator = _context.Locators.CreateLocator(LocatorType.OnDemandOrigin, asset,
            policy,
            DateTime.UtcNow.AddMinutes(-5));

        // Display some useful values based on the locator.
        Console.WriteLine("Streaming asset base path on origin: ");
        Console.WriteLine(originLocator.Path);
        Console.WriteLine();

        // Get a reference to the streaming manifest file from the  
        // collection of files in the asset. 
        var manifestFile = asset.AssetFiles.ToList().Where(f => f.Name.ToLower().
                                    EndsWith(".ism")).
                                    FirstOrDefault();

        // Create a full URL to the manifest file. Use this for playback
        // in streaming media clients. 
        string urlForClientStreaming = originLocator.Path + manifestFile.Name + "/manifest";
        Console.WriteLine("URL to manifest for client streaming using Smooth Streaming protocol: ");
        Console.WriteLine(urlForClientStreaming);
        Console.WriteLine("URL to manifest for client streaming using HLS protocol: ");
        Console.WriteLine(urlForClientStreaming + "(format=m3u8-aapl)");
        Console.WriteLine("URL to manifest for client streaming using MPEG DASH protocol: ");
        Console.WriteLine(urlForClientStreaming + "(format=mpd-time-csf)"); 
        Console.WriteLine();
    }

Utdata:The outputs:

URL to manifest for client streaming using Smooth Streaming protocol:
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny.ism/manifest
URL to manifest for client streaming using HLS protocol:
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny.ism/manifest(format=m3u8-aapl)
URL to manifest for client streaming using MPEG DASH protocol:
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny.ism/manifest(format=mpd-time-csf)

Anteckning

Du kan också strömma ditt innehåll över en SSL-anslutning.You can also stream your content over an SSL connection. Om du vill göra den här metoden, se till att din strömmande URL: er börjar med HTTPS.To do this approach, make sure your streaming URLs start with HTTPS. För närvarande stöder AMS inte SSL med anpassade domäner.Currently, AMS doesn’t support SSL with custom domains.

Skapa URL: er för progressiv nedladdningBuild progressive download URLs

    private static void BuildProgressiveDownloadURLs(IAsset asset)
    {
        // Create a 30-day readonly access policy. 
        IAccessPolicy policy = _context.AccessPolicies.Create("Streaming policy",
            TimeSpan.FromDays(30),
            AccessPermissions.Read);

        // Create an OnDemandOrigin locator to the asset. 
        ILocator originLocator = _context.Locators.CreateLocator(LocatorType.OnDemandOrigin, asset,
            policy,
            DateTime.UtcNow.AddMinutes(-5));

        // Display some useful values based on the locator.
        Console.WriteLine("Streaming asset base path on origin: ");
        Console.WriteLine(originLocator.Path);
        Console.WriteLine();

        // Get MP4 files.
        IEnumerable<IAssetFile> mp4AssetFiles = asset
            .AssetFiles
            .ToList()
            .Where(af => af.Name.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase));

        // Create a full URL to the MP4 files. Use this to progressively download files.
        foreach (var pd in mp4AssetFiles)
            Console.WriteLine(originLocator.Path + pd.Name);
    }

Utdata:The outputs:

http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny_H264_650kbps_AAC_und_ch2_96kbps.mp4
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny_H264_400kbps_AAC_und_ch2_96kbps.mp4
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny_H264_3400kbps_AAC_und_ch2_96kbps.mp4
http://amstest1.streaming.mediaservices.windows.net/3c5fe676-199c-4620-9b03-ba014900f214/BigBuckBunny_H264_2250kbps_AAC_und_ch2_96kbps.mp4

. . . 

Använd Media Services .NET SDK-tilläggenUse Media Services .NET SDK Extensions

Följande kod anropar .NET SDK-tillägg-metoder som skapar en positionerare och generera Smooth Streaming, HLS och MPEG-DASH-URL: er för Adaptiv direktuppspelning.The following code calls .NET SDK extensions methods that create a locator and generate the Smooth Streaming, HLS, and MPEG-DASH URLs for adaptive streaming.

    // Create a loctor.
    _context.Locators.Create(
        LocatorType.OnDemandOrigin,
        inputAsset,
        AccessPermissions.Read,
        TimeSpan.FromDays(30));

    // Get the streaming URLs.
    Uri smoothStreamingUri = inputAsset.GetSmoothStreamingUri();
    Uri hlsUri = inputAsset.GetHlsUri();
    Uri mpegDashUri = inputAsset.GetMpegDashUri();

    Console.WriteLine(smoothStreamingUri);
    Console.WriteLine(hlsUri);
    Console.WriteLine(mpegDashUri);

Sökvägar för Media Services-utbildningMedia Services learning paths

Media Services v3 (senaste)Media Services v3 (latest)

Kolla in den senaste versionen av Azure Media Services!Check out the latest version of Azure Media Services!

Media Services v2 (bakåtkompatibelt)Media Services v2 (legacy)

Ge feedbackProvide feedback

Använd User Voice-forumet för att ge feedback och förslag på hur Azure Media Services kan förbättras.Use the User Voice forum to provide feedback and make suggestions on how to improve Azure Media Services. Du kan även gå direkt till någon av följande kategorier:You also can go directly to one of the following categories:

Nästa stegNext steps