1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vanjoge-RTVS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
JsAccess.md 25 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 20:42 13687da

Объект содержит следующие параметры:

  • onWsClose: null;
  • onServerNotice: null;
  • onEndByServer: null;
  • onHlsPlay: null;
  • onStartSpeek: null;
  • onMicError: null;
  • onTimeStamp:null;
  • onUcDbclick: null;
  • onKBpsChange: null;
  • onEndRecord: null;
  • onPlayBackCacheTime: null.

Также объект имеет следующие свойства:

  • callback: null;
  • govmd5: "";
  • govnum: 100;
  • govTimeoutMsec: 5000.

Далее следуют параметры, которые можно изменять при вызове метода:

  • tokenType: 0;
  • token: null;
  • unmuteBySelected: true;
  • selectedZIndex: 999;
  • enableDbcZoom: true;
  • playerMode: 0;
  • usingCluster: true;
  • clusterHost: «127.0.0.1»;
  • clusterPort: 17000;
  • remoteHost: «127.0.0.1»;
  • remotePortWs: 18002;
  • remotePortFmp4: 18003;
  • priority: 0;
  • forceKeyFrameOnDiscontinuity: true;
  • pcmCacheSec: 0,2;
  • maxPcmQueueCount: 15;
  • speekSendMode: 0;
  • showLoadingByPlay: true;
  • showLoadDelayMs: 1000. ``` window.onload = function () { console.log(CvNetVideo.version); //this.setTimeout(init, 2000); init(); }; var uc1; function init() { uc1 = CvNetVideo.Init(document.querySelector("#player"), 4, { remoteHost: "127.0.0.1", playerMode: 4, callback: function () { [].forEach.call(document.querySelectorAll("button"), function (btn) {

* *Разделение экрана*
    * Интерфейс: CustomScreens (screenIndex, callback).
    * Параметры:
        * screenIndex: ключ разделения экрана, соответствует параметру CvNetVideo.LayoutByScreens. Не используйте числовые значения, чтобы избежать конфликта с разделением экрана по умолчанию.
        * callback: функция обратного вызова для разделения экрана.
    * Пример:
        ```
        uc1.CustomScreens("3X2", function(width, height) {
            width = parseInt((width - 4) / 3);
            height = parseInt((height - 4) / 2);
            uc1.VideosforEach(function (video, i) {
                var video_div = video.GetVideoDiv();
                if (i > 6) {
                    // Скрываем элементы, превышающие количество экранов
                    video_div.style.display = "none";
                } else {
                    // Вычисляем положение текущего экрана
                    video_div.style.display = "block";
                    let index = i - 1;
                    let left = 2 + (index % 3) * width;
                    let top = 2 + parseInt(index / 3) * height;
                    video_div.style.left = left + "px";
                    video_div.style.top = top + "px";
                    video_div.style.width = (width - 4) + "px";
                    video_div.style.height = (height - 4) + "px";
                    video.Resize();
                }
            });
        });
        uc1.LayoutByScreens("3X2");
  • Настройка количества экранов
    • Интерфейс: LayoutByScreens(num).
    • Параметр: num — по умолчанию поддерживает 1, 2, 4, 6, 8, 9, 10, 13, 16. Если значение недействительно, по умолчанию выбирается 4 экрана. Можно комбинировать с CustomScreens для настройки разделения экрана.

Воспроизведение и управление

  • Запуск видео в реальном времени
    • Интерфейс: StartRealTimeVideo (Sim, Channel, streamType = 1, hasAudio = true, videoId = 0, config = {}, Callback = null, playermode = 0).
    • Параметры:
      • Sim: номер SIM-карты.
      • Channel: номер канала, не поддерживает значение 0.
      • streamType: основной или дополнительный поток, 0 — основной поток, 1 — дополнительный поток.
      • hasAudio: включить ли звук.
      • videoId: идентификатор окна, 0 означает текущее выбранное окно, другие значения выбираются по порядку.
      • config: параметры конфигурации, соответствуют параметрам Init.
      • Callback: обратный вызов, пока не используется.
      • playermode: режим воспроизведения.
    • Пример:
      CvNetVideo.StartRealTimeVideo(
          document.querySelector('#txtsim').value,
          parseInt(document.querySelector('#cmbChannel').value),
          parseInt(document.querySelector('#cmbStreamType').value),
          true,
          id,
          {
              remoteHost: document.querySelector("#serveradd").value
          }
      );

