Record hardware bitrate verification and final call video checks
This commit is contained in:
1 parent
e1b29af8ce
commit
401ca96d7d
2 files changed
+18
No files matched your search
@@ -67,6 +67,7 @@ Desktop готовит кандидата в отдельном потоке, п
|
||||
Готовый кандидат применяется только на IDR; при незавершённой подготовке текущий
|
||||
GOP продолжается. Android сначала меняет bitrate через MediaCodec.setParameters
|
||||
без остановки; подтверждает только проверенный KEY с PTS не раньше команды.
|
||||
Уже закодированные P-кадры перед этим KEY сохраняются: runtime bitrate не разрушает references.
|
||||
При отказе runtime API Android переоткрывает encoder последовательно (аппаратный
|
||||
ресурс может быть единственным), при ошибке восстанавливает прежнюю конфигурацию
|
||||
и подтверждает фактически восстановленный bitrate. В этой резервной ветке возможна
|
||||
@@ -556,3 +557,17 @@ H.264 commit 5–7мс; H.265 51–76мс включая кодирование
|
||||
Измерение /tmp/call-video-background-test.log; для H.265 стоимость кодирования остаётся существенной.
|
||||
Android assembleDebug и 81 unit-тест проходят. Полный звонок с камерами после этих правок
|
||||
требует ручной приёмки; автоматические проверки не подтверждают его целиком.
|
||||
|
||||
Аппаратная смена bitrate без перезапуска подтверждена на шумовом YUV с ограниченным контрастом:
|
||||
Samsung AVC: 3.985M -> 306.8k -> 3.990M; Unisoc HEVC: 4.031M -> 291.9k -> 4.042M;
|
||||
Unisoc AVC: 3.993M -> 29.3k -> 3.994M бит/с. В каждой пробе получены все 360 кадров
|
||||
с точными PTS и проверенными KEY. При сильной квантизации шум пропадает; фактический
|
||||
выход ниже target допустим. Проверяются верхняя граница low-rate и восстановление high-rate,
|
||||
а не наличие filler до target. Полностью случайный 8-bit шум в первой пробе Samsung
|
||||
превысил 4M: аппаратный CBR не является жёстким ограничителем выходного потока.
|
||||
Сетевой admission/ограничитель очереди остаётся необходимым.
|
||||
Логи: /tmp/call-video-dynamic-sm-detail2.log, /tmp/call-video-dynamic-sp-final.log,
|
||||
/tmp/call-video-sp-rates-final.log. CallVideoProbe принимает -e codec 1/2 для отдельной пробы.
|
||||
Итоговый APK установлен на оба телефона. check.sh: 154/154, proxy 9/9, burst/load PASS (119с),
|
||||
/tmp/call-video-core-final-check-unsandboxed.log. Первый запуск в sandbox не мог открыть сокеты;
|
||||
успешный полный прогон выполнен с разрешённым сетевым доступом.
|
||||
@@ -60,6 +60,9 @@
|
||||
Фризы: обе платформы сохраняют decoder при коррекции audio epoch; production RX 90/90 кадров,
|
||||
32 коррекции часов, 0 KEY requests/rejections. Android Camera2 больше не теряет кадры на пороге 33333мкс.
|
||||
Desktop готовит encoder при смене bitrate в фоне, применяет на IDR; Qt codecs 10/10 PASS.
|
||||
Runtime bitrate проверен на Samsung AVC и Unisoc HEVC/AVC: все 360 кадров каждого потока,
|
||||
ограничение low-rate и возврат к 4M. Android сохраняет P-кадры, ожидающие нового KEY.
|
||||
Итог: Android 81/81, check.sh 154/154 + proxy 9/9 + burst/load PASS; APK обновлён на обоих телефонах.
|
||||
Осталась ручная приёмка полного звонка с камерами, Surface, A/V и переключениями после исправления.
|
||||
Аппаратные probes используют синтетические кадры.
|
||||
Контракты, этапы и проверки: `doc/call_video.txt`.
|
||||
|
||||
Reference in new issue
Block a user