Agora Java API Reference for Android
Public Member Functions | List of all members
agora::rtc::IRtmpStreamingService Class Referenceabstract

#include <IAgoraRtmpStreamingService.h>

Inheritance diagram for agora::rtc::IRtmpStreamingService:
agora::RefCountInterface

Public Member Functions

virtual int addPublishStreamUrl (const char *url, bool transcodingEnabled)=0
 
virtual int removePublishStreamUrl (const char *url)=0
 
virtual int setLiveTranscoding (const LiveTranscoding &transcoding)=0
 
virtual int startRtmpStreamWithoutTranscoding (const char *url)=0
 
virtual int startRtmpStreamWithTranscoding (const char *url, const LiveTranscoding &transcoding)=0
 
virtual int updateRtmpTranscoding (const LiveTranscoding &transcoding)=0
 
virtual int stopRtmpStream (const char *url)=0
 
virtual int registerObserver (IRtmpStreamingObserver *observer)=0
 
virtual int unregisterObserver (IRtmpStreamingObserver *observer)=0
 
- Public Member Functions inherited from agora::RefCountInterface
virtual void AddRef () const =0
 
virtual RefCountReleaseStatus Release () const =0
 
virtual bool HasOneRef () const =0
 

Detailed Description

The IRtmpStreamingService class, which enables the live stream service.

Member Function Documentation

◆ addPublishStreamUrl()

virtual int agora::rtc::IRtmpStreamingService::addPublishStreamUrl ( const char *  url,
bool  transcodingEnabled 
)
pure virtual

Publishes the local stream to the CDN.

This method triggers the onRtmpStreamingStateChanged callback on the local client to report the state of adding a local stream to the CDN.

Note
  • Ensure that you enable the RTMP Converter service before using this function.
  • This method applies to Live-Broadcast only.
  • Ensure that the user joins a channel before calling this method.
  • This method adds only one stream URL address each time it is called.
Parameters
urlThe CDN streaming URL in the RTMP format. The maximum length of this parameter is 1024 bytes. The URL address must not contain special character, such as Chinese language characters.
transcodingEnabledSets whether transcoding is enabled/disabled. If you set this parameter as true, ensure that you call the setLiveTranscoding method before this method.
  • true: Enable transcoding.
  • false: Disable transcoding.
Returns
  • 0: Success.
  • < 0: Failure.

◆ removePublishStreamUrl()

virtual int agora::rtc::IRtmpStreamingService::removePublishStreamUrl ( const char *  url)
pure virtual

Removes an RTMP stream from the CDN.

This method removes the RTMP URL address added by addPublishStreamUrl from a CDN live stream. The SDK triggers the onRtmpStreamingStated callback on the local client to report the state of removing an RTMP stream from the CDN.

Note
  • Ensure that you enable the RTMP Converter service before using this function.
  • This method applies to Live-Broadcast only.
  • This method removes only one stream URL address each time it is called.
Parameters
urlThe RTMP URL address to be removed. The maximum length of this parameter is 1024 bytes. The URL address must not contain special character, such as Chinese language characters.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setLiveTranscoding()

virtual int agora::rtc::IRtmpStreamingService::setLiveTranscoding ( const LiveTranscoding transcoding)
pure virtual

Sets the video layout and audio settings for CDN live.

The SDK triggers the onTranscodingUpdated callback when the LiveTranscoding class is updated using this method. If you call this method to set LiveTrancoding for the first time, the SDK does not trigger this callback.

Note
  • Ensure that you enable the RTMP Converter service before using this function.
  • This method applies to Live-Broadcast only.
  • Ensure that you call this method before calling addPublishStreamUrl().

◆ startRtmpStreamWithoutTranscoding()

virtual int agora::rtc::IRtmpStreamingService::startRtmpStreamWithoutTranscoding ( const char *  url)
pure virtual

Publishes the local stream without transcoding to a specified CDN live RTMP address. (CDN live only.)

The SDK returns the result of this method call in the onStreamPublished callback.

