I need to do some access controls over my video file. (Only a part of the file can be played publicly.)
I can do it on HLS/HDS streaming, but not in DASH streaming.
I tried the following ways:
-
IMediaStreamNameAliasProvider2 -> resolvePlayAlias -> ihttpStreamerSession.setPlayDuration(601000L); ihttpStreamerSession.setPlayStart(260*1000L); not working
-
IMediaListProvider -> resolveMediaList -> MediaListRendition -> rendition.setPlayDuration(601000L); rendition.setPlayStart(260*1000L);
These API calls works in HLS/HDS streaming, but not in DASH.
Maybe I’m doing it the wrong way or I catch a bug?
Any ideas?
What version of Wowza are you using? MPEG-DASH is not listed in the article, however it is mentioned in the 4.0.3 release notes.
Richard
Make sure you start and duration values make sense, do not exceed the length of the video. The Dash info message says the video is 64042 seconds duration. I’m not sure your duration time makes sense. But you say it works correctly with HLS, HDS or Smooth playback?
Yes, please try it with the latest development patch, version 4.03.02
If this is still a problem for you with that version, I will try to replicate and forward to Engineering if necessary.
Thanks,
Richard
Amade,
Okay, thanks for updating to latest for your test. I will take the next steps and get back to you in this post or possibly open a ticket on your behalf at some point.
Thanks for the report,
Richard
Amade,
What I have learned is that this is a player issue with at least our DASH test player. Server-side, this feature is supported but our test player does not fully support params, and it may be the same in other DASH players.
Richard
Actually, I didn’t get the full story before writing previous. This will work in our DASH player using manifest_mvlist.mpd insead of manifest.mpd, like this:
http://[wowza-address]:1935/vod/mp4:sample.mp4/manifest_mvlist.mpd?wowzaplaystart=30000&wowzaplayduration=40000
Richard
Thank you for your respond Richard.
First I used wrong wowza version (4.0.0). I’ve upgraded to the latest stable (4.0.3) but it’s not works. May I try with the latest development version?
To be honest, I see that the API call has effect, but I cannot play the resultant stream.
I’ve tried these players:
-
http://dashif.org/reference/players/javascript/1.1.2/index.html
-
https://www.wowza.com/testplayers
-
The only thing I see on client side the player newer starts to download the chunks from wowza if duration and start time are setted.
package hu.nava.wowza.test;
import com.wowza.wms.httpstreamer.model.IHTTPStreamerSession;
import com.wowza.wms.module.ModuleBase;
/**
* Created by amade on 2014.05.20..
*/
public class DashTestModule extends ModuleBase {
public void onHTTPSessionCreate(IHTTPStreamerSession httpSession) {
//Cannot play the resultant stream if httpSession is DASH
httpSession.setPlayStart(60*1000L);
httpSession.setPlayDuration(60*1000L);
}
}
Here is the relevant part of the log:
INFO application app-start definst hls/definst
INFO mpegdash connect 912965499 -
INFO stream create sample.mp4 -
INFO server comment - MediaReaderH264MPEGDash.indexFile[hls/definst/sample.mp4][mp4a.40.2]: AAC Audio info: {MediaCodecInfoAudio: codec:AAC, channels:2, frequency:48000, samplesPerFrame:1024, objectType:LC}
INFO server comment - MediaReaderH264MPEGDash.indexFile[hls/definst/sample.mp4][avc1.66.30]: H.264 Video info: {MediaCodecInfoVideo: codec:H264, profile:Baseline, level:3.0, frameSize:424x240, displaySize:424x240, frameRate:24,000000}
INFO server comment - HTTPStreamerMPEGDashIndex.createM4SListBasedManifest[hls/definst/mp4:sample.mp4]: AdpSetId:0 RepId:0 mimeType:video/mp4 codecs:avc1.42c01e bandwidth:420000 height:240 width:424 duration:61042
INFO server comment - HTTPStreamerMPEGDashIndex.createM4SListBasedManifest[hls/definst/mp4:sample.mp4]: AdpSetId:1 RepId:0 mimeType:audio/mp4 codecs:mp4a.40.2 bandwidth:99000 audioSamplingRate=“48000”
I’ve tried with the latest development build (4.03.02 ). Problem remains same.
Yes, i’t works correctly with HLS, HDS and Smooth streaming, only DASH affected.
The sample.mp4 is the original untouched sample.mp4 which came with wowza. It’s duration is 596459ms (9min 56s 459ms).
The start and duration values setted via API are 1min (60000ms -> 60*1000L), so they are in the length of the video.
Regards,
Amade