I can't get my head around this topic. The documentation is good but what part I am missing is a real scenario where I can use blob storage or azure media services to upload videos from a client application.
We currently have a desktop application (C#, WPF) which makes videos. The WPF application already communicates and authenticates with an ASP.NET Web API. What I would think of is somehow do the implementation of the given documentation in the Web API and then somehow let the user upload that via our API. And later, stream it via our API to an App (Xamarin) or website (Angular frontend).
So my question really is, how can I upload a video from a WPF application to Azure media services or blob storage via an ASP.NET API.
The underlying question is: What is the best strategy? Best approach? Is blob storage recommended for upload or Azure media services? And for streaming (download)?
Reason for asking is that I of course do not want to store the credentials in the client application.
Assuming that a typical video is significantly large in size, you don't want to proxy the upload via your own API. The solution would be use of Shared Access Signature (SAS) URL to handle the upload or download of the video.
In brief, SAS URL involves creation of access token to a particular blob (or other resources) for a limited time with particular access scopes (such as read-only or write-only).
A detailed explanation with various patterns on usage of SAS can be read on Microsoft Docs website here.