O ApsaraVideo Player SDK for iOS reproduz streams ao vivo padrão em formatos como RTMP, FLV e HLS.
Para obter mais informações sobre recursos, referência de API e perguntas frequentes, consulte iOS player.
Procedimento
Etapa 1: Integrar o SDK
Para mais detalhes, consulte Integrate ApsaraVideo Player SDK for iOS.
Etapa 2: Implementar a reprodução de streaming ao vivo
-
Inicie o desenvolvimento.
Para implementar os recursos básicos de reprodução, consulte Getting started.
-
Defina a origem do stream ao vivo.
O SDK oferece dois métodos de reprodução de streaming ao vivo: UrlSource e reprodução criptografada.
UrlSource
Para reproduzir um stream ao vivo com o método UrlSource, defina a propriedade setUrl como a URL de streaming. Essa URL pode ser de um serviço de terceiros ou do ApsaraVideo Live.
Gere URLs de streaming no console do ApsaraVideo Live pelo URL generator.
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:url]; // Required. The playback URL. This can be a streaming URL from a third-party service or from ApsaraVideo Live. [self.player setUrlSource:urlSource];Reprodução criptografada
Para saber mais sobre a reprodução de streaming ao vivo com criptografia DRM, consulte Play an encrypted video.
-
Configure múltiplas definições.Alternar definiçõesNotificações de alternância de definição
NotaEste recurso aceita URLs de streaming do ApsaraVideo Live para qualidade original ou streams transcodificados, com suporte a transcodificação padrão e personalizada. Para mais informações, consulte Use cases.
A funcionalidade está disponível para streams ao vivo que utilizam o protocolo ApsaraVideo Real-Time Communication (ARTC) ou FLV.
Defina o tamanho do group of pictures (GOP) na ingestão do stream como 1s ou 2s. Valores maiores podem causar saltos durante a troca de streams.
No domínio de streaming, ative as opções Output RTMP timestamps during FLV playback e Output RTMP timestamps after upstream disconnection. Na configuração de transcodificação, ative Inherit timestamps from source e Inherit keyframes from source. Caso contrário, a alternância de streams pode apresentar falhas ou travamentos. Para ativar essas opções, envie um ticket.
A alternância para uma URL de streaming que não atenda aos requisitos acima falhará.
Para trocar a definição, chame o método
switchStreame passe a URL do stream com a nova definição.[self.player switchStream:newUrl];O player retorna callbacks indicando sucesso ou falha na alternância de definição.
// Callback for a successful switch. - (void)onStreamSwitchedSuccess:(AliPlayer*)player URL:(NSString*)URL; // Callback for a failed switch. - (void)onStreamSwitchedFail:(AliPlayer*)player URL:(NSString*)URL errorModel:(AVPErrorModel *)errorModel;