Heredado de NSObject
Declarado en OTPublisherKit.h

Visión general

Un editor captura un flujo de audio y vídeo de las fuentes que especifiques. A continuación, puedes publicar el flujo de audio y vídeo en una sesión de OpenTok enviando el [OTSession publish:error:] mensaje.

El SDK de OpenTok para iOS permite la publicación en todos los dispositivos iOS multinúcleo. Consulta la sección «Requisitos para desarrolladores y clientes» del archivo README correspondiente al SDK de OpenTok para iOS.

Inicialización de un editor

– initWithDelegate:

Inicializa un objeto «publisher» y especifica el objeto «delegate».

- (nullable instancetype)initWithDelegate:(nullable id<OTPublisherKitDelegate>)delegate

Parámetros

delegate El delegado (OTPublisherKitDelegate) objeto para el editor.

Valor devuelto

El puntero a la instancia, o nil si la inicialización ha fallado.

Debate

Al ejecutarse en el simulador de iOS de Xcode, este método devuelve nil.

Declarado en

OTPublisherKit.h

– initWithDelegate:settings:

Inicializa el editor con los parámetros definidos por un OTPublisherKitConfiguración objeto.

- (nullable instancetype)initWithDelegate:(nullable id<OTPublisherKitDelegate>)delegate settings:(nonnull OTPublisherKitSettings *)settings

Parámetros

delegate El delegado (OTPublisherKitDelegate) objeto para el editor.
settings El (OTPublisherKitConfiguración) objeto que define la configuración del editor.

Declarado en

OTPublisherKit.h

– initWithDelegate:name:

Inicializa un objeto «publisher» y especifica el objeto delegado y el nombre del flujo.

- (nullable instancetype)initWithDelegate:(nullable id<OTPublisherKitDelegate>)delegate name:(nullable NSString *)name

Parámetros

delegate El delegado (OTPublisherKitDelegate) objeto para el editor.
name El nombre del vídeo del editor. El [Nombre de OTStream] La propiedad de una transmisión publicada por este emisor se establecerá en este valor (en todos los clientes).

Valor devuelto

El puntero a la instancia, o nil si la inicialización ha fallado.

Debate

Este método está obsoleto. Utiliza [OTPublisherKit initWithDelegate:settings:] en su lugar.

Al ejecutarse en el simulador de iOS de Xcode, este método devuelve nil.

Declarado en

OTPublisherKit.h

– initWithDelegate:name:audioTrack:videoTrack:

Inicializa el editor y especifica si el audio y el vídeo estarán activados para esta instancia.

- (nullable instancetype)initWithDelegate:(nullable id<OTPublisherKitDelegate>)delegate name:(nullable NSString *)name audioTrack:(BOOL)audioTrack videoTrack:(BOOL)videoTrack

Parámetros

delegate El delegado (OTPublisherKitDelegate) objeto para el editor.
name El nombre del vídeo del editor. El [Nombre de OTStream] La propiedad de una transmisión publicada por este emisor se establecerá en este valor (en todos los clientes).
audioTrack Si se publica el audio (SÍ) o no (NO).
videoTrack Si se publica el vídeo (SÍ) o no (NO).

Debate

Este método está obsoleto. Utiliza [OTPublisherKit initWithDelegate:settings:] en su lugar.

Si se establece «NO» en «audioTrack» o en «videoTrack», el subsistema correspondiente no se inicializará, y al establecer el correspondiente [OTPublisherKit publishAudio] y [OTPublisherKit publishVideo] Las propiedades no tendrán ningún efecto.

Si tu aplicación no requiere el uso de audio ni vídeo, se recomienda configurar estos valores en lugar de utilizar el [OTPublisherKit publishAudio] y [OTPublisherKit publishVideo] propiedades que solo desactivan las pistas de forma temporal.

Declarado en

OTPublisherKit.h

Obtener información sobre la editorial

delegate

El OTPublisherDelegate objeto, que es el delegado del objeto OTPublisher .

@property (nonatomic, weak) id<OTPublisherKitDelegate> _Nullable delegate

Debate

Ver también [OTPublisherKit audioLevelDelegate], [OTPublisherKit networkStatsDelegate], y [OTPublisherKit rtcStatsReportDelegate].

Declarado en

OTPublisherKit.h

audioLevelDelegate

Recibe periódicamente informes sobre los niveles de audio de esta editorial.

@property (nonatomic, weak) id<OTPublisherKitAudioLevelDelegate> _Nullable audioLevelDelegate

Debate

Se trata de un objeto delegado distinto del establecido como propiedad «delegate» (el objeto OTPublisherKitDelegate).

Si no se configura esta propiedad, el subsistema de muestreo de audio queda desactivado.

Declarado en

OTPublisherKit.h

networkStatsDelegate

El OTPublisherKitNetworkStatsDelegate objeto que recibe periódicamente estadísticas de calidad del editor.

