Green screen, foreground

Discussion in 'Web Call Server 5' started by Maksym, Sep 4, 2018.

  1. Maksym

    Maksym Member

    Добрый день.
    Хотел уточнить по поводу зеленого экрана на переднем плане стрима по WebRTC (3G)
    С некоторых девайсов замечаем появление зеленого экрана и артефактов. Есть ли настройки на сервере которые можно "подкрутить", что бы избавиться от этого зеленого экрана.
    Ну и буду благодарен, если дадите ресурсы, где можно почитать о причинах, а то все что я находил как-то не совсем соответствует описанной проблеме. Из единственного, это покопать в сторону TCP, по причине потери пакетов на UDP. Но хотелось бы услышать Вашу точку зрения

    Attached Files:

    Last edited: Sep 4, 2018
  2. Max

    Max Administrator Staff Member

    Добрый день.
    Можно попробовать покрутить эти настройки. Ограничение битрейта при публикации поможет справиться с недостаточной пропускной способностью канала (а в случае использования 3G это, скорее всего, так), т.к. одной из основных причин появления артефактов являются резкие изменения битрейта.
    Снизить потери UDP-пакетов можно попробовать этими настройками.
  3. Maksym

    Maksym Member

    Доброго времени суток.
    Отправил дебаг-логи на почту.
    Можете посмотреть и подсказать какую настройку подкрутить на сервере, дабы избавиться от зеленого экрана, уж пусть лучше будут фризы и артефакты.
    Заметили еще одно наблюдение:
    Если webrtc_cc_max_bitrate выставить в 500к, то зеленый экран тоже появляется и гораздо чаще, при этом в приложении был выставлен нижний порог в 700к(это было в качестве теста, сейчас все вернули как написал в письме)
  4. Max

    Max Administrator Staff Member

    При ограничении битрейта нежелательно устанавливать нижний порог на публикующей стороне больше, чем верхний на сервере.
    По предоставленным логам видно, что в момент появления артефактов битрейт при публикации был 1500к, в момент восстановления в Chrome битрейт просел ниже 120к, затем поднялся до 200к, в момент восстановления в приложении-вотчере поднялся до 1200к и выше.
    Воспроизвести ситуацию на наших тестовых серверах и iOS-приложении Two Way Streaming пока не удается.
    В связи с этим, вопросы:
    1. На некоторых устройствах - это пара-тройка клиентов или массовая проблема?
    2. Публикация идет именно через 3G, не LTE? Провайдер в этих случаях один и тот же?
    Можно рекомендовать уменьшить разрешение при публикации через 3G, по логам транслируется 540*960, если уменьшить хотя бы до 480*640, артефактов должно стать меньше.
  5. Maksym

    Maksym Member

    Добрый день
    не нашел в документации значение, которое записывается в логи, потому спрошу тут
    Что они означают и как с этим можно бороться(на стороне сервера)
    14:29:13,999 INFO VideoSession - Stun-Clbk-thread udp/31904 CLEAR and SEND CACHE (size=0)
    14:29:13,999 INFO MediaSession - Stun-Clbk-thread udp/31904 Start rtp activity detecting for audio session 259260b2-0afa-42b5-838f-5eeecdc9945b
    14:29:14,000 INFO RtpAudioPlayer - Stun-Clbk-thread udp/31904 Rtp activity detecting started, port 31634
    14:29:14,000 INFO MediaSession - Stun-Clbk-thread udp/31904 Initialized 259260b2-0afa-42b5-838f-5eeecdc9945b
    14:29:48,514 WARN stractRtpRtcpSession - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Sending slowed down, diff 3064
    14:30:17,852 WARN stractRtpRtcpSession - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Sending slowed down, diff 3148
    14:30:58,999 WARN stractRtpRtcpSession - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Sending slowed down, diff 3049
    и
    14:26:27,531 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3950915560
    14:26:27,531 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 91
    14:26:27,531 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3950915560
    14:26:27,553 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Failed to parse H264 bitstream, Failed to parse H264 frame, no packets
    14:26:27,553 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Failed to parse H264 bitstream, Failed to parse H264 frame, no packets
    14:26:27,746 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:28,984 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:33,985 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:39,004 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:44,030 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,257 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,287 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,287 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:26:47,287 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 62
    .....
    14:26:48,259 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 87
    14:26:48,259 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3952784140
    14:26:48,259 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 87
    14:26:48,259 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3952784140
    14:26:48,267 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Can't generate extradata, H264 can't generate extra data without sps/pps
    14:26:48,267 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:48,267 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Can't generate extradata, H264 can't generate extra data without sps/pps
    14:26:48,470 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:49,044 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:54,060 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:26:59,094 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,763 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,779 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:27:02,779 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    ....
    14:28:12,897 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3960399490
    14:28:12,897 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 91
    14:28:12,897 WARN JitterBuffer - RTP-pool-90-thread-6656 Too old incomplete frame, flush 3960399490
    14:28:12,934 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Failed to parse H264 bitstream, Failed to parse H264 frame, no packets
    14:28:12,934 ERROR H264AccessUnit - RTP-pool-90-thread-6656 Failed to parse H264 bitstream, Failed to parse H264 frame, no packets
    14:28:13,079 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:14,211 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:19,218 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:24,229 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:29,272 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:34,306 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:39,288 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:44,290 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:49,339 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:54,341 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:28:59,336 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:04,336 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:04,892 INFO eoSessionGroup-PROXY - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Request K-Frame from far end
    14:29:05,050 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:09,390 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:14,000 INFO VideoProcessor - Stun-Clbk-thread udp/31904 Trying to get sps pps and copy them to streamer config
    14:29:14,000 INFO VideoProcessor - Stun-Clbk-thread udp/31904 GROUPS:
    GROUP PROXY
    incoming resolution: C 0x0
    sessions size: 2


    14:29:14,390 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:14,894 INFO eoSessionGroup-PROXY - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Request K-Frame from far end
    14:29:15,112 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:19,411 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:24,425 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:25,137 INFO eoSessionGroup-PROXY - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Request K-Frame from far end
    14:29:25,322 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:29,426 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:34,297 INFO eoSessionGroup-PROXY - VideoDistributor-PROXY-CBA75FCD-4B2E-481F-82FC-BDA7730A212E Request K-Frame from far end
    14:29:34,465 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:39,446 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:44,498 INFO FFH264Player - RTP-pool-90-thread-6656 Set I-Frame h264CodecConfig - 396x720
    14:29:47,474 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,474 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,479 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,479 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,512 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,512 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 61
    14:29:47,512 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 62
    14:29:47,512 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 62
    14:29:47,552 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 62
    14:29:47,552 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 62
    14:29:47,552 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 63
    14:29:47,552 ERROR JitterBuffer - RTP-pool-90-thread-6656 incomplete frames size 63
    По времени появления зеленого экрана совпадает
    Last edited: Sep 22, 2018
  6. Max

    Max Administrator Staff Member

    Добрый день.
    Первый фрагмент диагностирует замедление входящего потока. Конкретно в данном случае публикатор не присылал медиапакетов в течение 3 секунд, после чего снова начал их присылать.
    Второй фрагмент диагностирует незавершенные видеофреймы в большом количестве.
    В совокупности и то, и другое показывает проблемы с сетью передачи данных, в частности, такое поведение характерно для публикации видео с iOS по 3G.
    Вы можете обновиться до последней доступной версии (если Вы используете WCS 5.0, это 5.0.3508, если WCS 5.1, то 5.1.3550) и использовать возможность включения дебаговых логов для конкретного клиента "на лету", без перезапуска сервера, которая описана здесь. Зафиксировав зеленый эуран от очередного клиента, снимите его отладочный лог таким образом и пришлите нам.
    В любом случае, возможности борьбы с плохим качеством сети со стороны сервера невелики: выставить ограничение по битрейту (что уже пробовали) и уменьшить разрешение при публикации (судя по приведенному фрагменту, уменьшать еще есть куда).
    Maksym likes this.

Share This Page