Open sturlath opened 2 years ago
First off. I know nothing about Blazor... nor intend to learn more right now.
If you are hosting a commonly used player framework like HLS.js, DASH.js, Video.js, you have to put the correct format string on the URL. The default URL manifest that comes back from a Live event preview URL is going to be Smooth Streaming format. /manifest
To get HLS, you have to add /manifest(format=m3u8-cmaf) to get an HLS playlist. Some players require you to add the .m3u8 extension to that as well.
To get DASH, you have to add /manifest(format=mpd-time-cmaf) to get an actual DASH MPD manifest. Some players require you to add a .mpd extension to that.
Thank you @johndeu for the information. I gave it a try but was unable to get the player to work. As you can see on the image below I can get the IFrame to play with the preview url but all the permutations I could think of for the Blazorise Video player didn´t work.
<Field ColumnSize="ColumnSize.Is12.OnDesktop">
<FieldLabel></FieldLabel>
<Field>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="//aka.ms/ampembed?url=@NewStreamEvent.PreviewUrl&autoplay=false"
@ref="azuremediaplayer"
id="azuremediaplayer"
name="azuremediaplayer"
scrolling="no"
frameborder="no"
align="center"
height="280px"
width="500px"
autoplay
allowfullscreen
class="embed-responsive-item"></iframe>
</div>
</Field>
<FieldHelp></FieldHelp>
</Field>
<Video Source="@NewStreamEvent.PreviewUrlDash"
StreamingLibrary="StreamingLibrary.Dash" />
<Video Source="@NewStreamEvent.PreviewUrlHls"
StreamingLibrary="StreamingLibrary.Hls" />
<Video Source="@NewStreamEvent.PreviewUrlDash"
StreamingLibrary="StreamingLibrary.None" />
<Video Source="@NewStreamEvent.PreviewUrlHls"
StreamingLibrary="StreamingLibrary.None" />
all black and not streaming...
with this code adding your manifest information to the end.
NewStreamEvent.PreviewUrl = mediaServiceData.PreviewEndpointUrl;
NewStreamEvent.PreviewUrlDash = $"{mediaServiceData.PreviewEndpointUrl}/manifest(format=mpd-time-cmaf)";
NewStreamEvent.PreviewUrlHls = $"{mediaServiceData.PreviewEndpointUrl}//manifest(format=m3u8-cmaf)";
I guess I´ll have to stick with the IFrame "solution" for now...😞
To be honest I didn't hear about MSS until now. So I cannot know for sure if we would be able to support it. Based on this https://stackoverflow.com/questions/48165413/is-dash-js-player-support-hls-http-live-streaming-and-mss-microsoft-smooth-st I think we at least could try.
It would be great to get rid of the IFrame stuff. Let me know how I can help (urls to stream, testing etc.) and I´m ready!
Hi hi
I'm trying to stream (this time none-DRM) content that gives me an 404 error that I´m guessing is because of the format (probably Smoothstream) I´m trying to play (its a preview URL from Azure Media Services (maybe @johndeu can confirm).
If that is the case then I´m guessing nobody can use the video player to play unprotected videos using that format.
I see that hls.js seems to support it .
Here below are some debugging information that I prepared before I (think) figured out the formatting issue. I´ll keep it here if its something else.
I´m able to play the video with IFrame (code below) but not using Blazorise Video as you can see here
The video plays in https://ampdemo.azureedge.net/
also in https://openidconnectweb.azurewebsites.net/AMTestPlayer
I tried Dash and None
This IFrame code works fine (I´m trying to eliminate this code)
My manifest