@property (nonatomic, weak) id<OTPublisherKitNetworkStatsDelegate> _Nullable networkStatsDelegate

Debate

A este objeto delegado se le envían mensajes que informan de lo siguiente:

  • Total de paquetes de audio y vídeo perdidos
  • Total de paquetes de audio y vídeo recibidos
  • Total de bytes de audio y vídeo recibidos

Se trata de un objeto delegado distinto del establecido como el [Delegado de OTPublisherKit] propiedad (el objeto OTPublisherKitDelegate).

Véase también [OTPublisherKit rtcStatsReportDelegate].

Declarado en

OTPublisherKit.h

rtcStatsReportDelegate

El OTPublisherKitRtcStatsReportDelegate que recoge las estadísticas de RTC para la editorial. El [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] El mensaje se envía en respuesta a la llamada a la función [OTPublisherKit getRtcStatsReport] método.

@property (nonatomic, weak) id<OTPublisherKitRtcStatsReportDelegate> _Nullable rtcStatsReportDelegate

Declarado en

OTPublisherKit.h

session

La sesión a la que pertenece este editor.

@property (readonly) OTSession *session

Declarado en

OTPublisherKit.h

stream

El OTStream objeto asociado al editor.

@property (readonly) OTStream *stream

Declarado en

OTPublisherKit.h

name

Una cadena que se asociará a la transmisión de este editor. Esta cadena se muestra en la parte inferior de los vídeos de los suscriptores asociados a la transmisión publicada, siempre que exista una superposición para mostrar el nombre.

@property (readonly) NSString *name

Debate

El nombre debe establecerse durante la inicialización, cuando se envía el [OTPublisherKit initWithDelegate:settings:] mensaje.

Este valor se establece por defecto en una cadena vacía.

Declarado en

OTPublisherKit.h

– getRtcStatsReport

Obtiene el informe de estadísticas de RTC del editor. Se trata de una operación asíncrona. Establece el [OTPublisherKit rtcStatsReportDelegate] propiedad y aplicar la [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] método antes de llamar a este método. Cuando las estadísticas estén disponibles, la implementación del [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] Se envía el mensaje.

- (void)getRtcStatsReport

Debate

Véase también [OTPublisherKit networkStatsDelegate] y [OTSubscriberKit getRtcStatsReport].

Declarado en

OTPublisherKit.h

Control de la salida de audio y vídeo para un editor

publishAudio

Si se debe publicar el audio.

@property (nonatomic) BOOL publishAudio

Debate

El valor por defecto es TRUE.

Declarado en

OTPublisherKit.h

publishVideo

Si se debe publicar el vídeo.

@property (nonatomic) BOOL publishVideo

Debate

El valor por defecto es TRUE.

Declarado en

OTPublisherKit.h

publishCaptions

Si se deben activar los subtítulos.

@property (nonatomic) BOOL publishCaptions

Debate

El valor por defecto es FALSE.

Declarado en

OTPublisherKit.h

Configuración del dispositivo del editor

videoCapture

El OTVideoCapture instancia utilizada para capturar vídeo y transmitirlo a la sesión de OpenTok .

@property (nonatomic, strong) id<OTVideoCapture> _Nullable videoCapture

Declarado en

OTPublisherKit.h

videoType

Especifica el tipo de vídeo de la transmisión publicada.

@property (nonatomic, assign) OTPublisherKitVideoType videoType

Debate

Establece este valor en uno de los siguientes:

  • OTPublisherKitVideoTypeScreen — Optimiza la codificación de vídeo para compartir pantalla. Para publicar una transmisión de pantalla compartida, debes implementar un capturador de vídeo personalizado para el objeto OTPublisherKit. Consulta [OTPublisherKit videoCapture]. Se recomienda utilizar una baja frecuencia de fotogramas (5 fotogramas por segundo o menos) con este tipo de vídeo. Cuando se utilice el tipo de vídeo de pantalla en una sesión que utilice el servidor multimedia de OpenTok, el OTPublisherKitConfiguración Las propiedades de recambio de audio están configuradas en «NO» de forma predeterminada; esto desactiva la función de recambio solo de audio, de modo que el vídeo no se interrumpa en los suscriptores. Véase OpenTok Media Router.
  • OTPublisherKitVideoTypeCamera — Esta es la configuración predeterminada, que debes utilizar cuando emplees una cámara como fuente de vídeo.

Declarado en

OTPublisherKit.h

videoRender

El OTVideoRender instancia utilizada para procesar el vídeo que se va a transmitir a la sesión de OpenTok .

@property (nonatomic, strong) id<OTVideoRender> _Nullable videoRender

Declarado en

OTPublisherKit.h

Control de la configuración predeterminada de la tasa de bits de vídeo del Publisher

maxVideoBitrate

La tasa de bits máxima del flujo de vídeo del editor, en bits por segundo (bps).

@property (nonatomic) int maxVideoBitrate

Debate