* *Управление передачей видео в реальном времени*
    * Интерфейс: AVTransferControl (Sim, Channel, ControlCommand, SwitchStreamType, TurnOffMediaType, videoId = 0, config = {}).
    * Параметры: см. 1078 протокол, пункт 0x9102.
    * Пример:
        ```
        CvNetVideo.AVTransferControl(
            document.querySelector('#txtsim').value,
            parseInt(document.querySelector('#cmbChannel').value),
            parseInt(document.querySelector('#cmbControlCommand').value),
            parseInt(document.querySelector('#cmbStreamType').value),
            parseInt(document.querySelector('#cmbTurnOffMediaType').value),
            id,
            {
                remoteHost: document.querySelector("#serveradd").value
            }
        );
  • Запрос на воспроизведение исторического видео
    • Интерфейс: PlaybackVideo (Sim, Channel, MediaType, StreamType = 0, StorageType = 0, PlaybackMode = 0, Multiple = 0, StartTime, EndTime, videoId = 0, config = {}, Callback = null, playermode = 0, DataSource = 0).
    • Параметры: см. 1078 протокол.
    • Пример:
      CvNetVideo.PlaybackVideo(
          document.querySelector('#txtsim').value,
          parseInt(document.querySelector('#cmbChannel').value),
          parseInt(document.querySelector('#cmbMideaType').value),
          parseInt(document.querySelector('#cmbStreamType').value),
          parseInt(document.querySelector('#cmbStorageType').value),
          parseInt(document.querySelector('#cmbPlaybackMode').value),

Интерфейс:
```FtpVideoFileUploadControl(Sim, Channel, SerialNumber, UploadControl, videoId = 0, config = {});```

Параметры:
* SerialNumber — номер потока (соответствует номеру потока в запросе на поиск аудио- и видеоресурсов).
* UploadControl — управление загрузкой (0 — пауза, 1 — продолжить, 2 — отменить).

Пример:
```CvNetVideo.FtpVideoFileUploadControl(
    document.querySelector('#txtsim').value,
    parseInt(document.querySelector('#cmdSerialNumber').value),
    parseInt(document.querySelector('#cmdUploadControl').value),
    id,
    {
        remoteHost: document.querySelector("#serveradd").value
    }
);```

**Закрыть или закрыть все видео**

Интерфейс:
```// 根据索引 закрыть окно 0 представляет текущее выбранное окно
Stop(id);//id>=0

