Page 1 of 3 123 LastLast
Results 1 to 10 of 27

Thread: How to disable "?dvr" handling for some application

  1. #1

    Default How to disable "?dvr" handling for some application

    Hi Scott,
    I have an application with custom module, which provide the redirect to another vhost/application.
    But, unfortunately, if URI contains "?dvr", it does not invoke method onHTTPSessionCreate, because the query string "?dvr" handled by nDVR before it.
    How to disable "?dvr" handling for some application, but not for all?
    Maybe I can invoke some method within onAppStart, to disable nDVR?

  2. #2

    Default

    You can remove "dvrrecorder" from the DVR section of your Application.xml.

  3. #3

    Default

    dvrrecorder is absent in Application.xml
        <DVR>
          <Recorders></Recorders>
          <Store></Store>
          <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
          <ArchiveStrategy>append</ArchiveStrategy>
          <Repeater>
            <ChunkOriginURL></ChunkOriginURL>
          </Repeater>
          <Properties>
          </Properties>
        </DVR>
    Log:
    INFO server comment - Wowza Media Server is started!
    INFO server comment - NewBalanceRedirector.onAppStart[redirect/_definst_]: NewBalance init.
    INFO application app-start _definst_ redirect/_definst_
    INFO server comment - DvrStreamManagerBase.initProperties properties: {Properties: isDvrPacketizer: true}
    INFO server comment - DvrStreamManagerBase.initStorage[redirect/_definst_/myStream.stream] : storeName:dvrfilestorage isRecorder:false hasStorage:true
    INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: dvrstreamingpacketizer:myStream.stream
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onManifest: DVR Store not found [redirect/myStream.stream/playlist.m3u8?DVR]: null

  4. #4

    Default

    Remove dvrstreamingpacketizer from LiveStreamPacketizers.

  5. #5

    Default

    dvrstreamingpacketizer is absent in Application.xml
        <Streams>
          <StreamType>netconnection</StreamType>
          <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
          <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
          <LiveStreamPacketizers></LiveStreamPacketizers>
          <Properties>
          </Properties>
        </Streams>

  6. #6
    Join Date
    Dec 2007
    Posts
    22,013

    Default

    "netconnection" is not a valid StreamType. You probably want StreamType "live"

    Richard

  7. #7

    Default

    Richard,
    It does not matter what type I choose. I've tried default, live, netconnection.
    Could you try the simple test configuration with default Application.xml (as is from conf directory) and run something like
    curl -D - http://wowza-server:1935/test/myStream.stream/playlist.m3u8?dvr
    ?
    If URI contains "?dvr", it will be handled by nDVR even if DVR disabled in the configuration.
    In the log you will see the following:
    INFO application app-start _definst_ test/_definst_
    INFO server comment - DvrStreamManagerBase.initProperties properties: {Properties: isDvrPacketizer: true}
    WARN server comment - DvrStreamManagerBase.initStorage[test/_definst_/myStream.stream] : File location '/usr/local/wowza3/dvr/test/_definst_' does not exist for DVR store 'dvrfilestorage'.
    INFO server comment - DvrStreamManagerBase.initStorage[test/_definst_/myStream.stream] : storeName:dvrfilestorage isRecorder:false hasStorage:false
    INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: dvrstreamingpacketizer:myStream.stream
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onManifest: DVR Store not found [test/myStream.stream/playlist.m3u8?DVR]: null
    IMHO, this is not the correct behavior.

  8. #8
    Join Date
    Dec 2007
    Posts
    22,013

    Default

    It seems like the answer is that you should configure an application for DVR if you want to use it sometimes, and control whether it is used with the querystring param. Whether or not to include the "?DVR" querystring param in the playback URL should be a decision you make in your application server logic.

    Otherwise, help me understand the problem scenario. When does your player use a playback URL with the "?DVR" querystring that you don't really want to use nDVR?

    You can configure an application for nDVR and other HTTP clients, as shown in the DVR guide step 3b, here:
    http://www.wowza.com/forums/content.php?300#config

    The StreamTypes are not arbitrary, but you could add one named "netconnection". The existing StreamTypes are defined in the /conf/Streams.xml file.

    Richard

  9. #9

    Default

    As I wrote in my first post, I have an application with custom module, which provide the redirect to another vhost/application.
    This is done with
    	public void onHTTPSessionCreate(IHTTPStreamerSession httpSession) {
    ...
    		String queryString = (httpSession.getQueryStr() == null || httpSession.getQueryStr().isEmpty()) ? "" : "?" + httpSession.getQueryStr();
    
    		httpSession.redirectSession(newUri.toString() + queryString);
    	}
    If requested URI contains "?dvr", it does not invoke the method onHTTPSessionCreate from the my module.
    Yes, I don't want to use nDVR with this application even when request URI contains "?dvr" querystring. I want invoke httpSession.redirectSession to the new URI with the same querystring.

  10. #10

    Default

    Quote Originally Posted by Falcon-M View Post
    As I wrote in my first post, I have an application with custom module, which provide the redirect to another vhost/application.
    This is done with
    	public void onHTTPSessionCreate(IHTTPStreamerSession httpSession) {
    ...
    		String queryString = (httpSession.getQueryStr() == null || httpSession.getQueryStr().isEmpty()) ? "" : "?" + httpSession.getQueryStr();
    
    		httpSession.redirectSession(newUri.toString() + queryString);
    	}
    If requested URI contains "?dvr", it does not invoke the method onHTTPSessionCreate from the my module.
    Yes, I don't want to use nDVR with this application even when request URI contains "?dvr" querystring. I want invoke httpSession.redirectSession to the new URI with the same querystring.

    So, you're saying you want to use ?dvr param but have it do HTTP live streaming if dvr is not enabled?
    If that's the case, that's not how it works.

    Scott

Page 1 of 3 123 LastLast

Similar Threads

  1. Force an "#EXT-X-ENDLIST" on a DVR playlist
    By cmelendez in forum General Forum
    Replies: 2
    Last Post: 03-10-2014, 12:30 PM
  2. DVR request getting "403 forbidden"
    By tavius in forum AddOn: Wowza nDVR
    Replies: 2
    Last Post: 06-14-2013, 08:28 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •