【问题标题】:How to add stream target in wowza using rest api into facebook?如何使用rest api将wowza中的流目标添加到facebook中?
【发布时间】:2018-07-21 05:09:52
【问题描述】:

我想通过 wowza rest api (/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/pushpublish/mapentries) 创建 facebook 流。

Parameters `{
    "shoutcast.destination": "",
    "icecast2.public": false,
    "akamai.destinationServer": "",
    "shoutcast.icq": "",
    "facebook.eventSourceName": "",
    "timeToLive": 0,
    "password": "",
    "facebook.destType": "",
    "rtpWrap": false,
    "icecast2.name": "",
    "akamai.hostId": "",
    "icecast2.icq": "",
    "host": "",
    "connectionFlashVersion": "",
    "cupertino.renditions": "",
    "facebook.title": "",
    "debugPackets": false,
    "shoutcast.public": false,
    "shoutcast.aim": "",
    "profile": "",
    "icecast2.description": "",
    "sessionStatus": "",
    "shoutcast.metaname": "",
    "icecast2.genre": "",
    "facebook.destId": "",
    "queryString": "",
    "akamai.eventName": "",
    "version": "",
    "shoutcast.name": "",
    "sendStreamCloseCommands": false,
    "port": 0,
    "sendFCPublish": false,
    "icecast2.aim": "",
    "http.playlistCount": 0,
    "http.playlistTimeout": 0,
    "facebook.destName": "",
    "audioPort": "",
    "icecast2.metaname": "",
    "sourceStreamName": "",
    "connectionCode": "",
    "localBindAddress": "",
    "shoutcast.protocol": "",
    "debugLogChildren": false,
    "serverName": "",
    "adaptiveStreaming": false,
    "facebook.eventSourceType": "",
    "enabled": false,
    "shoutcast.irc": "",
    "sendReleaseStream": false,
    "shoutcast.url": "",
    "icecast2.irc": "",
    "facebook.description": "",
    "debugLog": false,
    "shoutcast.genre": "",
    "akamai.streamId": "",
    "akamai.hdNetwork": false,
    "adaptiveGroups": "",
    "saveFieldList": [
      ""
  ],
    "http.playlistAcrossSessions": false,
    "secureTokenSharedSecret": "",
    "http.fakePosts": false,
    "sendSSL": false,
    "sendOriginalTimecodes": false,
    "icecast2.destination": "",
    "facebook.accessToken": "",
    "userName": "",
    "facebook.privacy": "",
    "streamName": "",
    "removeDefaultAppInstance": false,
    "videoPort": "",
    "http.writerDebug": false,
    "icecast2.url": "",
    "akamai.sendToBackupServer": false,
    "destinationServer": "",
    "application": "",
    "entryName": "",
    "streamWaitTimeout": 0,
    "appInstance": "",
    "originalTimecodeThreshold": "",
    "autoStartTranscoder": false,
    "sanjose.representationId": ""
}` 

根据 api 文档,它们有很多参数,我在 api 调用期间传递了这些参数,但他们没有为此提及适当的文档。

请帮帮我:)

【问题讨论】:

  • Facebook Live API 要求使用唯一的应用程序 ID 来生成访问令牌。当您创建/更新流目标(启动 Facebook 登录窗口)时,此令牌协商由 Wowza 流引擎管理器 UI 处理,然后作为属性添加到 Wowza 流目标中以允许它发布到 Facebook 页面。无法从 REST API 创建令牌。您将需要在外部使用 Facebook API 处理令牌管理。获得必要的访问令牌后,您可以通过 REST API 将其填充到您的 Wowza 流目标中。

标签: rest api wowza


【解决方案1】:

以下参数可用于通过 REST API 创建 Facebook 流目标。 (/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/pushpublish/mapentries)

{
  "entryName": "fb-api",
  "profile": "rtmp-facebook",
  "sourceStreamName": "{StreamName}",
  "facebook.title": "Live Test",
  "facebook.destType": "timeline",
  "facebook.destId": "{DestinationPageId}",
  "facebook.destName": "My Timeline",
  "facebook.description": "This is Wowza live test",
  "facebook.accessToken": "{FacebookAccessToken}",
  "facebook.privacy": "onlyMe",
  "extraOptions": {
    "destinationName": "facebook"
  },
  "enabled": true
}

如果您可以访问安装 Wowza 的文件系统,您可以看到在 \conf\{appName}\PushPublishMap.txt 文件中创建的所有流目标。您可以通过 Wowza 流引擎接口配置流目标并打开此文件,以了解使用 REST API 的特定类型流目标所需的参数。

请注意,这适用于 Wowza Streaming Engine 4.5 及更高版本。

【讨论】:

  • 感谢 Aslam,我按照你的方式做,这对我有帮助。
  • 嗨! Ayaz 我正在使用 wowza 4.6 这个解决方案仍然有效吗?我也在做同样的事情,但在流目标中出现错误。似乎不接受令牌。同样,当使用 wowza 流引擎登录 facebook 时,在发布地图文件中生成的令牌很奇怪,例如日志中的“ENC-xxxx” wowza 抛出此错误 PushPublishFacebookUtil.getTokenInfo: GET path:v2.6/debug_token result:400
  • 嗨 Usama,它应该仍然适用于 4.6 版。请确保您使用的 Facebook 访问令牌具有发布视频所需的权限。
【解决方案2】:

我同意@AyazAslam 已经提供的答案,但有一些小警告:

  • “facebook.destType”参数可以是“时间线”, “page”、“group”或“event”,因此“facebook.destId”参数值更一般应该是:

    "facebook.destId": "{DestinationId}"
    
  • “facebook.privacy”参数实际上只适用于发布到 “时间线”。它对其他目的地类型没有影响。

  • 用于创建访问令牌的 Facebook 应用程序必须具有 由于 Wowza 无法提供其他应用程序的应用程序,“需要应用程序机密”选项被禁用 Facebook API 调用中的秘密。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多