https://developer.mozilla.org/en-US/docs/Web/API/MediaError
https://metanit.com/web/html5/7.3.php
Media API. Управление видео из JavaScript
https://www.w3schools.com/TAGS/ref_av_dom.asp
HTML Audio/Video DOM Reference
-------------------
canPlayType()
Проверяет, может ли обозреватель воспроизвести указанный тип аудио/видео
https://html5css.ru/tags/av_met_canplaytype.php
    canplaythrough:
это событие срабатывает после загрузки страницы,
если браузер определит, что он может воспроизводить это видео/аудио
без остановки для буферизации.
https://html5css.ru/tags/av_event_canplaythrough.php
    pause: событие срабатывает, когда воспроизведение мультимедиа приостанавливается, и оно переводится в состояние "paused"
    play: событие срабатывает, когда начинается воспроизведение файла
Событие canplay происходит, когда обозреватель
может начать воспроизведение указанного аудио/видео
(когда он достаточно буферизован, чтобы начать).
https://html5css.ru/tags/av_event_canplay.php
    volumechange: срабатывает при изменении уровня звука мультимедиа
    ended: срабатывает при окончании воспроизведения
    timeupdate: +срабатывает при изменении времени воспроизведения
	Fires when the current playback position has changed
    error: генерируется при возникновении ошибки
    loadeddata: срабатывает, когда будет загружен первый фрейм видеофайла
    loadedmetadata: срабатывает после загрузки метаданных мультимедиа (длительность воспроизведения, размеры видео и т.д.)
    seeking: срабатывает, когда пользователь начинает перемещать курсор по шкале воспроизведения для перемещения к новому месту аудио- или видеофайла
    seeked: срабатывает, когда пользователь завершил перемещение к новому месту на шкале воспроизведения