Описание API Flussonic Watcher SDK для iOS
В этом разделе представлено описание Mobile Watcher API для iOS.
Классы
Перечисления
Протоколы
- FlussonicBufferingListener
- FlussonicDownloadRequestListener
- FlussonicPlayerAdapterDelegate
- FlussonicPlayerAdapterProtocol
- FlussonicUpdateProgressEventListener
- FlussonicWatcher
- FlussonicWatcherDelegateProtocol
- PreviewMp4ViewStatusListener
Структуры
Class FlussonicWatcherView
public class FlussonicWatcherView : UIView, FlussonicWatcher, NibLoadable, FlussonicPlayerAdapterDelegate, TimelineToPlayerDelegate
Представляет собой одно представление камеры в виде плеера и элементов управления в нём.
Представление камеры будет пытаться занять все доступное пространство экрана.
Может поддерживать до четырех одновременных экземпляров из-за аппаратных ограничений (информация требует проверки).
delegate: FlussonicWatcherDelegateProtocol?
weak public var delegate: FlussonicWatcherDelegateProtocol?
Делегат будет получать уведомления о событиях плеера.
alertDelegate: UIViewController?
weak public var alertDelegate: UIViewController?
Делегат будет использован для представления важных уведомлений (alert views).
downloadRequestListener: FlussonicDownloadRequestListener?
weak public var downloadRequestListener: FlussonicDownloadRequestListener?
Делегат будет получать уведомления о событиях запросов на загрузку видео.
bufferingListener: FlussonicBufferingListener?
weak public var bufferingListener: FlussonicBufferingListener?
Делегат будет получать уведомления о событиях буферизации.
updateProgressEventListener: FlussonicUpdateProgressEventListener?
weak public var updateProgressEventListener: FlussonicUpdateProgressEventListener?
Делегат будет получать уведомления о событиях, касающихся процесса получения и установки обновлений.
allowDownload: Bool
public var allowDownload: Bool { get set }
Устанавливает возможность загрузки части видеопотока в виде отдельного клипа.
startPositionDate: Date?
public var startPositionDate: Date?
Если значение startPositionDate
инициализировано, экземпляр попытается начать играть с этой позиции, если возможно.
Инициализация
(Инициализация плеера) configure(withUrl url: URL, playerAdapter adapter: FlussonicPlayerAdapterProtocol)
public func configure(withUrl url: URL, playerAdapter adapter: FlussonicPlayerAdapterProtocol)
Настраивает представление с помощью URL камеры.
Параметры:
- url: URL — URL в формате http[s]://access_token@host.com/camera_name[?from=1545660274]
- adapter: FlussonicPlayerAdapterProtocol — Экземпляр класса
FlussonicVlcAdapter
или иная реализация протокола FlussonicPlayerAdapterProtocol.
(Инициализация плеера) configure(withCameraItem cameraItem: CameraItem, playerAdapter adapter: FlussonicPlayerAdapterProtocol?)
public func configure(withCameraItem cameraItem: CameraItem, playerAdapter adapter: FlussonicPlayerAdapterProtocol?)
Настраивает представление с помощью камеры CameraItem без указания токена сессии.
Параметры:
- cameraItem: CameraItem CameraItem
- adapter: FlussonicPlayerAdapterProtocol — Экземпляр класса
FlussonicVlcAdapter
или иная реализация протокола FlussonicPlayerAdapterProtocol.
Проигрывание архива начиная с указанного времени
mediaPlayerTimeChanged(oldTimeValue: Double, newTimeValue: Double)
public func mediaPlayerTimeChanged(oldTimeValue: Double, newTimeValue: Double)
Не задокументировано.
Методы протокола FlussonicPlayerView
setAllowDownload(allowDownload: Bool)
public func setAllowDownload(allowDownload: Bool)
Устанавливает возможность загрузки части видеопотока в виде отдельного клипа.
Параметры:
- allowDownload: устанавливает значение.
public func setStartPosition(dateTimeInSecs: Int64)
public func setStartPosition(dateTimeInSecs: Int64)
Устанавливает начальную позицию (время), с которой будет начато проигрывание видео.
Экземпляр FlussonicWatcherView
попытается начать проигрывание видео с этой позиции, если возможно.
Параметры:
- dateTimeInSecs: начальная позиция для проигрывания видео, в Unix timestamp.
pause()
public func pause()
Ставит проигрываемый видеопоток на паузу.
resume()
public func resume()
Возобновляет проигрывание текущего видеопотока. Прямая трансляция возобновится в режиме проигрывания прямого эфира, архив возобновит воспроизведение с текущей позиции в режиме проигрывания архива.
seek(seconds: TimeInterval)
public func seek(seconds: TimeInterval)
Проигрывает видео начиная с указанной позиции.
Параметры:
- seconds: позиция, на которую необходимо перейти и с которой начать проигрывание, Unixtime.
screenshotCaptured: (UIImage) -> ()
public var screenshotCaptured: (UIImage) -> ()
Этот блок вызывается при создании скриншота видеопотока.
captureScreenshot(destUrl: URL)
public func captureScreenshot(destUrl: URL)
Создает скриншот видеопотока, который проигрывается в данный момент времени.
Параметры:
- destUrl: URL-адрес для сохранения изображения скриншота.
setBufferingListener(bufferingListener: FlussonicBufferingListener?)
public func setBufferingListener(bufferingListener: FlussonicBufferingListener?)
Установка слушателя на события буферизации.
Параметры:
- bufferingListener: экземпляр, которому следует передавать уведомления о событиях.
setDownloadRequestListener(downloadRequestListener: FlussonicDownloadRequestListener?)
public func setDownloadRequestListener(downloadRequestListener: FlussonicDownloadRequestListener?)
Установка слушателя на события запросов на загрузку видео.
Параметры:
- downloadRequestListener: экземпляр, которому следует передавать уведомления о событиях.
public func setUpdateProgressEventListener(updateProgressEventListener: FlussonicUpdateProgressEventListener?)
public func setUpdateProgressEventListener(updateProgressEventListener: FlussonicUpdateProgressEventListener?)
Установка слушателя на события, касающиеся процесса получения и установки обновлений.
Параметры:
- updateProgressEventListener: экземпляр, которому следует передавать уведомления о событиях.
getCurrentUtcInSeconds() -> Int64
public func getCurrentUtcInSeconds() -> Int64
Текущая позиция, на которой плеер воспроизводит видео.
getPlaybackStatus() -> Int
public func getPlaybackStatus() -> Int
Текущий статус проигрывания.
getSpeed() -> CGFloat
public func getSpeed() -> CGFloat
Текущая скорость проигрывания.
getAvailableStreams() -> Array<StreamItem>
public func getAvailableStreams() -> Array<StreamItem>
Возвращает информацию о треках в доступных мультибитрейтных потоках.
getCurrentStream() -> StreamItem?
public func getCurrentStream() -> StreamItem?
Возвращает информацию о треках текущего (проигрываемого) мультибитрейтного потока.
setNetworkQualityThresholdCount(count: Int)
public func setNetworkQualityThresholdCount(count: Int)
Количество прерываний плеера из-за плохого сетевого соединения, необходимое для автоматического переключения на видеопоток с низким битрейтом.
Параметры:
- count: Максимальное число прерываний работы плеера
setShowDebugInfo(newValue: Bool)
public func setShowDebugInfo(newValue: Bool)
Показывает либо скрывает отладочную информацию в правом верхнем углу окна плеера.
Параметры:
- newValue: новое значение
Class PreviewMp4View
public class PreviewMp4View : UIView, NibLoadable
Загружает один кадр и показывает декодированное изображение как превью потока в плеере.
Загруженные изображения будут кэшироваться с использованием URL в качестве ключа.
В случае ошибки показывает изображение сломанной камеры.
statusListener: PreviewMp4ViewStatusListener?
public weak var statusListener: PreviewMp4ViewStatusListener?
Слушатель получит уведомление при смене статуса превью
status: PreviewMp4StatusEnum { get set }
public private(set) var status: PreviewMp4StatusEnum { get set }
Текущий статус превью видео с камеры.
init(frame: CGRect)
public override init(frame: CGRect)
Не задокументировано.
init?(coder: NSCoder)
public required init?(coder: NSCoder)
Не задокументировано.
(Инициализация) configure(withUrl url: URL, cacheKey: String?)
public func configure(withUrl url: URL, cacheKey: String?)
Настройка представления с помощью URL камеры.
Загрузка изображения начнется сразу, и успешно загруженное изображение будет помещено в кэш с использованием URL в качестве ключа.
Параметры:
-
url: URL, содержащий сессию пользователя:
(protocol)://(session)@(server):(port)/(camera_name)/preview.mp4
(Инициализация) configure(withCameraItem cameraItem: CameraItem, cacheKey: String?)
public func configure(withCameraItem cameraItem: CameraItem, cacheKey: String?)
Настройка представления с помощью камеры CameraItem.
Загрузка изображения начнется сразу, и успешно загруженное изображение будет помещено в кэш с использованием cacheKey
в качестве ключа.
Параметры:
- cameraItem: CameraItem
reset()
public func reset()
Сбрасывает состояние представления при его переиспользовании.
Используется в UITableViewController
, где при прокрутке старые представления переиспользуются для отображения новых картинок.
Метод reset()
отменяет загрузку преью-картинки (если она еще не загружена) и сбрасывает состояние представления.
При этом текущая загрузка превью не будет отменена, и изображение будет кэшироваться при успешной загрузке.
cleanCache()
public func cleanCache()
Удаляет все превью из кэша.
При этом текущая загрузка превью не будет отменена, и изображение будет кэшироваться при успешной загрузке.
cleanCache(for cacheKey: String)
public func cleanCache(for cacheKey: String)
Очищает кэш указанного URL превью.
При этом текущая загрузка превью не будет отменена, и изображение будет кэшироваться при успешной загрузке.
layoutSubviews()
override public func layoutSubviews()
Не задокументировано.
setCacheKey(to cacheKey: String?)
public func setCacheKey(to cacheKey: String?)
Очищает старый кеш URL превью и загружает новые превью с новым cacheKey.
При этом текущая загрузка превью не будет отменена, и изображение будет кэшироваться при успешной загрузке.
Class ProgressEvent
public class ProgressEvent : NSObject
Класс используется для уведомления делегата о событиях, касающихся процесса получения и установки обновлений.
currentUtcInSeconds: Double
public private(set) var currentUtcInSeconds: Double
Текущее время UTC в секундах.
playbackStatus: UniversalStatus
public private(set) var playbackStatus: UniversalStatus
Текущий статус проигрывания.
playbackStatusString: String
public private(set) var playbackStatusString: String
Описание текущего статуса проигрывания.
speed: Double
public private(set) var speed: Double
Текущая скорость проигрывания.
Class DateTimeViewController
public class DateTimeViewController : UIViewController
Класс предоставляет способ определения даты и времени. DateTimeViewController
— это календарь, который позволяет выбрать дату и время начала воспроизведения DVR архива.
startDate: Date
public var startDate: Date
Дата начала интервала видео для проигрывания.
Если дата начала находится в будущем, она будет уменьшена до текущей даты и времени.
onCompletion: ((Date?) -> Void)
public var onCompletion: ((Date?) -> Void)
Блок будет вызван при освобождении контроллера.
- Возвращаемое значение: дата или ноль, если отменено.
instance() -> DateTimeViewController?
public static func instance() -> DateTimeViewController?
Функция загружает контроллер из внутренней storyboard.
Параметры:
- Возвращаемое значение: экземпляр контроллера или nil если контроллер не удалось загрузить.
Enumeration UniversalStatus
public enum UniversalStatus : Int
Состояние плеера.
ERROR
case ERROR = 0
IDLE
case IDLE
PREPARING
case PREPARING
PLAYING
case PLAYING
PAUSED
case PAUSED
PLAYBACK_COMPLETED
case PLAYBACK_COMPLETED
Enumeration PreviewMp4StatusEnum
public enum PreviewMp4StatusEnum : Int8
Состояние загрузки изображения предварительного просмотра.
noUrl
case noUrl = 0
Изображение предварительного просмотра не указано.
loading
case loading
Изображение предварительного просмотра загружается.
loaded
case loaded
Изображение предварительного просмотра было успешно загружено.
loadedFromCache
case loadedFromCache
Не задокументировано.
error
case error
Ошибка, загрузка прервана.
Protocol FlussonicBufferingListener
public protocol FlussonicBufferingListener
Протокол определяет публичные методы FlussonicBufferingListener
.
Используется для уведомления делегата о событиях буферизации.
onBufferingStart()
func onBufferingStart()
Вызывается при появлении метки буферизации.
onBufferingStop()
func onBufferingStop()
Вызывается при скрытии метки буферизации.
Protocol FlussonicDownloadRequestListener
public protocol FlussonicDownloadRequestListener : AnyObject
Протокол определяет публичные методы FlussonicDownloadRequestListener
.
Используется для уведомления делегата о событиях запросов на загрузку видео.
onDownloadRequest(from: Int64, to: Int64)
func onDownloadRequest(from: Int64, to: Int64)
Вызывается при касании иконки с дискетой для сохранения выбранной части архива.
Параметры:
- from: начало интервала в секундах, Unix time
- to: околнчание интервала в секундах, Unix time
Внимание: Этот обработчик вам необходимо реализовать самостоятельно. Для этого нужно:
-
Сформировать URL для скачивания, используя адрес стримера, токен и полученное в обработчике время начала и конца.
URL на скачивание формируется согласно документации Экспорт в MP4
URL должен иметь следующий вид:
http://{camera.stream_status.server}/{camera.name}/archive-{from}-{duration}.mp4?token={camera.playback_config.token}
где:
-
camera
— объект, полученный из API https://flussonic.github.io/watcher-docs/api.html#get--vsaas-api-v2-camerasили
https://flussonic.github.io/watcher-docs/api.html#get--vsaas-api-v2-cameras-(path-name)
-
from
— целочисленный параметр, полученный в обработчике. -
duration
— длительность выгружаемого видеофрагмента в секундах. Формируется как разность параметровto
,from
. Вы можете корректировать это значение на основе вашей бизнес-логики, например, ограничивая максимальную длительность фрагмента.
-
-
Произвести загрузку видеофрагмента, обратившись по полученному URL
Эта процедура не является частью данного SDK, так как сильно зависит от используемых в приложении технологий, библиотек и прикладной логики
Поэтому детали реализации оставляются на выбор разработчику, интегрирующему данный SDK.
Protocol FlussonicPlayerAdapterDelegate
public protocol FlussonicPlayerAdapterDelegate : AnyObject
Протокол определяет публичные методы FlussonicPlayerAdapter
.
Используется для уведомления делегата об изменении состояния (статуса) плеера.
mediaPlayerStateChanged(_ aNotification: Notification!)
func mediaPlayerStateChanged(_ aNotification: Notification!)
Метод вызывается, когда происходит VLCMediaPlayerDelegate mediaPlayerStateChanged
.
Параметры:
- aNotification: Notification with the name
mediaPlayerStateChanged
См. также: FlussonicVlcAdapter.mediaPlayerStateChanged(_: Notification!)
(ссылка есть в ReadMe)
mediaPlayerTimeChanged(_ aNotification: Notification!)
func mediaPlayerTimeChanged(_ aNotification: Notification!)
Вызывается когда происходит VLCMediaPlayerDelegate mediaPlayerTimeChanged
.
Параметры:
- aNotification: Notification with the name
mediaPlayerTimeChanged
См. также в Readme: FlussonicVlcAdapter.mediaPlayerTimeChanged(_: Notification!)
(описание есть в ReadMe)
mediaPlayerTimeChanged(oldTimeValue: Double, newTimeValue: Double)
func mediaPlayerTimeChanged(oldTimeValue: Double, newTimeValue: Double)
Вызывается для того, чтобы изменить mediaPlayerTime
вручную.
Параметры:
- oldTimeValue: Double
- newTimeValue: Double
См. также: FlussonicVlcAdapter.setupTimeObservation()
(ссылка есть в ReadMe)
mediaPlayerSnapshot(_ aNotification: Notification!)
func mediaPlayerSnapshot(_ aNotification: Notification!)
Вызывается для снятия видео-скриншота проигрываемого потока.
Параметры:
- aNotification: Notification with the name
mediaPlayerSnapshot
См. также: FlussonicVlcAdapter.mediaPlayerSnapshot(_: Notification!)
(ссылка есть в ReadMe)
Protocol FlussonicPlayerAdapterProtocol
public protocol FlussonicPlayerAdapterProtocol : AnyObject
Протокол определяет публичные методы FlussonicPlayerAdapter
.
Используется для реализации адаптера для VLC плеера, необходимого для работы с Flussonic Watcher SDK для iOS.
delegate
var delegate: FlussonicPlayerAdapterDelegate? { get set }
drawable
var drawable: Any? { get set }
rate
var rate: Float { get set }
videoSize
var videoSize: CGSize { get }
hasVideoOut
var hasVideoOut: Bool { get }
timeValue
var timeValue: Double { get }
mediaUrl
var mediaUrl: URL? { get set }
audioIsMuted
var audioIsMuted: Bool { get set }
lastSnapshot
var lastSnapshot: UIImage? { get }
state
var state: FlussonicPlayerAdapterState { get }
mediaState
var mediaState: FlussonicPlayerAdapterMediaState { get }
play
func play()
pause
func pause()
stop
func stop()
saveVideoSnapshot
func saveVideoSnapshot(at path: String, withWidth width: Int32, andHeight height: Int32)
Protocol FlussonicUpdateProgressEventListener
public protocol FlussonicUpdateProgressEventListener
Протокол определяет публичные методы FlussonicUpdateProgressEventListener
.
Используется для уведомления делегата о событиях, касающихся процесса получения и установки обновлений.
onUpdateProgress(event: ProgressEvent)
func onUpdateProgress(event: ProgressEvent)
Вызывается при событиях прогресса обновлений.
Protocol FlussonicWatcher
public protocol FlussonicWatcher : AnyObject
Протокол определяет публичные методы FlussonicWatcherView
.
Используется для передачи делегату уведомления о событиях плеера.
setAllowDownload(allowDownload: Bool)
func setAllowDownload(allowDownload: Bool)
Устанавливает возможность загрузки части видеопотока в виде отдельного клипа.
Параметры:
- allowDownload: новое значение.
setStartPosition(dateTimeInSecs: Int64)
func setStartPosition(dateTimeInSecs: Int64)
Устанавливает начальную позицию (время), с которой будет начато проигрывание видео.
Экземпляр FlussonicWatcherView
попытается начать проигрывание видео с этой позиции, если возможно.
Параметры:
- dateTimeInSecs: начальная позиция для проигрывания видео, в Unix timestamp.
pause()
func pause()
Ставит проигрываемый видеопоток на паузу.
resume()
func resume()
Возобновляет проигрывание текущего видеопотока. Прямая трансляция возобновится в режиме проигрывания прямого эфира, архив возобновит воспроизведение с текущей позиции в режиме проигрывания архива.
seek(seconds: TimeInterval)
public func seek(seconds: TimeInterval)
Проигрывает видео начиная с указанной позиции.
Параметры:
- seconds: позиция, на которую необходимо перейти и с которой начать проигрывание, Unixtime.
screenshotCaptured: (UIImage) -> ()
public var screenshotCaptured: (UIImage) -> ()
Этот блок вызывается при создании скриншота видеопотока.
captureScreenshot(destUrl: URL)
public func captureScreenshot(destUrl: URL)
Создает скриншот видеопотока, который проигрывается в данный момент времени.
Параметры:
- destUrl: UURL-адрес для сохранения изображения скриншота.
setBufferingListener(bufferingListener: FlussonicBufferingListener?)
public func setBufferingListener(bufferingListener: FlussonicBufferingListener?)
Установка слушателя на события буферизации.
Параметры:
- bufferingListener: экземпляр, которому следует передавать уведомления о событиях.
setDownloadRequestListener(downloadRequestListener: FlussonicDownloadRequestListener?)
public func setDownloadRequestListener(downloadRequestListener: FlussonicDownloadRequestListener?)
Установка слушателя на события запросов на загрузку видео.
Параметры:
- downloadRequestListener: экземпляр, которому следует передавать уведомления о событиях.
public func setUpdateProgressEventListener(updateProgressEventListener: FlussonicUpdateProgressEventListener?)
public func setUpdateProgressEventListener(updateProgressEventListener: FlussonicUpdateProgressEventListener?)
Установка слушателя на события, касающиеся процесса получения и установки обновлений.
Параметры:
- updateProgressEventListener: экземпляр, которому следует передавать уведомления о событиях.
getCurrentUtcInSeconds() -> Int64
public func getCurrentUtcInSeconds() -> Int64
Текущая позиция, на которой плеер воспроизводит видео.
getPlaybackStatus() -> Int
public func getPlaybackStatus() -> Int
Текущий статус проигрывания.
getSpeed() -> CGFloat
public func getSpeed() -> CGFloat
Текущая скорость проигрывания.
getAvailableStreams() -> Array<StreamItem>
public func getAvailableStreams() -> Array<StreamItem>
Возвращает информацию о треках в доступных мультибитрейтных потоках.
getCurrentStream() -> StreamItem?
public func getCurrentStream() -> StreamItem?
Возвращает информацию о треках текущего (проигрываемого) мультибитрейтного потока.
setNetworkQualityThresholdCount(count: Int)
public func setNetworkQualityThresholdCount(count: Int)
Количество прерываний плеера из-за плохого сетевого соединения, необходимое для автоматического переключения на видеопоток с низким битрейтом.
Параметры:
- count: Максимальное число прерываний работы плеера
setShowDebugInfo(newValue: Bool)
public func setShowDebugInfo(newValue: Bool)
Показывает либо скрывает отладочную информацию в правом верхнем углу окна плеера.
Параметры: * newValue: новое значение
Protocol FlussonicWatcherDelegateProtocol
public protocol FlussonicWatcherDelegateProtocol : AnyObject
Протокол определяет публичные методыFlussonicWatcherDelegateProtocol
.
Используется для передачи делегату уведомления о событиях развертывания и свертывания панели инструментов.
expandToolbar()
func expandToolbar()
Вызывается плеером, когда началось разворачивание нижней панели инструментов.
collapseToolbar()
func collapseToolbar()
Вызывается плеером, когда началось сворачивание нижней панели инструментов.
showToolbar()
func showToolbar()
Вызывается плеером, когда нижняя панель инструментов появилась без анимации.
hideToolbar()
func hideToolbar()
Вызывается плеером, когда нижняя панель инструментов скрылась без анимации.
Protocol PreviewMp4ViewStatusListener
public protocol PreviewMp4ViewStatusListener : AnyObject
Протокол определяет публичные методы PreviewMp4ViewStatusListener
.
Используется для передачи делегату уведомления о событиях изменения статуса PreviewMp4View
.
onStatusChanged(_ status: Int8, _ code: String, _ message: String)
func onStatusChanged(_ status: Int8, _ code: String, _ message: String)
Эта функция вызывается при изменении состояния превью.
Параметры:
- status: новый статус
- code: код ошибки или 0 в случае отсутствия ошибки
- message: сообщение об ошибке или "" в случае отсутствия ошибки.
Структура CameraItem
Структура описывает публичные поля CameraItem
.
Может быть использована для инициализации классов FlussonicWatcherView
и PreviewMp4View
.
public struct CameraItem : Codable
Структура доступна глобально.
Содержит:
-
comment
public let comment: String?
-
playbackConfig
public let playbackConfig: PlaybackConfigItem
См. PlaybackConfigItem -
name
public let name: String
-
title
public let title: String
-
access
public let access: String?
-
coordinates
public let coordinates: String?
-
streamStatus
public let streamStatus: StreamStatusItem
См. StreamStatusItem -
isStatic
public let isStatic: Bool?
-
dvrEnabled
public let dvrEnabled: Bool?
-
groups
public let groups: Array<CameraGroupItem>?
См. CameraGroupItem -
owner
public let owner: String?
-
dvrDepth
public let dvrDepth: Int64?
-
permissions
public let permissions: [String : Bool?]?
-
isAlive
public func isAlive() -> Bool
-
useHttps
public func useHttps() -> Bool
-
currentProtocol
public func currentProtocol() -> String
-
currentPort
public func currentPort() -> Int32
Структура CameraGroupItem
CameraGroupItem
— это часть структуры CameraItem
.
public struct CameraGroupItem : Codable
Структура доступна глобально.
Содержит:
-
id
public let id: Int
-
title
public let title: String
Структура PlaybackConfigItem
PlaybackConfigItem
— это часть структуры CameraItem
.
public struct PlaybackConfigItem : Codable
Структура доступна глобально.
Содержит:
-
token
public let token: String
Структура StreamStatusItem
StreamStatusItem
— это часть структуры CameraItem
.
public struct StreamStatusItem : Codable
Структура доступна глобально.
Содержит:
-
lifetime
public let lifetime: Int64?
-
sourceError
public let sourceError: String?
-
bitrate
public let bitrate: Int64?
-
alive
public let alive: Bool
-
server
public let server: String
-
httpPort
public let httpPort: Int32?
-
httpsPort
public let httpsPort: Int32?
Structure StreamItem
StreamItem
содержит данные о выбранном видео-потоке.
public struct StreamItem : Codable
Стркутура доступна глобально.
Содержит:
-
bitrate
public let bitrate: UInt32
-
codec
public let codec: String
-
content
public let content: StreamItemContentTyp
-
height
public let height: Double?
-
lang
public let lang: String?
-
lengthSize
public let lengthSize: UInt32?
-
level
public let level: String?
-
pixelHeight
public let pixelHeight: Double?
-
pixelWidth
public let pixelWidth: Double?
-
profile
public let profile: String?
-
sarHeight
public let sarHeight: Double?
-
sarWidth
public let sarWidth: Double?
-
size
public let size: String?
-
trackId
public let trackId: String
-
width
public let width: Double?