Esta propiedad establece un límite máximo explícito para la tasa de bits del vídeo del editor, entre 5.000 y 10.000.000. Al establecer esta propiedad en 0 elimina cualquier límite manual y vuelve al comportamiento predeterminado de velocidad de bits adaptativa basada en preajustes, sin ningún límite explícito.

Al leer esta propiedad, devuelve la velocidad de transmisión máxima configurada actualmente en bps. Si no se ha establecido ninguna velocidad de transmisión manual, o si hay un ajuste preestablecido de velocidad de transmisión activo, el valor es 0.

Un valor de 0 indica que no se aplica ningún límite explícito de velocidad de bits y que la transmisión funciona según reglas preestablecidas adaptativas para optimizar la calidad.

Véase también [OTPublisherKit videoBitratePreset] y Velocidad de bits máxima del editor.

Declarado en

OTPublisherKit.h

videoBitratePreset

La estrategia de configuración predeterminada de la tasa de bits de vídeo aplicada a la transmisión de vídeo del editor.

@property (nonatomic) OTVideoBitratePreset videoBitratePreset

Debate

Esta propiedad configura una estrategia de velocidad de bits predefinida para equilibrar la calidad del vídeo y el uso del ancho de banda. Entre los ajustes predefinidos disponibles se incluyen el comportamiento predeterminado, el ahorro moderado de ancho de banda y el ahorro agresivo de ancho de banda. Las estrategias predefinidas permiten controlar el comportamiento del codificador sin necesidad de especificar valores explícitos de velocidad de bits.

Las configuraciones predefinidas y los ajustes manuales de la tasa de bits son mutuamente excluyentes. Configuración maxVideoBitrate anulará cualquier valor preestablecido y cambiará automáticamente el valor de esta propiedad a OTVideoBitratePresetCustom.

Al leer esta propiedad se obtiene el preajuste activo en ese momento. Si se ha configurado manualmente una tasa de bits personalizada, el valor será OTVideoBitratePresetCustom.

El valor por defecto es OTVideoBitratePresetDefault.

Véase también [OTPublisherKit maxVideoBitrate] y Velocidad de bits máxima del editor.

Declarado en

OTPublisherKit.h

degradationPreference

La política preferida que seguirá el motor de vídeo a la hora de ajustar la frecuencia de fotogramas y la resolución en función de las limitaciones de ancho de banda y las condiciones de la CPU. Consulta OTDegradationPreference para obtener una descripción de los valores posibles.

@property (nonatomic) OTDegradationPreference degradationPreference

Declarado en

OTPublisherKit.h

targetScalabilityMode

El modo de escalabilidad de destino que se estableció explícitamente mediante setTargetScalabilityMode:error:. Devuelve el último valor pasado al método setter, o null si nunca se ha llamado a dicho método. Esto refleja la intención del usuario, no el modo realmente aplicado (que puede diferir debido a un recurso alternativo dependiente del códec).

@property (nonatomic, readonly) NSString *targetScalabilityMode

Debate

Esta es una función en fase beta.

Declarado en

OTPublisherKit.h

– setTargetScalabilityMode:error:

El modo de escalabilidad de destino (SVC: codificación de vídeo escalable) para este editor. El modo de escalabilidad controla el número de capas espaciales (resolución) y temporales (frecuencia de fotogramas) que codifica WebRTC. El modo se aplica a la ruta de medios del Media Router.

- (void)setTargetScalabilityMode:(NSString *_Nullable)mode error:(NSError *_Nullable *_Nullable)error

Parámetros

mode La cadena del modo de escalabilidad deseado (por ejemplo, @«L1T3»). Debe ser una de las siguientes: L1T1, L1T2, L1T3, L2T1, L2T2, L2T3, L3T1, L3T2, L3T3.
error En caso de error, se establece un OTError con el dominio OT_PUBLISHER_ERROR_DOMAIN y el código OTPublisherInvalidScalabilityMode.

Debate

Se puede llamar al «setter» en cualquier momento; no es necesario que la negociación de la ruta de medios haya finalizado. El modo se aplicará una vez que se haya establecido la ruta de medios del enrutador de medios.

Si se negocia un códec que no sea SVC (VP8, H.264) en la ruta de medios del enrutador de medios, se utiliza el modo aplicable más cercano: las capas espaciales se fijan en 1, conservando la dimensión temporal (por ejemplo, L2T2 → L1T2 cuando se negocia VP8).

Declarado en

OTPublisherKit.h

Configuración de los transformadores de medios

videoTransformers

Matriz de objetos `OTVideoTransformer` en el orden en que se aplicarán a la secuencia.

@property (nonatomic, strong) NSArray *videoTransformers

Declarado en

OTPublisherKit.h

audioTransformers

Matriz de objetos `OTAudioTransformer` en el orden en que se aplicarán a la secuencia de datos.

@property (nonatomic, strong) NSArray *audioTransformers

Declarado en

OTPublisherKit.h