| 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