Skip to main content
Inspiring
June 3, 2009
Answered

Live Dynamic Streaming DVR?

  • June 3, 2009
  • 1 reply
  • 2527 views

I'm finally getting the hang of the Dynamic Streaming of live video content via FMS 3.5.2 and FMLE, and to a lesser extent, the DVR functionality that has newly been made available.

Inquiring minds want to know...  is it possible to add DVR functionality to live Dynamically Streamed video content?

In other words, I want to be able to provide DVR capability to our live videos that are being streamed at 3 different bitrates. 

Is that currently possible?

Jodi, can you ask David Hassoun, who seems to be the leading authority at the moment, if this is possible, and if so, if there's a tutorial we can access?

Thanks!

    This topic has been closed for replies.
    Correct answer

    Hi Mike,

    I'm glad your app is starting to happen (who knows, you may even be done by now)... But here's my best shot at answering your questions:

    1. Flex is a framework that uses MXML, a declarative XML-based language, to describe UI layout and behaviors, and ActionScript 3 to create client logic. Flex has a big component library -- you use MXML to place the components in an app. Flex apps compile to SWF files and run in Flash Player and AIR. So the Flex example that ships with the DynamicStream class does have some ActionScript in it that you can stop out and use in Flash. the example includes an MXML file that you can open in any text editor.

    Here's more info about Flex:

    http://www.adobe.com/products/flex/overview/

    By the way, a simple DVR sample ships with FMS: Flash Media Server 3.5\documentation\samples\dvr

    The sample is explained in the docs:

    http://help.adobe.com/en_US/FlashMediaServer/3.5_Deving/WS236AE81A-5319-4327-9E44-310A93CA09C6.html#WSF121A57E-01CB-44a4-BDA8-46CD5045E80D

    2. To create a DVR stream from FLME you need to either check DVR Auto Record (starts recording when you start streaming), or click Record anytime after you start streaming.

    3. To subscribe to a stream use 0 for the start parameter -- 0 plays a recorded stream. DVR streams are just recorded streams.

    HTH!

    Jody

    1 reply

    June 3, 2009

    Yes -- you can use dynamic streaming and DVR streaming together.

    To stream a DVR stream from FMLE, you must use the DVRCast application (or roll your own). Make sure you have the DVRCast app copied to rootinstall/applications/dvrcast_origin.

    In FMLE, select the number of streams you want to send (up to 3). Use the %i parameter to create stream names (for example, dvrstream%i creates the streams dvrstream1, dvrstream2, and dvrstream3).

    You can use FLVPlayback 2.5 in either Flash or Flex, or you can build your own video player. The DynamicStream classes come with a Flex example that you can modify to connect to dvrcast_origin instead of to vod.

    If you're using FLVPlayback 2.5, set isDVR to true.

    At a basic level DVR isn't complicated -- every stream published with the "record" or "append" flag is a DVR stream. When you subscribe to a DVR stream you're subscribing to a vod (recorded) stream, not to a live stream. The stream seems live because you're only a split second behind live.

    To jump forward to live, call NetStream.seek() and pass it an incredibly high number. If you're using the DynamicStream class, call DynamicStream.seek(). To jump back to the beginning of the recording, pass 0.

    Lemme know if you need more help getting started.

    Jody

    mrwizzer2Author
    Inspiring
    June 4, 2009

    Thanks for the informative reponse, Jody. 

    I'll give it a whirl and let you know how I do.

    Much thanks!

    Mike