The startRtmpStreamWithoutTranscoding method call triggers the onRtmpStreamingStateChanged callback on the local client to report the state of adding a local stream to the CDN.

Note
  • Ensure that the user joins the channel before calling this method.
  • This method adds only one stream RTMP URL address each time it is called.
  • The RTMP URL address must not contain special characters, such as Chinese language characters.
  • This method applies to Live Broadcast only.
Parameters
urlThe CDN streaming URL in the RTMP format. The maximum length of this parameter is 1024 bytes.
Returns
  • 0: Success.
  • < 0: Failure.
  • #ERR_INVALID_ARGUMENT (2): The RTMP URL address is NULL or has a string length of 0.
  • #ERR_NOT_INITIALIZED (7): You have not initialized the RTC engine when publishing the stream.

◆ startRtmpStreamWithTranscoding()

virtual int agora::rtc::IRtmpStreamingService::startRtmpStreamWithTranscoding ( const char *  url,
const LiveTranscoding transcoding 
)
pure virtual

Publishes the local stream with transcoding to a specified CDN live RTMP address. (CDN live only.)

The SDK returns the result of this method call in the onStreamPublished callback.

The startRtmpStreamWithTranscoding method call triggers the onRtmpStreamingStateChanged callback on the local client to report the state of adding a local stream to the CDN.

Note
  • Ensure that the user joins the channel before calling this method.
  • This method adds only one stream RTMP URL address each time it is called.
  • The RTMP URL address must not contain special characters, such as Chinese language characters.
  • This method applies to Live Broadcast only.
Parameters
urlThe CDN streaming URL in the RTMP format. The maximum length of this parameter is 1024 bytes.
transcodingSets the CDN live audio/video transcoding settings. See LiveTranscoding.
Returns
  • 0: Success.
  • < 0: Failure.
    • #ERR_INVALID_ARGUMENT (2): The RTMP URL address is NULL or has a string length of 0.
    • #ERR_NOT_INITIALIZED (7): You have not initialized the RTC engine when publishing the stream.

◆ updateRtmpTranscoding()

virtual int agora::rtc::IRtmpStreamingService::updateRtmpTranscoding ( const LiveTranscoding transcoding)
pure virtual

Update the video layout and audio settings for CDN live. (CDN live only.)

Note
This method applies to Live Broadcast only.
Parameters
transcodingSets the CDN live audio/video transcoding settings. See LiveTranscoding.
Returns
  • 0: Success.
  • < 0: Failure.

◆ stopRtmpStream()

virtual int agora::rtc::IRtmpStreamingService::stopRtmpStream ( const char *  url)
pure virtual

Stop an RTMP stream with transcoding or without transcoding from the CDN. (CDN live only.)

This method removes the RTMP URL address (added by the startRtmpStreamWithoutTranscoding method or IRtcEngine::startRtmpStreamWithTranscoding "startRtmpStreamWithTranscoding" method) from a CDN live stream. The SDK returns the result of this method call in the onStreamUnpublished callback.

The stopRtmpStream method call triggers the onRtmpStreamingStateChanged callback on the local client to report the state of removing an RTMP stream from the CDN.

Note
  • This method removes only one RTMP URL address each time it is called.
  • The RTMP URL address must not contain special characters, such as Chinese language characters.
  • This method applies to Live Broadcast only.
Parameters
urlThe RTMP URL address to be removed. The maximum length of this parameter is 1024 bytes.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerObserver()

virtual int agora::rtc::IRtmpStreamingService::registerObserver ( IRtmpStreamingObserver observer)
pure virtual

Registers an RTMP streaming observer.

Parameters
observerThe pointer to an RTMP streaming observer. See IRtmpStreamingObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ unregisterObserver()

virtual int agora::rtc::IRtmpStreamingService::unregisterObserver ( IRtmpStreamingObserver observer)
pure virtual

Releases the RTMP streaming observer created by registerObserver().

Parameters
observerThe pointer to the RTMP streaming observer that you want to release. See IRtmpStreamingObserver.
Returns
  • 0: Success.
  • < 0: Failure.