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

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 не волнует присутствует ли там видео или аудио, значения не измены.
 

pride

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

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.
 

pride

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.
Тогда есть ли какая либо возможность не пропускать аудио поток через WCS , для конкретного приложения, или глобально для всего сервера?
 

Max

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

pride

Member
Code:
session.createStream({name:'stream1', constraints:{audio:false, video:true}}).publish();
Можно отключить аудио при публикации потока или сделать mute.
Или вам нужно запретить аудио на стороне сервера, чтобы пользователь в принципе не смог опубликовать поток с аудио?
Именно так, желательно в пределах одного App
 

Max

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

pride

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

Max

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

pride

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

pride

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

Max

Administrator
Staff member
Это быстро сделать не получится, т.к. прямого доступа из этой точки к проверке appKey нет.
Напишите по этому вопросу на sales@flashphoner.com с номером лицензии чтобы узнать, можно ли ввести такие настройки и как это может быть выполнено.
 

pride

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

Max

Administrator
Staff member
suppress_audio=true
Проверили с версией 2613, WebRTC и RTMP с демо Flash Streaming, Two-way Streaming: настройка работает – аудио нет. Уточните, пожалуйста, как проверяли. На сервере, для которого были присланы доступы, эта настройка закомментирована.
 

pride

Member
Мы после обнаружение этой проблемы , отказались от подавление звука.
Публиковали Flash WEBSDK
{video: {}, audio: false}
Смотрели WebRTC.
Завтра перепроверим.
 
Top