Create a tool similar to Apple's Media Stream Validator Tool in C# as a web application. The stream validator tool will download and analyse m3u8 files and ts files in the same way that Apples tool works and report the same types of errors or warnings with the files.
[login to view URL]
[login to view URL]
The solution will run as a web application in c# on IIS 7 server. The user will input the starting URL and the solution will download the file then analyse the subsequent files and report progress back to the user asynchronously (AJAX).
3rd party libraries can be used to analyse the MPEG2 Transport Stream Files (.ts files).
## Deliverables
* Web page for user to input http URL of m3u8 file
* Report progress of each test back to user asynchronously (AJAX)
* Check DNS lookup and check URL exists
* Check text/tags of m3u8 file match specifications (pantos RFC draft)
* Check all URLs are relative to save space
* Download embeded m3u8 files for each bitrate and do same checks on them
* Check sequence numbers and length tags
* Check mime types from server
* Check server's cache time is 10 sec or less
* Download ts files using http and check size, bitrate/download times
* Analyse ts file for the following:
* Valid MPEG2 Transport Stream File with 188 byte frames
* Starts with PAT/PMT headers then IDR video frame
* Check DTS and PTS timestamps for discontinuity between files
* Check bitrate and duration matches m3u8
* Check timestamps are similar between .ts files for multiple bitrates
* check all other checks, errors and warnings that Apples tool is capable of generating [login to view URL]
* Optionally store all the results in a database for later use or to provide the results back to user web page using AJAX calls
* Create sample files with faults in them for testing to demonstrate each of the above checks does pick up files with faults in them in the same way or better than the Apple tool