Hérite de NSObject
Déclaré dans OTPublisherKit.h

Vue d'ensemble

Un éditeur capture un flux audio-vidéo à partir des sources que vous spécifiez. Vous pouvez ensuite publier ce flux audio-vidéo dans une session OpenTok en envoyant le [OTSession publish:error:] message.

Le SDK OpenTok pour iOS prend en charge la publication sur tous les appareils iOS multicœurs. Consultez la section « Exigences pour les développeurs et les clients » dans le fichier README du SDK OpenTok pour iOS.

Initialisation d'un éditeur

– initWithDelegate:

Initialisez un objet « publisher » et spécifiez l'objet délégué.

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

Paramètres

delegate Le délégué (OTPublisherKitDelegate) pour l'éditeur.

Valeur de retour

Le pointeur vers l'instance, ou nil si l'initialisation a échoué.

Discussion

Lorsqu'elle est exécutée dans le simulateur iOS d'Xcode, cette méthode renvoie nil.

Déclaré à

OTPublisherKit.h

– initWithDelegate:settings:

Initialiser l'éditeur avec les paramètres définis par un OTPublisherKitSettings objet.

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

Paramètres

delegate Le délégué (OTPublisherKitDelegate) pour l'éditeur.
settings Le (OTPublisherKitSettings) objet qui définit les paramètres de l'éditeur.

Déclaré à

OTPublisherKit.h

– initWithDelegate:name:

Initialisez un objet « publisher » et spécifiez l'objet délégué ainsi que le nom du flux.

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

Paramètres

delegate Le délégué (OTPublisherKitDelegate) pour l'éditeur.
name Le nom de l'éditeur de la vidéo. Le [Nom de l'OTStream] pour un flux publié par cet éditeur sera définie à cette valeur (sur tous les clients).

Valeur de retour

Le pointeur vers l'instance, ou nil si l'initialisation a échoué.

Discussion

Cette méthode est obsolète. Utilisez [OTPublisherKit initWithDelegate:settings:] au lieu de cela.

Lorsqu'elle est exécutée dans le simulateur iOS d'Xcode, cette méthode renvoie nil.

Déclaré à

OTPublisherKit.h

– initWithDelegate:name:audioTrack:videoTrack:

Initialisez l'éditeur et précisez si l'audio et la vidéo seront activés pour cette instance.

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

Paramètres

delegate Le délégué (OTPublisherKitDelegate) pour l'éditeur.
name Le nom de l'éditeur de la vidéo. Le [Nom de l'OTStream] pour un flux publié par cet éditeur sera définie à cette valeur (sur tous les clients).
audioTrack Publier ou non le fichier audio (OUI) ou ne pas le publier (NON).
videoTrack Faut-il publier la vidéo (OUI) ou non (NON) ?

Discussion

Cette méthode est obsolète. Utilisez [OTPublisherKit initWithDelegate:settings:] au lieu de cela.

Si la valeur de « audioTrack » ou de « videoTrack » est définie sur « NO », le sous-système correspondant ne sera pas initialisé, et la définition de la valeur correspondante [OTPublisherKit publishAudio] et [OTPublisherKit publishVideo] ces propriétés n'auront aucun effet.

Si votre application ne nécessite pas l'utilisation de l'audio ou de la vidéo, il est recommandé de définir ces valeurs plutôt que d'utiliser le [OTPublisherKit publishAudio] et [OTPublisherKit publishVideo] propriétés qui ne désactivent les pistes que temporairement.

Déclaré à

OTPublisherKit.h

Obtenir des informations sur l'éditeur

delegate

Les OTPublisherDelegate objet, qui est le délégué de l'objet OTPublisher .

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

Discussion

Voir aussi [OTPublisherKit audioLevelDelegate], [OTPublisherKit networkStatsDelegate]et [OTPublisherKit rtcStatsReportDelegate].

Déclaré à

OTPublisherKit.h

audioLevelDelegate

Reçoit régulièrement des rapports sur les niveaux sonores de cet éditeur.

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

Discussion

