Настройка микшера с CropNoPaddingGridLayout

Здравствуйте!

Подскажите, пожалуйта, как выполнить настройку CropNoPaddingGridLayout. Просто указать mixer_layout_class=com.flashphoner.media.mixer.video.presentation.CropNoPaddingGridLayout не помогает и полученный поток всё равно выглядит как 2 входящих, просто расположенных рядом, как при стандартном GridLayout.

Пробовал увеличивать размер входящих потоков, уменьшать размер исходящего потока, обьединять больше потоков в один микшер (до 4-х) - результат одинаков - исходящий поток - это просто рядом расположенные входящие.

Пример микшера из двух потоков, где видно что лейаут CropNoPaddingGridLayout применился:

Code:
[{'localMediaSessionId': 'f860f5dd-ec33-4537-8d75-15583215fc29', 'localStreamName': 'mixer2', 'uri': 'mixer://mixer2', 'status': 'PROCESSED_LOCAL', 'hasAudio': True, 'hasVideo': True, 'record': False, 'mediaSessions': [{'localMediaSessionId': '1aeeedb1-5994-11eb-b678-9f29c14cbc3b', 'audioLevel': 100, 'videoMuted': False, 'localStreamName': 'test-room-user_against-1aee'}, {'localMediaSessionId': '157cbba1-5994-11eb-9b9d-4909671870fc', 'audioLevel': 100, 'videoMuted': False, 'localStreamName': 'test-room-user_for-157c'}], 'mixerLayoutClass': 'com.flashphoner.media.mixer.video.presentation.CropNoPaddingGridLayout', 'mixerActivityTimerCoolOffPeriod': 1, 'mixerActivityTimerTimeout': -1, 'mixerAppName': 'defaultApp', 'mixerAudioOpusFloatCoding': False, 'mixerAudioSilenceThreshold': -50.0, 'mixerAudioThreads': 4, 'mixerAutoScaleDesktop': False, 'mixerDebugMode': False, 'mixerDesktopAlign': 'TOP', 'mixerDisplayStreamName': False, 'mixerFontSize': 20, 'mixerFontSizeAudioOnly': 40, 'mixerIdleTimeout': 10000, 'mixerInBufferingMs': 200, 'mixerIncomingTimeRateLowerThreshold': 0.95, 'mixerIncomingTimeRateUpperThreshold': 1.05, 'mixerMcuAudio': False, 'mixerMcuVideo': False, 'mixerMcuMultithreadedMix': False, 'mixerMinimalFontSize': 1, 'mixerMcuMultithreadedDelivery': False, 'mixerOutBufferEnabled': False, 'mixerOutBufferInitialSize': 2000, 'mixerOutBufferStartSize': 150, 'mixerOutBufferPollingTime': 100, 'mixerOutBufferMaxBufferingsAllowed': -1, 'mixerShowSeparateAudioFrame': True, 'mixerTextAutoscale': True, 'mixerTextColour': '0xFFFFFF', 'mixerTextBulkWriteWithBuffer': True, 'mixerTextBulkWrite': True, 'mixerTextBackgroundOpacity': 100, 'mixerTextBackgroundColour': '0x2B2A2B', 'mixerTextPaddingLeft': 5, 'mixerVoiceActivitySwitchDelay': 0, 'mixerVoiceActivityFrameThickness': 6, 'mixerVoiceActivityFramePositionInner': False, 'mixerVoiceActivityColour': '0x00CC66', 'mixerVoiceActivity': True, 'mixerVideoWidth': 1280, 'mixerVideoThreads': 4, 'mixerVideoStableFpsThreshold': 15, 'mixerVideoQuality': 24, 'mixerVideoProfileLevel': '42c02a', 'mixerVideoLayoutDesktopKeyWord': 'desktop', 'mixerVideoHeight': 720, 'mixerVideoGridLayoutPadding': 1, 'mixerVideoGridLayoutMiddlePadding': 1, 'mixerVideoFps': 30, 'mixerVideoDesktopLayoutPadding': 30, 'mixerVideoDesktopLayoutInlinePadding': 10, 'mixerVideoBufferLength': 1000, 'mixerVideoBitrateKbps': 2000, 'mixerUseSdpState': True, 'mixerType': 'NATIVE', 'mixerThreadTimeoutMs': 33, 'mixerTextPaddingTop': 5, 'mixerTextPaddingRight': 4, 'mixerTextFont': 'Serif', 'mixerTextPaddingBottom': 5, 'mixerTextDisplayRoom': True, 'mixerTextCutTop': 3, 'mixerRealtime': True, 'mixerPruneStreams': False, 'audioMixerOutputCodec': 'opus', 'audioMixerOutputSampleRate': 48000, 'audioMixerMaxDelay': 300, 'mixerAudioOnlyHeight': 360, 'mixerAudioOnlyWidth': 640, 'mixerTextOutsideFramePadding': 50, 'mixerTextOutsideFrame': 'NO', 'mixerVideoDesktopFullscreen': False}]
То что мы ожидаем получить в результате описано в этой теме https://forum.flashphoner.com/threads/custom-mixer-layout-cropping.13237/#post-25930
 
Публиковать потоки пробовал и с помощью админ панели и стандартного примера VideoChat так и и помощью WebSDK
 

Max

Administrator
Staff member
Добрый день.
К сожалению, проблема не воспроизводится на последней актуальной сборке 5.2.878 с настройками микшера:
Code:
mixer_idle_timeout=10000
mixer_layout_class=com.flashphoner.media.mixer.video.presentation.CropNoPaddingGridLayout
1611026351615.png

