My site uses video.js with the videojs-ima plugin, but it didn't work with hls inside VAST.
I tested the xml using the Google service https://googleads.github.io/googleads-ima-html5/vsi/ and I see the error Ad error: AdError 400: There was an error playing the video ad. Caused by: Error: Error: There was an error playing the video ad.
I tried the videojs-vast-vpaid plugin, but it throws an error about the inability to work with VAST 4.2.
I tried other free players - plur, openplayerjs, fluid player-but none of them worked with my xml.
my VAST 4.2 sample xml looking like that (Warning! NSFW content inside):
<VAST xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.iab.com/VAST" version="4.2">
<Ad id="1" adType="video">
<InLine>
<AdSystem version="1">stripcash.com</AdSystem>
<AdTitle>Naked girl get cum on face</AdTitle>
<Creatives>
<Creative sequence="1" id="1">
<Linear skipoffset="00:00:05">
<Duration>00:00:05</Duration>
<MediaFiles>
<MediaFile id="1" delivery="progressive" type="video/mp4" width="480" height="640">
<![CDATA[ https://b-hls-25.strpst.com/hls/48371204/48371204.m3u8 ]]>
</MediaFile>
</MediaFiles>
<VideoClicks>
<ClickThrough id="1">
<![CDATA[ https://go.xxxjmp.com/api/goToTheRoom?campaignId=59eb46ec7c05df0507091.......]]>
</ClickThrough>
</VideoClicks>
</Linear>
<UniversalAdId idRegistry="unknown">unknown</UniversalAdId>
</Creative>
</Creatives>
<Impression id="">
<![CDATA[ https://go.xxxjmp.com/eye.gif?campaignId=59eb46ec7c05df0507091cccc8a....... ]]>
</Impression>
</InLine>
</Ad>
</VAST>
The IMA SDK creates it's own video element to play the creative. That will only be able to formats the browser can natively support. HLS would work on Safari.