我是Wowza的新手。 wowza中是否有任何其他api可用于更改流式传输的内容路径并在流启动时启用录制?
我尝试了各种api,但都是徒劳的。急切地等待答案。
答案 0 :(得分:0)
有几种方法可以解决这个问题。由于您只需将录制文件保存到具有特定命名语法的文件夹,因此您可以使用Wowza Java API创建移动录制文件的自定义模块。您需要添加一个监听器,以便在录制完成并准备好移动时通知您。以下是执行此操作的示例源代码:
package com.wowza.wms.plugin.test.module;
import java.io.*;
import java.util.*;
import com.wowza.wms.application.*;
import com.wowza.wms.module.*;
import com.wowza.wms.stream.*;
public class ModuleWriteListener extends ModuleBase
{
class WriteListener implements IMediaWriterActionNotify
{
public void onFLVAddMetadata(IMediaStream stream, Map<String, Object> extraMetadata)
{
getLogger().info("ModuleWriteListener.onFLVAddMetadata["+stream.getContextStr()+"]");
}
public void onWriteComplete(IMediaStream stream, File file)
{
getLogger().info("ModuleWriteListener.onWriteComplete["+stream.getContextStr()+"]: "+file);
}
}
public void onAppStart(IApplicationInstance appInstance)
{
appInstance.addMediaWriterListener(new WriteListener());
}
}
您还可以定期使用REST API更新应用程序的存储路径。您可以尝试以下方式:
curl -X PUT --header 'Accept:application/json; charset=utf-8' --header 'Content-type:application/json; charset=utf-8' http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/testlive -d'
{
"restURI": "http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/testlive",
"name":"testlive",
"streamConfig": {
"restURI": "http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/testlive/streamconfiguration",
"storageDir": "${com.wowza.wms.context.VHostConfigHome}/content"
}
}'
更改设置后,您需要重新启动实时应用程序才能应用更改。但是,这不是推荐的方法,因为您可以在录制过程中更新应用程序的设置。