4 Replies Latest reply: Apr 2, 2012 9:21 AM by giostefani RSS

    What is wrong with this line? params.dvrSnapToLiveClockOffset = "14400"

    giostefani

      I've included my code below.  I'm trying to pass this parameter to the StrobeMediaPlayback.swf so I can overcome the "SnapToLive" default.  The default dvrSnapToLiveClockOffset is set for 4 seconds, so all I get is the last 4 seconds in the timeline.  Any ideas or recommendations?

       

      <code>

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

      <html xmlns="http://www.w3.org/1999/xhtml">

      <head>

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      <title>Stefani Entertainment Network Live Events</title>

       

      <style type="text/css">

      .Verdana {

          font-family: Verdana, Geneva, sans-serif;

          font-weight: bold;

          text-align: left;

          color:#00F

      }

      #videoDiv video {

          text-align: center;

      }

      </style>

      </head>

      <script type="text/javascript" src="swfobject.js"></script>

      <script type="text/javascript">

          // Flash Variables

          var flashvars = {};

          flashvars.src = "http://live.stefanientertainment.com/livestream1.f4m";

          flashvars.controlBarMode = "docked";

          flashvars.poster = "http://live.stefanientertainment.com/images/si-poster.jpg";    

          // Flash Parameters

          var params = {};

          params.movie = "http://live.stefanientertainment.com/strobe/StrobeMediaPlayback.swf";

          params.allowfullscreen = "true";

          params.allowscriptaccess = "always";

          params.autoHideControlBar = "false";

         params.dvrSnapToLiveClockOffset = "14400";

          params.loop = "true";

          params.menu = "true";

          params.wmode = "direct";

          // Flash Attributes

          var attributes = {};

          // Call SWF object with alternate "videoDiv" in the case of non-Flash device

          swfobject.embedSWF("http://live.stefanientertainment.com/strobe/StrobeMediaPlayback.swf", "videoDiv", "680", "382", "10.1.0", "expressInstall.swf", flashvars, params, attributes);

      </script>

       

      <body>

          <div id="videoDiv">

              <video controls="controls" poster="http://live.stefanientertainment.com/images/si-poster.jpg" width="680" height="382">

                  <source src="http://live.stefanientertainment.com/livestream.m3u8" type="application/x-mpegURL" />           

              </video>

          </div>

      <p class="Verdana">Saturday March 24, 2012 - Soul Intensity show starts at 7:30pm<br />

        So Tune in, Turn on and Turn up!!

        <br />

      </p>

      </body>

      </html>

      </code>

        • 1. Re: What is wrong with this line? params.dvrSnapToLiveClockOffset = "14400"
          Silviu Vergoti Adobe Employee

          Here's your manifest:

           

          <manifest xmlns="http://ns.adobe.com/f4m/2.0">

            <baseURL>http://live.stefanientertainment.com/hds-live/livepkgr/_definst_/liveevent/</baseURL>

          <dvrInfo beginOffset="0" endOffset="0" windowDuration="-1"/>

            <media href="livestream1.f4m" bitrate="650"/>

          </manifest>

           

          - please do not use dvrInfo if you're not planning to use DVR (windowduration = -1)

          - do not use *offset attributes for manifest v2.0 .

          - dvrSnapToLiveClockOffset is used for DVR, not for live.

          - you don't need to use multi layer manifest for a single stream (although I assume you provided it like this for demo purposes).

          • 2. Re: What is wrong with this line? params.dvrSnapToLiveClockOffset = "14400"
            giostefani Community Member

            Silviu,

             

            See my responses:

             

            - please do not use dvrInfo if you're not planning to use DVR (windowduration = -1)

            I am using DVR in conjunction with "Live" streaming (HDS/HLS) and it's working fine. The issue with HDS/Live is that FMS 4.5 performs a "Snap to Live" by default, so when the live stream is done, I want the either leave the stream up there for a week (until next event) or move it to another area to playback via DVR playback.

            - do not use *offset attributes for manifest v2.0.

            I was aware that they are not needed in v2.0, but put them in there anyway.

            - dvrSnapToLiveClockOffset is used for DVR, not for live.

            I need to pass this parameter or else FMS 4.5 performs a Snap-to-Live - 4 seconds, so when someone wants to replay the stream (DVR) they only get the last 4 seconds of the recorded stream. The purpose of the dvrSnapToLiveClockOffset is to override the SnapToLive default and rewind the timeline to the beginning. If there is a better way of accomplishing this, please let me know. My goal is AFTER the live stream is over that I want to rewind to the beginning, not during the live stream.

            - you don't need to use multi layer manifest for a single stream (although I assume you provided it like this for demo purposes).

            I originally started with multi-bitrates and went back to single until I get things worked out.

             

            So my goal is to:

             

            1. Provide a "Live" stream at the time the event is in progress. The default "SnapToLive" is okay during the live phase
            2. Play it back post event for a viewer that wants to see it at a later time. Since livepkgr fragments the F4V's, you can't recompile (flatten) and play them back without losing video/audio between the fragments/segments.

             

            Your thoughts?

            • 3. Re: What is wrong with this line? params.dvrSnapToLiveClockOffset = "14400"
              Silviu Vergoti Adobe Employee

              1. Use DVR as you already have done; no changes there.

              2. Put offline the dvr files; either by using the offline attribute in f4m (but the player might not respond to that) or by copying the streams directory, modify the links and the manifest and treat it like a VOD resource.

               

              There might be better solutions, but they depend on the server you use.

              • 4. Re: What is wrong with this line? params.dvrSnapToLiveClockOffset = "14400"
                giostefani Community Member

                Silviu Vergoti wrote:

                 

                1. Use DVR as you already have done; no changes there.

                2. Put offline the dvr files; either by using the offline attribute in f4m (but the player might not respond to that) or by copying the streams directory, modify the links and the manifest and treat it like a VOD resource.

                    Looks like the best option (Take the live stream down after event and repost). Can you provide any direction (links, etc) on how to convert to a VOD Resource. Even if I copy the streams directory, modify the links, I will still have the      issue of FMS 4.5 and the player treating it like a live stream.  I've been recording the stream to my local laptop within FLME 3.2 and using f4vpp.exe to flatten the f4v's and then editing them. A lot of work I'm trying to avoid .

                 

                There might be better solutions, but they depend on the server you use.

                    I'm using FMS 4.5. Any recommendations/solutions would be helpful.