Why Wowza can generate and serve smil file for live application and not for vod application?
http://[server]:8086/medialist?streamname=ngrp:[stream_name]&application=live&format=smil
This works, but when the streaming (record) ends and we have to use vod application, the server sends a 404 Not Found
http://[server]:8086/medialist?streamname=ngrp:[stream_name]&application=vod&format=smil
I don’t want to create the smil file manually
-
https://www.wowza.com/docs/how-to-generate-a-smil-file-with-an-http-provider
-
https://www.wowza.com/docs/how-to-use-java-api-calls-to-resolve-smil-file-requests
There is a plugin that can do it:
http://thewowza.guru/dynamically-created-smil-for-vod-and-live-streams/
But it needs a template.
I don’t know why wowza doesn’t create the smil file after the stream ends.
One solution could be:
public class ModuleAMLSTTest extends ModuleBase { private IApplicationInstance appInstance; class MyMediaListProvider implements IMediaListProvider { public MediaList resolveMediaList(IMediaListReader mediaListReader, IMediaStream stream, String streamName) { MediaList mediaList = new MediaList(); //list mp4 files in appInstance.getStreamStorageDir() with streamName prefix //get bitrate of each file (is there a function in SDK that accepts a file path and returns the bitrate?) //create new MediaListRendition() //set bitrate return mediaList; } } public void onAppStart(IApplicationInstance appInstance) { this.appInstance = appInstance; appInstance.setMediaListProvider(new MyMediaListProvider()); } }
And get it with:
http://[server]:8086/medialist?streamname=amlst:[stream_name]&application=vod&format=smil
But… is there a native solution?
Thanks!