Hello,
I have an issue here with the latest version of Wowza ( I’m sure the earlier ones have this behavior too ). I’m running Windows Server 2012 R2 with the latest JDK installed.
We have various assets on a multi-tenant Wowza server and need to be able to rename, move or delete a file that is actively being streamed. We have a front-end that leverages APIs we built to manage the Wowza content for the customers. When our backend tries to delete a file we’re running into an issue where, often due to demand, there is always 1+ user engaging the file and streaming it. This leaves a file lock on the asset in Java. We’re not sure how to go about this in a way that:
-
Allows us to remove the file ( so the customer doesn’t get billed for disk usage )
-
Allows people watching the asset, ideally, to gracefully end playback ( perhaps when cached data on the stream runs out )
-
Does not cause issues with the data in the file ( in the case of moving or renaming ) and plays nice with Wowza / Java.
I appreciate any time and help anyone can offer us!
-Matthew
Hi Matthew , I guess, you can do it with HttpProvider Class and the application module.
When your clients start to play ( in http , rtmp , rtsp … ) add the client id and video name to the array list , map etc. Then
In httpProvider class develop a module that listen your call. When you call it with video name , then
get the video name and create an instance of your application module . Call the method that list active client id that watches this video .
Kill client connection with getting instance via getClientById , then client.rejectConnection() will work . After disconnecting you can easily move,delete or rename file.
public void onHTTPRequest(IVHost inVhost, IHTTPRequest req, IHTTPResponse resp)
{
String queryStr = req.getQueryString();
Map<String, String> queryMap = HTTPUtils.splitQueryStr(queryStr);
if (queryMap.containsKey(“unlockVideo”))
{
killConnection kc = new killConnection();
kc.getClientByVideoName(queryMap.get(“unlockVideo”));
}
Emre Karataşoğlu
http://letheasoftware.com
http://emrekaratasoglu.com
Thank you very much Emre, we will take this route. A life saver =)