Можно ли приготовить клиент Android Webrtc Ultra-Low-Latency для веб-камеры?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли приготовить клиент Android Webrtc Ultra-Low-Latency для веб-камеры?

Сообщение Anonymous »

Я пытаюсь сделать веб-камеру с задержкой 50-100 мс для целей управления в режиме реального времени. Сервер является скриптом Python, клиентом является приложение Webrtc, работающее в Android Google Chrome, непосредственно подключенное к серверу (между ними нет переключателя или маршрутизатора). Нет аудио -потока. Было бы хорошо, если бы кадр отображается, как только получено. Задержка и замораживание - это нормально. Разрешение составляет 1024x578 Colorsubsampling = '420', H.264, 50 кадров в секунду. Мое устройство Android поддерживает аппаратное ускоренное декодирование. Аппаратное ускорение включено в параметрах браузера. < /P>
Самая маленькая задержка, которую я достиг, составляет 170 мс. Я понимаю, что это называется низкой задержкой для реальных живых приложений? Но возможно ли уменьшить задержку больше? То же самое приложение, работающее в рабочем столе Google Chrome, имеет задержку 100 мс, что в порядке. Я полагаю, что Android Google Chrome имеет минимальный предел буфера -джиттера выше, чем на рабочем столе. Я прав? < /P>
Мой текущий код для установления соединения и потоковой передачи WEBRTC следующего < /p>

Код: Выделить всё

    public async runWebRTC() {
const pc = this.pc;

pc.addTransceiver('video', {direction: 'recvonly'});

pc.ontrack = event => {
this.video.nativeElement.srcObject = event.streams[0];

pc.getReceivers().forEach(receiver => {
if (receiver.track.kind === "video") {
try {
receiver.jitterBufferTarget = 10;
receiver.track.contentHint = "motion";
} catch (e) {
}
}
});

};

pc.onicecandidate = async e => {
if (e.candidate === null) {
const offer = pc.localDescription;
try {

const response = await fetch('/offer', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(offer)
});

const answer = await response.json();

await pc.setRemoteDescription(answer);
} catch (err) {
console.error('Error sending offer:', err);
}
}
};

// Create an offer to send to the server
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
}
Что можно сделать на стороне клиента, чтобы уменьшить задержку?

Подробнее здесь: https://stackoverflow.com/questions/796 ... web-camera
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»