Проблемы с hasAudio && hasVideo

Discussion in 'Web Call Server 5' started by pride, May 17, 2017.

  1. pride

    pride Member

    При публикации из кастомного флеша потока на WCS в REST появляеться такая запись:
    {
    "custom": {},
    "nodeId": null,
    "appKey": "streamFlash",
    "sessionId": "9d5d3124-0f7a-45ab-85d7-f8bdb7380cf9",
    "mediaSessionId": "cf01c1a1-69ae-4772-9059-7653226e0d9a",
    "remoteMediaElementId": null,
    "name": "135212",
    "published": true,
    "hasVideo": false,
    "hasAudio": true,

    "status": "PUBLISHING",
    "sdp": null,
    "info": null,
    "record": false,
    "recordName": null,
    "width": 0,
    "height": 0,
    "bitrate": 0,
    "quality": 0,
    "rtmpUrl": null,
    "nodeId": null,
    "appKey": null,
    "sessionId": null,
    "mediaSessionId": "cf01c1a1-69ae-4772-9059-7653226e0d9a",
    "name": "135212",
    "samplingTime": null,
    "recordTimestamp": null,
    "recordStarted": false
    },
    "mediaProvider": "Flash"

    И WCS не волнует присутствует ли там видео или аудио, значения не измены.
  2. pride

    pride Member

    А видео, и аудио до просматривающего клиента доходит, если есть конечно)
  3. Max

    Max Administrator Staff Member

    Параметры hasAudio и hasVideo пока под вопросом. Чуть позже уточним за что они отвечают.
    Реально присустсвие аудио и видео показывает параметр constraints, который используется при создании стрима.
    Code:
    session.createStream({name:'stream1', constraints:{audio:true,video:{width:1280, height:720}}});
    по-умолчанию:
    Code:
    constraints: {audio:true,video:true}
    т.е. по-умолчанию аудио и видео включены.

    В последней сборке Web SDK мы добавили передачу constraints на REST:
    https://github.com/flashphoner/flashphoner_client/commit/0054f0f7eeb60ae4d0bc3482e2fe81b8ed3d75be
    https://flashphoner.com/downloads/b...54f0f7eeb60ae4d0bc3482e2fe81b8ed3d75be.tar.gz

    Пример передачи constraints на REST:
    Code:
    URL:http://localhost:9091/EchoApp/publishStream
    OBJECT:
    {
      "nodeId" : "H4gfHeULtX6ddGGUWwZxhUNyqZHUFH8j@192.168.1.59",
      "appKey" : "defaultApp",
      "sessionId" : "/192.168.88.254:51094/192.168.88.59:8443",
      "mediaSessionId" : "c7c0ca00-3ba6-11e7-bae0-b926f25ab319",
      "name" : "4070",
      "published" : true,
      "hasVideo" : true,
      "hasAudio" : true,
      "status" : "PENDING",
      "record" : false,
      "width" : 0,
      "height" : 0,
      "bitrate" : 0,
      "quality" : 0,
      "mediaProvider" : "WebRTC",
      "constraints" : {
        "audio" : true,
        "video" : {
          "width" : 1280,
          "height" : 720
        }
      }
    }
    Таким образом, если нужна требуется о наличии аудио, видео, разрешении, нужно искать ее в constraints, а не в hasAudio, hasVideo.
  4. pride

    pride Member

    Тогда есть ли какая либо возможность не пропускать аудио поток через WCS , для конкретного приложения, или глобально для всего сервера?
  5. Max

    Max Administrator Staff Member

    Code:
    session.createStream({name:'stream1', constraints:{audio:false, video:true}}).publish();
    Можно отключить аудио при публикации потока или сделать mute.
    Code:
    stream.muteAudio();
    Или вам нужно запретить аудио на стороне сервера, чтобы пользователь в принципе не смог опубликовать поток с аудио?
    Last edited: May 18, 2017 at 12:41 PM
  6. pride

    pride Member

    Именно так, желательно в пределах одного App
  7. Max

    Max Administrator Staff Member

    Можем попробовать добавить глобальное подавление аудио на стороне сервера.
    Если получится быстро сделать, сообщим.
  8. pride

    pride Member

    Ок, спасибо.
  9. Max

    Max Administrator Staff Member

    Добавили настройку
    Code:
    suppress_audio=true
    Сборка 2239
    Подавляет весь звук, который идет через сервер.
    Настройка не работает для триальных лицензий, т.к. в триальных лицензиях добавляются звуковые вставки (watermarks).
  10. pride

    pride Member

    Благодарю.

Share This Page