// закрыть все окна
Stop(-1);```

**Отправить команду управления поворотом PTZ-камеры**

Интерфейс:
```RotationControl(Sim, Channel, Direction, Speed, videoId = 0, config = {});```

Параметры:
* Direction — направление (0: остановить, 1: вверх, 2: вниз, 3: влево, 4: вправо).
* Speed — диапазон значений скорости: 0–255.

**Отправить команду регулировки фокусного расстояния PTZ-камеры**

Интерфейс:
```FocusControl(Sim, Channel, Flag, videoId = 0, config = {});```

Параметры:
* Flag — 0: увеличить фокусное расстояние, 1 уменьшить фокусное расстояние.

**Отправить команду настройки диафрагмы PTZ-камеры**

Интерфейс:
```ApertureControl(Sim, Channel, Flag, videoId = 0, config = {});```

Параметры:
* Flag — 0: увеличение, 1 уменьшение.

**Отправить команду включения стеклоочистителя PTZ-камеры**

Интерфейс:
```WiperControl(Sim, Channel, Flag, videoId = 0, config = {});```

Параметры:
* Flag — 0: остановка, 1 запуск.

**Отправить инфракрасную команду PTZ-камеры для компенсации подсветки**

Интерфейс:
```InfraredControl(Sim, Channel, Flag, videoId = 0, config = {});```

Параметры:
* Flag — 0: остановить, 1 запустить.

**Отправить команду изменения масштаба PTZ-камеры**

Интерфейс:
```TimesControl(Sim, Channel, Flag, videoId = 0, config = {});```

Параметры:
* Flag — 0: увеличить масштаб, 1 уменьшить масштаб.

**Получить историю воспроизведения буфера**

Интерфейс:
```GetPlayBackCacheTime(videoId = 0);```

Параметры:
* videoId — идентификатор окна (0 означает текущее выбранное окно, остальные выбираются по порядку).

Возвращаемое значение:
```{
    // время воспроизведения (в миллисекундах)
    playedMs,
    // невоспроизведённое время (в миллисекундах)
    waitingPlayMs
}```

**Воспроизведение Gov**

Интерфейс:
```GovPlay(url, videoId = 0, config = {}, Callback = null);```

Параметры:
* url — URL, соответствующий стандарту JT/T 1078-2016 6.2.
* videoId — какой экран разделить, 0 представляет текущий выбранный экран.
* config — параметры конфигурации, можно изменить значение конфигурации, переданное в init.
* Callback — функция обратного вызова ошибки (-1, «Ошибка запроса URL», -2, «Ошибка URL-запроса», -101, «Превышено максимальное количество разрешённых подключений, соединение разорвано», -102, «Время воспроизведения превысило разрешённое, соединение разорвано»).

Пример:
```js
CvNetVideo.GovPlay(
                "http://et.test.cvtsp.com:15007/沪QQ7771.1.1.0.aaa",
                id, null,
                //gov запрос в реальном времени, status < 0 запрос не выполнен, причина
                function (status, reason) {
                    if (status < 0) {
                        console.log("Ошибка:" + причина);
                        if (status == -1) {
                            alert("Ошибка запроса URL, пожалуйста, проверьте, доступен ли URL или доступ к HTTP-адресу через HTTPS-страницу.");
                        } else {
                            alert(reason);
                        }
                    }
                },
            );``` **StorageType**: тип памяти (0: основная память или резервная память, 1: основная память, 2: резервная память).

**PlaybackMode**: режим воспроизведения (0: нормальное воспроизведение, 1: быстрое воспроизведение, 2: замедленное воспроизведение с ключевыми кадрами, 3: воспроизведение ключевых кадров, 4: загрузка одного кадра).

**Multiple**: скорость (0: недействительно, 1: 1x, 2: 2x, 3: 4x, 4: 8x, 5: 16x).

**StartTime**: время начала.

**EndTime**: время окончания.

**config**: настройки, соответствуют Init.

**DataSource**: 0 автоматический, 1 устройство, 2 кэш сервера.

**Speed**: скорость загрузки, только 28181 действительно.

**VideoFormat**: формат файла (0: формат FMP4, 1: формат FLV).

Скачать файл FMP4

Интерфейс DownLoadFmp4(Sim, Channel, MediaType, StreamType = 0, StorageType = 0, PlaybackMode = 0, Multiple = 0, StartTime, EndTime, config = {}, DataSource = 0, Speed = 4) ; Параметры

Channel: не поддерживается 0
MediaType: тип аудиовизуальных ресурсов (0: аудио и видео, 1: аудио, 2: видео, 3: аудио или видео)
StreamType: тип потока (0: основной поток или субпоток, 1: основной поток, 2: субпоток)
StorageType: тип памяти (0: основная память или резервная память, 1: основная память, 2: резервная память)
PlaybackMode: режим воспроизведения (0: нормальное воспроизведение, 1: быстрое воспроизведение, 2: замедленное воспроизведение с ключевыми кадрами, 3: воспроизведение ключевых кадров, 4: загрузка одного кадра)
Multiple: скорость (0: недействительно, 1: 1x, 2: 2x, 3: 4x, 4: 8x, 5: 16x)
StartTime: время начала
EndTime: время окончания
config: настройки, соответствуют Init
DataSource: 0 автоматический, 1 устройство, 2 кэш сервера
Speed: скорость загрузки, только 28181 действительно```

### Прочее
#### Срез экрана
Интерфейс
```// Срез экрана
Capture(filename, captureType, captureQuality, videoId = 0);```
Параметры
```filename: если null, то файл не загружается
captureType: тип среза изображения 0 png, 1 jpeg, 2 webp; если null, то используется config.captureType
captureQuality: качество среза изображения 0–1 jpeg и webp действительно; если null, то используется config.captureQuality
videoId: 0 для выбранного окна, другие — индекс окна от 1
возвращаемое значение: срез изображения в кодировке base64```
#### Обновление
Интерфейс
```// Обновление (переход к последнему кадру воспроизведения)
Refreash(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1```
#### Пауза
Интерфейс
```// Пауза
Pause(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1```
#### Возобновление воспроизведения
Интерфейс
```// Возобновление воспроизведения
Resume(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1```
#### Получение громкости
Интерфейс
```// Получение громкости
GetVolume(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1
возвращаемое значение: 0–100, максимум 100```
#### Установка громкости
Интерфейс
```// Установка громкости
SetVolume(videoId, volume);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1
volume: 0–100, максимум 100```
#### Полноэкранный режим
Интерфейс
```// Полноэкранный режим, разделение экрана
SetFull(videoId, is_full);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1
is_full: true полноэкранный режим false отмена полноэкранного режима```
#### Начало записи
Интерфейс
```// Начало записи
StartRecord(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1```
#### Остановка записи
Интерфейс
```// Остановка записи
StopRecord(videoId = 0);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1```
#### Настройка соотношения сторон видео
Интерфейс
```// Настройка соотношения сторон видео, режим WASM и Codec пока не поддерживает
SetAdaptRatio(videoId , is_adapt);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1
is_adapt: true сохранение соотношения сторон; false заполнение экрана разделением```
#### Настройка скорости воспроизведения
Интерфейс
```// Настройка скорости воспроизведения
SetPlaySpeed(videoId , speed);```
Параметры
```videoId: 0 для выбранного окна, другие — индекс окна от 1
speed: должно быть больше 0, 1 нормальная скорость, поддержка десятичных чисел```
#### Поворот видео
Интерфейс
```// Закрыть окно по индексу, 0 представляет текущее выбранное окно
SetRotate(id, angle);//id>=0```
Параметры
```id: 0 для текущего выбранного окна, остальные — индексы окон от 1
angle: угол поворота, поддерживает только 0, 90, 180, 270, другие значения недействительны
возвращаемое значение: true для успешного вызова, false для неудачного вызова```
#### Зеркальное отражение видео
Интерфейс
```// Инициализация в нормальном состоянии, последующий вызов один раз переворачивает один раз
SetMirrorInver(id);//id>=0```
Параметры
```id: 0 для текущего выбранного окна, остальные — индексы окон от 1
возвращаемое значение: true для успешного вызова, false для неудачного вызова```
#### Полный экран
Интерфейс
```// Полный экран```
#### Увеличение отдельного окна разделения
Интерфейс
```// Увеличьте отдельное окно разделения, чтобы оно заполнило весь элемент управления
ZoomUC(videoId)```
Параметры
```videoId: -1 для всех окон, 0 для выбранных окон, остальные — индексы окон от 1```
#### Восстановление разделения экрана
Интерфейс
```// Восстановление отображения всех окон разделения
UnZoomUC()```