Уточните, пожалуйста, какую сборку и с какими настройками Вы тестируете
Вы также можете предоставить нам SSH доступы к серверу, используя эту форму.
 
Добрый день!

Тастройки микшера абсолютно идентичны вашим
Code:
mixer_idle_timeout=10000
mixer_layout_class=com.flashphoner.media.mixer.video.presentation.CropNoPaddingGridLayout
Так публикуем входящие потоки и вот как выглядит поток микшера
1.png

3.png


И в VLC
2.png


Микшер создается такой командой

Code:
curl --header "Content-Type: application/json" --request POST flashphoner.url/rest-api/mixer/startup
--data '{"uri": "mixer://mixer2", "localStreamName": "mixer2", "hasVideo": "true", "hasAudio": "true", "mixerVideoWidth": 640, "mixerVideoHeight": 480}'
Результат

Code:
{'localMediaSessionId': '1dbaeb80-a87d-4b6a-bd86-e065690ef7ec', 'localStreamName': 'mixer2',
'uri': 'mixer://mixer2', 'status': 'PROCESSED_LOCAL', 'hasAudio': True,
'hasVideo': True, 'record': False, 'mediaSessions': [{'localMediaSessionId':
'c42ad930-5a2e-11eb-bb99-6dc3ae8a8699', 'audioLevel': 100, 'videoMuted': False,
'localStreamName': 'cfda'}, {'localMediaSessionId': 'de6a3570-5a2e-11eb-bf32-cbec2e7f6538',
'audioLevel': 100, 'videoMuted': False, 'localStreamName': 'd2a1'}],
'mixerLayoutClass': 'com.flashphoner.media.mixer.video.presentation.CropNoPaddingGridLayout',
'mixerActivityTimerCoolOffPeriod': 1, 'mixerActivityTimerTimeout': -1,
'mixerAppName': 'defaultApp', 'mixerAudioOpusFloatCoding': False,
'mixerAudioSilenceThreshold': -50.0, 'mixerAudioThreads': 4,
'mixerAutoScaleDesktop': True, 'mixerDebugMode': False, 'mixerDesktopAlign': 'TOP',
'mixerDisplayStreamName': False, 'mixerFontSize': 20, 'mixerFontSizeAudioOnly': 40,
'mixerIdleTimeout': 10000, 'mixerInBufferingMs': 200, 'mixerIncomingTimeRateLowerThreshold': 0.95,
'mixerIncomingTimeRateUpperThreshold': 1.05, 'mixerMcuAudio': False,
'mixerMcuVideo': False, 'mixerMcuMultithreadedMix': False, 'mixerMinimalFontSize': 1,
'mixerMcuMultithreadedDelivery': False, 'mixerOutBufferEnabled': False,
'mixerOutBufferInitialSize': 2000, 'mixerOutBufferStartSize': 150, 'mixerOutBufferPollingTime': 100,
'mixerOutBufferMaxBufferingsAllowed': -1, 'mixerShowSeparateAudioFrame': True, 'mixerTextAutoscale': True,
'mixerTextColour': '0xFFFFFF', 'mixerTextBulkWriteWithBuffer': True, 'mixerTextBulkWrite': True,
'mixerTextBackgroundOpacity': 100, 'mixerTextBackgroundColour': '0x2B2A2B', 'mixerTextPaddingLeft': 5,
'mixerVoiceActivitySwitchDelay': 0, 'mixerVoiceActivityFrameThickness': 6, 'mixerVoiceActivityFramePositionInner': False,
'mixerVoiceActivityColour': '0x00CC66', 'mixerVoiceActivity': True, 'mixerVideoWidth': 640, 'mixerVideoThreads': 4,
'mixerVideoStableFpsThreshold': 15, 'mixerVideoQuality': 24, 'mixerVideoProfileLevel': '42c02a',
'mixerVideoLayoutDesktopKeyWord': 'desktop', 'mixerVideoHeight': 480, 'mixerVideoGridLayoutPadding': 30,
'mixerVideoGridLayoutMiddlePadding': 10, 'mixerVideoFps': 30, 'mixerVideoDesktopLayoutPadding': 30,
'mixerVideoDesktopLayoutInlinePadding': 10, 'mixerVideoBufferLength': 1000, 'mixerVideoBitrateKbps': 2000,
'mixerUseSdpState': True, 'mixerType': 'NATIVE', 'mixerThreadTimeoutMs': 33, 'mixerTextPaddingTop': 5,
'mixerTextPaddingRight': 4, 'mixerTextFont': 'Serif', 'mixerTextPaddingBottom': 5, 'mixerTextDisplayRoom': True,
'mixerTextCutTop': 3, 'mixerRealtime': True, 'mixerPruneStreams': False, 'audioMixerOutputCodec': 'opus',
'audioMixerOutputSampleRate': 48000, 'audioMixerMaxDelay': 300, 'mixerAudioOnlyHeight': 360, 'mixerAudioOnlyWidth': 640,
'mixerTextOutsideFramePadding': 50, 'mixerTextOutsideFrame': 'NO', 'mixerVideoDesktopFullscreen': False}
Доступ по SSH предоставили
 

Max

Administrator
Staff member
Мы воспроизвели проблему, в том числе и в нашем тестовом окружении. Завели тикет WCS-3043, сообщим здесь об исправлении.
 

Max

Administrator
Staff member
Проблема исправлена в сборке 5.2.880, CropNoPaddingGridLayout применяется. Пожалуйста, обновите WCS и попробуйте.
 
Top