Green screen, foreground

Maksym

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

Attachments

Last edited:

Max

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

Maksym

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

Max

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

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:

Max

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