Wowza rest api改变流视频的内容路径

时间:2016-06-09 11:00:07

标签: rest wowza

我是Wowza的新手。 wowza中是否有任何其他api可用于更改流式传输的内容路径并在流启动时启用录制?

我尝试了各种api,但都是徒劳的。急切地等待答案。

1 个答案:

答案 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"
   }
}'

更改设置后,您需要重新启动实时应用程序才能应用更改。但是,这不是推荐的方法,因为您可以在录制过程中更新应用程序的设置。