#### Повторное определение размера
Интерфейс
```// Повторно определить размер элемента управления воспроизведением
Resize(width, height)```
Параметры
```width: ширина
height: высота```
#### Видео зеркальное отражение
Интерфейс
```// Инициализация в нормальном состоянии, последующий вызов один раз переворачивает один раз
SetMirrorInver(id);//id>=0```
Параметры
```id: 0 для текущего выбранного окна, остальные — индексы окон от 1
возвращаемое значение: true для успешного вызова, false для неудачного вызова```
#### Переключатель отображения OSD
Интерфейс
```// Установить, отображается ли OSD для всех окон разделения
SetOsdVisible(visible, videoId);```
Параметры
```visible: true показать/false скрыть
videoId: -1 для всех окон, 0 для выбранных окон, остальные — индексы окон от 1```
#### Цвет текста OSD
Интерфейс
```// Установите цвет текста OSD для всех окон разделения
SetOsdColor(color, videoId);```
Параметры
```color: код цвета, например «#00ff00»
videoId: -1 для всех окон, 0 для выбранных окон, остальные — индексы окон от 1```
#### Текст OSD
Интерфейс
```// Задайте текст OSD для всех окон разделения
SetOsdText(videoId, text);```
Параметры
```videoId: -1 для всех окон, 0 для выбранных окон, остальные — индексы окон от 1
text: текст, такой как```
#### Воспроизведение
Интерфейс
```// Разделение экрана воспроизводится (воспроизведение начинается независимо от того, есть ли изображение, пока оно включено, ручное приостановление этого состояния также верно)
IsPlaying(videoId);```
Параметры
```videoId: 0 для выбранного окна, другие — индексы окон от 1
возвращаемое значение: true воспроизводит false не воспроизводит```
#### Установить время ожидания
Интерфейс
```// Установить время ожидания
SetTimeoutMsec(timeoutCloseMsec, timeoutWarningMsec);```
Параметры
```timeoutCloseMsec: время закрытия по тайм-ауту
timeoutWarningMsec: время предупреждения перед тайм-аутом```
#### Установить приоритет
Интерфейс
```// Установить приоритет
SetPriority(priority, videoId = 0);```
Параметры
```priority: приоритет 0-100 чем выше приоритет, тем выше приоритет``` ### UCMain содержит свойства
#### Videos

// Получение объекта внутреннего разделения экрана, то есть внутреннего объекта UCVideo, одно разделение экрана — это один UCVideo Videos[id]

**Описание параметров**

id: индекс начинается с 1 return: объект UCVideo


#### NowSelectVideo

// текущий выбранный идентификатор разделения экрана


#### NowPlayVideosCount

// количество разделений экрана, которые воспроизводятся в данный момент

## Страница функционального тестирования
[js-контрольная страница тестирования](test/)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vanjoge-RTVS.git
git@api.gitlife.ru:oschina-mirror/vanjoge-RTVS.git
oschina-mirror
vanjoge-RTVS
vanjoge-RTVS
master