Объект содержит следующие параметры:
Также объект имеет следующие свойства:
Далее следуют параметры, которые можно изменять при вызове метода:
* *Разделение экрана*
* Интерфейс: 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");
Воспроизведение и управление
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
}
);
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).
Интерфейс
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 )