Рассинхрон аудио и видео

alexanderY

Member
Добрый день.
Появился один клиент из Таиланда. Как известно, там интернет не очень стабильный, и высокие пинги. Однако, во время конференции с ним все довольно хорошо (задержка в 0.5-1 секунду).

Зато в записях видео запаздывает примерно на полторы минуты, вот пример https://yadi.sk/d/CrBIb5XR3H3pCs
Звук начинается с 4:10, примерно. Ждем полторы минуты и видим, наконец, как видео начинает соответствовать звуку.

При этом, не с каждым файлом от этого клиента проблема. Есть файлы, где все ок. И повторюсь, в живую во время конференции проблем с рассинхроном не было.
 

Max

Administrator
Staff member
Добрый день. Сейчас решаем похожую проблему с рассинхронизацией. Скорее всего завтра-послезавтра будут новости по ней.
 

Max

Administrator
Staff member
Проблема с синхронизацией должна быть исправлена в сборке 2175.
 

alexanderY

Member
Обновились. Сегодня потестируем. Сообщу завтра, как все прошло.
 

alexanderY

Member
По записям пока не могу ничего сказать, т.к. забыли обновить скрипт on_record_hook, а в ручном режиме записи ещё не обработали.
Но были проблемы у юзеров, стримы рандомно могли не воспроизводиться и не вещаться. Решили перезагрузкой Фонера:
  1. service webcallserver stop
  2. проверка grep'ом, что процессов не осталось (их реально не осталось)
  3. service webcallserver start
Это при том, что сразу после обновления я перезагрузил Фонер командой `service webcallserver restart`.
В общем, после пунктов 1-3 проблемы ушли.

По проблеме рассинхрона отпишу позже, либо когда получим новые записи, либо когда/если обработаем руками то, что сейчас есть. Я так понимаю, автоматизировать этот процесс нельзя сейчас. Я имею в виду, файлы из каталога /usr/local/FlashphonerWebCallServer-5.0.2175/records вида `stream-1a3911d0-2454-11e7-b6cb-cd5bb431c3c3-8lm7gmiphuhrdh1j6ko2gs0btc.webm` скормить скрипту on_record_hook заново. В ручном режиме планирую пройтись по каждому файлу, найти mediaSessionId, совпадающий с частью имени файла, ну и соответственно выполнить всё, что нам нужно (переименовать, добавив в имя название стрима). Но честно говоря в ручном режиме делать это ой как не хочется.
 

Max

Administrator
Staff member
Я так понимаю, автоматизировать этот процесс нельзя сейчас.
Зависит от того, какие данные вы используете в on_record_hook.sh
Code:
stream-00f93180-24d3-11e7-8550-53d1400fe1f9-qb3em363gns01vrvqgpbdgpodm.webm
Например, в имени файла mediaSessionId будет
00f93180-24d3-11e7-8550-53d1400fe1f9
Можно написать скрипт, который парсит лог flashphoner_manager.log и достать name и другие параметры.
Code:
URL:http://localhost:9091/EchoApp/StreamStatusEvent
OBJECT:
{
  "nodeId" : "H4gfHeULtX6ddGGUWwZxhUNyqZHUFH8j@192.168.1.59",
  "appKey" : "defaultApp",
  "sessionId" : "/192.168.88.254:57300/192.168.88.59:8443",
  "mediaSessionId" : "00f93180-24d3-11e7-8550-53d1400fe1f9",
  "name" : "c462c9c4",
  "published" : true,
  "hasVideo" : true,
  "hasAudio" : true,
  "status" : "PUBLISHING",
   ..
}
 
Top