Possible Problems that could arise when implementing Dash Video Player
1. The videos separated from audio might not be in the right encoding format (This is a big topic on its own, see FFMPEG)
- Make sure that the commands you used to create chunks of the video stream are encoded in the right format. See Official Dash Website
2. Dash Streaming uses Dash.js to create a Player (Find out if Dash Contexts are still supported if you see an error: "Dash is not defined")
-Dash.js - a JavaScript Library that works with Media Source in the browser to create a blob on your local machine
- You have to make sure that you have troubleshot the client side where the Manifest.mpd file supplies the client with binary data to construct a video
- "Dash is not defined": If you see this error when debugging Dash Media Player, use the following code below:
function NameOfFunction(){
var url = "UrlToLocalHostWhereManifestMPDFileIsLocated.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#IdOfYourPlayerControl"),url,true);
}
//Don't forget to call your function
NameOfFunction();
3. The browser you are using to develop the client side could be an issue
- Make sure that the browser you are using supports Media Source API (Media Source enables the Browser to cache binary stream to the disk and then allows the controls like Video or images to consume data from the blob) - for more information see Mozilla MediaSource documentation.
4. Make sure that the Web Server allows .mpd files (Nginx, Kestrel, IIS, etc)
- If you are developing in asp.net Core 2.2 or earlier, make sure that the ".mpd" file extension is mapped to "application/dash+xml"
- documentation here