130 likes | 298 Views
Requirements for automatic evaluation of MF TCs. Davy Van Deursen , Wim Van Lancker. Testing a MF-aware UA. P arsing of a m edia fragment R etrieval of the media fragment scenarios retrieve the full media resource UA performs mapping and sends HTTP byte range request
E N D
Requirements for automatic evaluation ofMF TCs Davy Van Deursen, Wim Van Lancker
Testing a MF-aware UA • Parsing of a media fragment • Retrieval of the media fragment scenarios • retrieve the full media resource • UA performs mapping and sends HTTP byte range request • UA sends HTTP time/track range request • with or without redirect … • with or without setup information … • Interpretation/rendering of the HTTP response • play/visualize the media fragment
Testing a MF-aware UA • Automatic testing of parsing+retrieval • catch HTTP requests from the UA • information necessary in the TC • media fragment URI + corresponding HTTP request(s) • conclusion: should be feasible • Automatic testing of interpretation/rendering • computer vision algorithms -> lot of work, not feasible • manual testing (inspired on for example SVG test cases) • create an artificial a/v resource enabling the manual validation of the result (e.g., show a clock for temporal fragment evaluation) • http://ninsuna.elis.ugent.be/content/TC_spatial_25fps_with_audio.mp4
Testing a MF-aware server • Parsing of HTTP Range header • Extraction of the requested media fragment • server-triggered redirect (e.g., for tracks) • calculate byte-time/track mapping and return bytes corresponding to the found byte range • Automatic testing of parsing and extraction • catch response • information necessary in the TC • Range header and corresponding response headers • we assume that the server is able to provide the correct bytes according to its calculated byte ranges
Conclusions • Automatic evaluation of the TCs demands detailed TC inputs • existing media resource • media fragment (e.g., t=10,20) • possible MF-specific HTTP request headers (i.e., Range and Accept-Range-Redirect) combinations • possible MF-specific HTTP response headers (i.e., Content-Range-Mapping) UA validation Server validation
End2End examples incompliant behavior compliant behavior, should be specified in the TC not sure if compliant or not … misuse of MF-specific headers
Valid temporal example 206, t=9- 200 get m.ogv 307, m.ogv?t=10 get m.ogv t=10- Server … m.ogv UA get m.ogv t=10- / redirect Server t=10 307, bytes=349- 200 get m.ogv bytes=349- 307, m.ogv?t=10 get m.ogv … … Cases to add: include-setup
UA-detectable ‘invalid’ temporal example get m.ogv 206, include-setup get m.ogv include-setup Server 200 m.ogv UA … t=foo get m.ogv bytes=0-22 get m.ogv … Cases to add: redirect
UA-undetectable ‘invalid’ temporal example get m.ogv get m.ogv t=20- ??? get m.ogv t=20-;incl-setup Server m.ogv get m.ogv incl-setup Server UA 206, include-setup t=20 200 length of m.ogv is 15s … get m.ogv … Cases to add: redirect
Spatial example get m.ogv 200 m.ogv get m.ogv xywh=2,2,20,20 Server 307, m.ogv?xywh=2,2,20,20 UA xywh= 2,2,20,20 get m.ogv … …
Valid track example 206, track=1 200 get m.ogv 307, m.ogv?track=1 get m.ogv track=1 Server … m.ogv UA get m.ogv track=1/redirect Server track=1 307, bytes=…-… 200 get m.ogv bytes=…-… 307, m.ogv?track=1 get m.ogv … … Cases to add: include-setup
UA-undetectable ‘invalid’ track example 206, include-setup get m.ogv 200 get m.ogv include-setup Server … get m.ogv bytes=0-22 m.ogv UA ??? get m.ogv track=54 Server track=54 … get m.ogv track=54; incl-setup Server 206, include-setup … Cases to add: redirect
TODOs – questions – Issues • TODOs • provide detailed, machine-readable TC descriptions • and extend Corrib? • write evaluation software • Questions • which and how much media resources to use? • we can vary in container formats, codecs, codec profiles, codec settings (intra frame period), … • URI fragments vs. URI queries? • for the moment: only URI fragments • URI queries • e.g., media.mp4?xywh=100,100,50,50 -> transcoding on server? • Issues • what if the server chooses what it returns (not exactly the shortest time range possible …)?