View Complete Thread
  • 'trun'.DataOffset has incorrect value for LIVE Smooth Streams

    Dec 27, 2016 03:46 PM|audriusi|LINK

    Hi all,

    We're using and encoder to create and publish live Smooth Streams. Encoder is pushing to a live Smooth Streaming publishing point on IIS.

    We use Google's ExoPlayer for playback and recently we encountered an issue where we can't play the live Smooth Stream anymore. After a more thorough investigation we found that ExoPlayer fails to play the stream due to invalid 'trun'.DataOffset value (https://github.com/google/ExoPlayer/issues/2101) . The (moof.Offset + trun.DataOffset) value points to first byte of 'tfrf' box when it should point to first  'mdat' box.   It seems that the DataOffset value was not updated after 'tfrf' box was inserted. The trun.DataOffset value is off by 61 bytes which is the exact size of 'tfrf' box.

    My question is - which part of the application chain ads 'tfrf' boxes and who is responsible to update 'trun'.DataOffset (Encoder, IIS, IIS Media Services) ?

    VOD streams from the same encoder play fine, but they do not have 'tfxd' and 'tfrf' boxes.

    [UPDATE] I've been in contact with our encoder vendor and they confirm that 'tfrf' boxes are not added by encoder. So it could be that IIS or IIS Media Services are not updating 'trun'.DataOffset properly after adding 'tfrf' box. Is there any configuration setting that could impact this ? (the publishing point configuration is pretty straightforward as far as I see). We're running Windows 2008R2, IIS 7.5 and IIS Media Services 4.1

    Sincerely,

    Audrius Idzelis