Arnaud
Arnaud

Reputation: 151

Can a <MediaFile> starts reading before completion of video generation?

We're putting up a test with an ad server:

The video is correctly displayed on mobile device, but not instantly.

I was pretty sure that the video would start playing automatically, even if it hasn't finished being calculated (complete generation takes about 3s). Same way you can start reading a video on YouTube even if all of it has not been cached.

Here is our VAST tag:

<?xml version='1.0' encoding='utf-8'?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:noNamespaceSchemaLocation="vast3_draft.xsd">
  <Ad id="test">
    <InLine>
      <AdSystem>Test VAST Template</AdSystem>
      <AdTitle>Test</AdTitle>
      <Description>VAST 3.0 Instream Test 1</Description>
      <Creatives>
        <Creative AdID="" sequence="1">
          <Linear>
            <Duration>00:00:30.00</Duration>
            <VideoClicks>
              <ClickThrough />
            </VideoClicks>
            <MediaFiles>
              <MediaFile bitrate="400" delivery="streaming" height="480" maintainAspectRatio="true" type="video/mp4" width="320">https://our.cdn.net/video.mp4</MediaFile>
            </MediaFiles>
           </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>

PS: To solve this, I also loooked into Ad Pods: first Ad would be the pre-calculated part of our video, followed by the calculated part (that would be generated while first part is playing). But our ad server says we cannot use Ad Pods with an OutStream solution? VAST Documentation doesn't mention this.

Thanks!

Upvotes: 0

Views: 51

Answers (1)

szatmary
szatmary

Reputation: 31110

It depends on the file type. MP4 uses a frame index that is calculated at the end of file generation. So, no, it can not be played until after it is generated. Containers such as TS, flv, or fragmented MP4 (dash) can be streamed.

Upvotes: 1

Related Questions