Il s'agit d'un objet délégué distinct de celui défini comme propriété « delegate » (l'objet OTPublisherKitDelegate).

Si vous ne définissez pas cette propriété, le sous-système d'échantillonnage audio est désactivé.

Déclaré à

OTPublisherKit.h

networkStatsDelegate

Les OTPublisherKitNetworkStatsDelegate objet qui reçoit périodiquement les statistiques de qualité de l'éditeur.

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

Discussion

Cet objet délégué reçoit des messages indiquant ce qui suit :

  • Nombre total de paquets audio et vidéo perdus
  • Nombre total de paquets audio et vidéo reçus
  • Nombre total d'octets audio et vidéo reçus

Il s'agit d'un objet délégué distinct de celui défini comme [Délégué OTPublisherKit] propriété (l'objet OTPublisherKitDelegate).

Voir aussi [OTPublisherKit rtcStatsReportDelegate].

Déclaré à

OTPublisherKit.h

rtcStatsReportDelegate

Les OTPublisherKitRtcStatsReportDelegate qui présente les statistiques RTC pour l'éditeur. Le [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] Ce message est envoyé en réponse à l'appel de la fonction [OTPublisherKit getRtcStatsReport] méthode.

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

Déclaré à

OTPublisherKit.h

session

La session à laquelle appartient cet éditeur.

@property (readonly) OTSession *session

Déclaré à

OTPublisherKit.h

stream

Les OTStream objet associé à l'éditeur.

@property (readonly) OTStream *stream

Déclaré à

OTPublisherKit.h

name

Une chaîne de caractères qui sera associée au flux de cet éditeur. Cette chaîne est affichée au bas des vidéos des abonnés associées au flux publié, si une superposition permettant d'afficher le nom est présente.

@property (readonly) NSString *name

Discussion

Le nom doit être défini lors de l'initialisation, lorsque vous envoyez le [OTPublisherKit initWithDelegate:settings:] message.

Cette valeur est par défaut une chaîne vide.

Déclaré à

OTPublisherKit.h

– getRtcStatsReport

Récupère le rapport statistique RTC de l'éditeur. Il s'agit d'une opération asynchrone. Définissez le [OTPublisherKit rtcStatsReportDelegate] propriété et mettre en œuvre la [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] méthode avant d'appeler cette méthode. Lorsque les statistiques sont disponibles, l'implémentation de la [OTPublisherKitRtcStatsReportDelegate publisher:rtcStatsReport:] Le message est envoyé.

- (void)getRtcStatsReport

Discussion

Voir aussi [OTPublisherKit networkStatsDelegate] et [OTSubscriberKit getRtcStatsReport].

Déclaré à

OTPublisherKit.h

Gestion des sorties audio et vidéo pour un éditeur

publishAudio

Faut-il publier le fichier audio ?

@property (nonatomic) BOOL publishAudio

Discussion

La valeur par défaut est TRUE.

Déclaré à

OTPublisherKit.h

publishVideo

Faut-il publier une vidéo ?

@property (nonatomic) BOOL publishVideo

Discussion

La valeur par défaut est TRUE.

Déclaré à

OTPublisherKit.h

publishCaptions

Activer ou non les sous-titres.

@property (nonatomic) BOOL publishCaptions

Discussion

La valeur par défaut est FALSE.

Déclaré à

OTPublisherKit.h

Définition de la configuration de l'appareil de publication

videoCapture

Les OTVideoCapture instance utilisée pour capturer la vidéo à diffuser en continu vers la session OpenTok .

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

Déclaré à

OTPublisherKit.h

videoType

Spécifie le type de vidéo pour le flux publié.

@property (nonatomic, assign) OTPublisherKitVideoType videoType

Discussion

Définissez ce paramètre sur l'une des valeurs suivantes :

  • OTPublisherKitVideoTypeScreen — Optimise l'encodage vidéo pour le partage d'écran. Pour publier un flux de partage d'écran, vous devez implémenter un capteur vidéo personnalisé pour l'objet OTPublisherKit. Voir [OTPublisherKit videoCapture]. Il est recommandé d'utiliser une faible fréquence d'images (5 images par seconde ou moins) avec ce type de vidéo. Lorsque vous utilisez le type de vidéo « écran » dans une session qui utilise le serveur multimédia OpenTok, le OTPublisherKitSettings Les propriétés de repli audio sont définies sur « NO » par défaut ; cela désactive la fonctionnalité de repli audio seul, afin que la vidéo ne soit pas interrompue chez les abonnés. Voir OpenTok Media Router.
  • OTPublisherKitVideoTypeCamera — Il s'agit du réglage par défaut, que vous devez utiliser lorsque vous utilisez une caméra comme source vidéo.

Déclaré à

OTPublisherKit.h

videoRender

Les OTVideoRender instance utilisée pour générer la vidéo à diffuser en continu vers la session OpenTok .

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

Déclaré à

OTPublisherKit.h

Contrôle du préréglage du débit binaire vidéo de l’éditeur

maxVideoBitrate

Le débit binaire maximal de la vidéo diffusée par l'éditeur, en bits par seconde (bps).

@property (nonatomic) int maxVideoBitrate

Discussion

Cette propriété définit une limite supérieure explicite pour le débit binaire vidéo de l'éditeur, comprise entre 5 000 et 10 000 000. En définissant cette propriété sur 0 supprime toute limite manuelle et rétablit le comportement par défaut du débit binaire adaptatif basé sur des préréglages, sans limite explicite.

Lorsque cette propriété est lue, elle renvoie le débit binaire maximal actuellement configuré en bps. Si aucun débit binaire n'a été défini manuellement, ou si un préréglage de débit binaire est actif, la valeur est 0.

Une valeur de 0 indique qu'aucune limite explicite de débit binaire n'est appliquée et que le flux fonctionne selon des règles de préréglage adaptatives afin d'optimiser la qualité.

Voir aussi [OTPublisherKit videoBitratePreset] et Publisher Max Bitrate.

Déclaré à

OTPublisherKit.h

videoBitratePreset

La stratégie de préréglage du débit binaire vidéo appliquée au flux vidéo de l'éditeur.

@property (nonatomic) OTVideoBitratePreset videoBitratePreset

Discussion

Cette propriété permet de configurer une stratégie de débit binaire prédéfinie afin d'équilibrer la qualité vidéo et l'utilisation de la bande passante. Les préréglages disponibles comprennent le comportement par défaut, une économie modérée de bande passante et une économie intensive de bande passante. Les stratégies préréglées permettent de contrôler le comportement de l'encodeur sans avoir à spécifier explicitement des valeurs de débit binaire.

Les configurations prédéfinies et les réglages manuels du débit binaire s'excluent mutuellement. Réglage maxVideoBitrate remplacera tout paramètre prédéfini et modifiera automatiquement la valeur de cette propriété pour la remplacer par OTVideoBitratePresetCustom.

La lecture de cette propriété renvoie le préréglage actuellement actif. Si un débit binaire personnalisé a été défini manuellement, la valeur sera OTVideoBitratePresetCustom.

La valeur par défaut est OTVideoBitratePresetDefault.

Voir aussi [OTPublisherKit maxVideoBitrate] et Publisher Max Bitrate.

Déclaré à

OTPublisherKit.h

degradationPreference

Politique privilégiée que le moteur vidéo appliquera pour adapter la fréquence d'images et la résolution en fonction des contraintes de bande passante et de la charge du processeur. Voir OTDegradationPreference pour une description des valeurs possibles.

@property (nonatomic) OTDegradationPreference degradationPreference

Déclaré à

OTPublisherKit.h

targetScalabilityMode

Le mode d'évolutivité cible qui a été explicitement défini via `setTargetScalabilityMode:error:`. Renvoie la dernière valeur transmise au setter, ou `null` si celui-ci n'a jamais été appelé. Cela reflète l'intention de l'utilisateur, et non le mode réellement appliqué (qui peut différer en raison d'un repli dépendant du codec).

@property (nonatomic, readonly) NSString *targetScalabilityMode

Discussion

Il s'agit d'une fonctionnalité en version bêta.

Déclaré à

OTPublisherKit.h

– setTargetScalabilityMode:error:

Mode d'évolutivité cible (SVC - Scalable Video Coding) pour cet éditeur. Le mode d'évolutivité contrôle le nombre de couches spatiales (résolution) et temporelles (fréquence d'images) encodées par WebRTC. Ce mode s'applique au chemin multimédia du Media Router.

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

Paramètres

mode Chaîne de caractères indiquant le mode d'évolutivité souhaité (par exemple, @« L1T3 »). Doit correspondre à l'une des valeurs suivantes : L1T1, L1T2, L1T3, L2T1, L2T2, L2T3, L3T1, L3T2, L3T3.
error En cas d'échec, définissez une exception OTError avec le domaine OT_PUBLISHER_ERROR_DOMAIN et le code OTPublisherInvalidScalabilityMode.

Discussion

Le setter peut être appelé à tout moment ; il n'est pas nécessaire que la négociation du chemin multimédia soit terminée. Le mode sera appliqué dès que le chemin multimédia du routeur multimédia sera établi.

Si un codec non-SVC (VP8, H.264) est négocié sur le chemin multimédia du routeur multimédia, le mode le plus proche applicable est utilisé : les couches spatiales sont forcées à 1, tout en conservant la dimension temporelle (par exemple, L2T2 → L1T2 lorsque le VP8 est négocié).

Déclaré à

OTPublisherKit.h

Configuration des transformateurs multimédias

videoTransformers

Tableau d'instances de `OTVideoTransformer` dans l'ordre dans lequel elles doivent être appliquées au flux.

@property (nonatomic, strong) NSArray *videoTransformers

Déclaré à

OTPublisherKit.h

audioTransformers

Tableau d'instances de `OTAudioTransformer` dans l'ordre dans lequel elles doivent être appliquées au flux.

@property (nonatomic, strong) NSArray *audioTransformers

Déclaré à

OTPublisherKit.h