Table of Contents |
---|
Пример iOS-приложения для управления медиа-устройствами
Данный пример может использоваться как стример для публикации WebRTC-видеопотока с Web Call Server и позволяет выбрать медиа-устройства и следующие параметры для публикуемого и проигрываемого видео
...
а вид с настройками воспроизведения - при нажатии на кнопку 'Remote settings'.
Работа с кодом примера
Для разбора кода возьмем версию примера MediaDevices Swift, которая доступна для скачивания на GitHub.
...
Code Block | ||||
---|---|---|---|---|
| ||||
func toMediaConstraints() -> FPWCSApi2MediaConstraints { let ret = FPWCSApi2MediaConstraints() if (self.audioSend.isOn) { let audio = FPWCSApi2AudioConstraints() audio.useFEC = audioFEC.isOn audio.useStereo = audioStereo.isOn audio.bitrate = Int(audioBitrate.text ?? "0") ?? 0 ret.audio = audio } if (self.videoSend.isOn) { let video = FPWCSApi2VideoConstraints() for device in localDevices!.video { if ((device as AnyObject).label == camera.text) { video.deviceID = (device as AnyObject).deviceID; } } video.minWidth = Int(videoWidth.text ?? "0") ?? 0 video.maxWidth = video.minWidth video.minHeight = Int(videoHeight.text ?? "0") ?? 0 video.maxHeight = video.minHeight video.minFrameRate = Int(videoFPS.text ?? "0") ?? 0 video.maxFrameRate = video.minFrameRate video.bitrateminBitrate = Int(videoBitratevideoMinBitrate.text ?? "0") ?? 0 video.maxBitrate = Int(videoMaxBitrate.text ?? "0") ?? 0 ret.video = video; } return ret; } |
...
- options.name - имя публикуемого потока
- options.display - вид для локального отображения
- options.constraints - параметры аудио и видео
- options.stripCodecs - массив кодеков, которые должны быть исключены из SDP при публикациипроигрывании
- options.transport - используемый WebRTC транспорт
...