Я работаю с потоковой передачей видео WebRTC P2P на 2 каналах FullHD и HD между моей камерой и Интернетом. Проблема возникает, когда я переключаюсь с канала HD на канал FullHD и наоборот, видеоизображение через мгновение искажается или появляется зеленый экран, после чего поток работает нормально. Я пытаюсь отправить I-Frame каждый раз, когда переключаюсь между двумя каналами, но проблема, описанная выше, все еще остается. Нужно ли мне что-то отправлять для сброса видео для декодера?
Это мой простой код, показывающий мой процесс:
Код: Выделить всё
int bChannelSelected = 0;
// Get video encode channel HD
void GetVENCChannelHD() {
if (bChannelSelected == 0) {
// Send I-Frames of sample HD
// Send samples HD to clients
}
}
// Get video encode channel FullHD
void GetVENCChannelFullHD() {
if (bChannelSelected == 1) {
// Send I-Frames of sample FullHD
// Send samples FullHD to clients
}
}
void setChannelSelected(int channel) {
bChannelSelected = channel;
}
Мне приходится пытаться отправлять I-Frame каждый раз, когда я переключаюсь на другой канал, но через мгновение он все равно показывает зеленый экран
Подробнее здесь:
https://stackoverflow.com/questions/793 ... pted-image