Какие теги в итоге используются для видео-плеера внутри remoteVideo? И какие сообщения ошибок сущ.?

inpost

Member
Здравствуйте.
WebRTC вставляет тег <video>, так же увидел, что вставляется <canvas>. Какие ещё вставляются? Хочу в CSS прописать размеры, но боюсь писать #remoteVideo * , а вдруг что-то могу поломать. Или, всё же, #remoteVideo * будет хорошим решением?

И второй вопрос, есть ли где-то список всех существующих ошибок? То есть неплохо, что выводится "FAILED: The object can not be found here.", но для пользователя хотелось бы более понятные сообщения выводить в формате: "Отсутствует подключение камеры". А вместо "This provider doesn't support getMediaAccess" выводить что-то вроде "Ваш браузер не поддерживает трансляции с камеры, используйте IOS Safari" и т.д. Есть где-то задокументированный этот список ошибок?
 

Max

Administrator
Staff member
Хочу в CSS прописать размеры, но боюсь писать #remoteVideo * , а вдруг что-то могу поломать. Или, всё же, #remoteVideo * будет хорошим решением?
Web SDK вставляет в div один из следующих объектов
1. <video>
WebRTC или Media Source
2. <canvas>
WSPlayer
3. SWF object
Flash

Поэтому, если делать так "#remoteVideo *", то должно все работать, но не поянтно как повлияет на Flash, т.к. флэш объекты могут иметь баги, связанные с CSS.
Нужно проверять отображение в IE11 с включенным Flash Player.
 

Max

Administrator
Staff member
И второй вопрос, есть ли где-то список всех существующих ошибок?
Списка нет. Ошибки могут приходить как с сервера, так и инициироваться браузером.
Добавим задачу по классификации и созданию списка ошибок. Когда будет, отпишем.
 

inpost

Member
Здравствуйте.
Есть ошибка "Device not found". Появляется, если камера не подключена, к примеру. В списке ошибок её нет.
Данная документация обработки ошибок не полная, или есть другой список?

Так же есть ещё ошибка: "This provider doesn't support getMediaAccess". Достаточно популярная. Думаю, что это не последняя ошибка. Требуется составить FAQ для работы с клентами по решению проблем, а для этого нужно в т/п передать ошибки и пути их решения.
 
Last edited:

Max

Administrator
Staff member
Добрый день.
В документации приведен список ошибок, возникающих при установке соединения клиента с сервером, публикации или просмотре потока и совершении звонка. Локальных ошибок (возникающих на самом клиенте) в этом списке нет.
"Device not found" - эту ошибку возвращает браузер, если устройство захвата (камера или микрофон) не подключено
"This provider doesn't support getMediaAccess" - эта ошибка означает, что используемый для публикации или просмотра медиапровайдер не поддерживает функцию getMediaAccess(). Данную функцию поддерживает только медиапровайдер WebRTC. Остальные медиапровайдеры (Flash, MSE, WSPlayer) используются только для воспроизведения и не поддерживают getMediaAccess(). В свою очередь, Flash и WSPlayer теряют свою актуальность, первый из-за окончания поддержки в браузерах, второй из-за ухода с рынка устройств на базе iOS 10 и ниже.
 

Max

Administrator
Staff member
Мы создали внутренний тикет WCS-2493, в котором добавим обработку локальных ошибок, отсутствующих в упомянутом списке. О результатах сообщим здесь.
 

Max

Administrator
Staff member
Добрый день.
В сборке WebSDK 0.5.28.2753.144 (исходные тексты на GitHub) добавлена обработка локальных ошибок, возникающих в браузере клиента.
При перехвате ошибки, возникшей в локальном браузере, метод Stream.getInfo() возвращает значение Flashphoner.constants.ERROR_INFO.LOCAL_ERROR. При этом метод Stream.getErrorInfo() возвращает описание возникшей ошибки на основе перехваченного исключения, например:
  • Requested device not found - отключены все микрофоны или камеры
  • Could not start video source - камера захвачена другим приложением (диагностика в Chromium-браузере)
  • Failed to allocate videosource - камера захвачена другим приложением (диагностика в Firefox)
  • Permission denied - не предоставлен доступ к камере и/или микрофону
  • Invalid constraint - выбрано разрешение, которое не поддерживается камерой в Safari
  • This provider doesn't support getMediaAccess - используется WSPlayer, либо страница публикации открыта через небезопасное соединение (HTTP)
Пример кода обработки ошибок, реализованный в примере Two Way Streaming, можно посмотреть здесь
 
Top