LiteAVSDK
Tencent Cloud TRTC SDK, is a high availability components serving tens of thousands of enterprise customers, which is committed to helping you to minimize your research and development costs.
V2TXLivePusher

Data Structures

class  V2TXLivePusher
 

Detailed Description

Tencent Cloud live pusher.
The live pusher encodes the local audio and video data and pushes the encoded data to a specified push URL.

The pusher has the following capabilities:


Data Structure Documentation

◆ com::tencent::live2::V2TXLivePusher

class com::tencent::live2::V2TXLivePusher

Public Member Functions

abstract void setObserver (V2TXLivePusherObserver observer)
 
abstract int setRenderView (TXCloudVideoView view)
 
abstract int setRenderView (TextureView view)
 
abstract int setRenderView (SurfaceView view)
 
abstract int setRenderMirror (V2TXLiveMirrorType mirrorType)
 
abstract int setEncoderMirror (boolean mirror)
 
abstract int setRenderRotation (V2TXLiveRotation rotation)
 
abstract int startCamera (boolean frontCamera)
 
abstract int stopCamera ()
 
abstract int startMicrophone ()
 
abstract int stopMicrophone ()
 
abstract int startVirtualCamera (Bitmap image)
 
abstract int stopVirtualCamera ()
 
abstract int startScreenCapture ()
 
abstract int stopScreenCapture ()
 
abstract int pauseAudio ()
 
abstract int resumeAudio ()
 
abstract int pauseVideo ()
 
abstract int resumeVideo ()
 
abstract int startPush (String url)
 
abstract int stopPush ()
 
abstract int isPushing ()
 
abstract int setAudioQuality (V2TXLiveAudioQuality quality)
 
abstract int setVideoQuality (V2TXLiveVideoEncoderParam param)
 
abstract TXBeautyManager getBeautyManager ()
 
abstract TXAudioEffectManager getAudioEffectManager ()
 
abstract TXDeviceManager getDeviceManager ()
 
abstract int snapshot ()
 
abstract int setWatermark (Bitmap image, float x, float y, float scale)
 
abstract int enableVolumeEvaluation (int intervalMs)
 
abstract int enableCustomVideoProcess (boolean enable, V2TXLivePixelFormat pixelFormat, V2TXLiveBufferType bufferType)
 
abstract int enableCustomVideoCapture (boolean enable)
 
abstract int sendCustomVideoFrame (V2TXLiveVideoFrame videoFrame)
 
abstract int enableCustomAudioCapture (boolean enable)
 
abstract int sendCustomAudioFrame (V2TXLiveAudioFrame audioFrame)
 
abstract int sendSeiMessage (int payloadType, byte[] data)
 
abstract void showDebugView (boolean isShow)
 
abstract int setProperty (String key, Object value)
 
abstract int setMixTranscodingConfig (V2TXLiveTranscodingConfig config)
 

Member Function Documentation

◆ enableCustomAudioCapture()

abstract int enableCustomAudioCapture ( boolean  enable)
abstract

Turn on/off custom audio capture.
In the custom audio capture mode, the SDK no longer collects sound from the microphone, and only retains the encoding and sending capabilities.

Turn on/off custom audio capture.

Attention
It needs to be called before startPush to take effect.
Parameters
enabletrue: Open custom capture; false: Close custom capture.**Default value**: false
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ enableCustomVideoCapture()

abstract int enableCustomVideoCapture ( boolean  enable)
abstract

Enables or disables custom video capture.

In the custom video capture mode, the SDK no longer captures images from cameras. Only the encoding and sending capabilities are retained.

Attention
This API takes effect only when it is called before startPush .
Parameters
enabletrue: enable custom video capture; false (default): disable custom video capture
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ enableCustomVideoProcess()

abstract int enableCustomVideoProcess ( boolean  enable,
V2TXLivePixelFormat  pixelFormat,
V2TXLiveBufferType  bufferType 
)
abstract

Enables or disables custom video processing.

Attention
Formats supported by RTMP: format = V2TXLivePixelFormatTexture2D && buffetType = V2TXLiveBufferTypeTexture Formats supported by RTC: format = V2TXLivePixelFormatTexture2D && bufferType = V2TXLiveBufferTypeTexture format = V2TXLivePixelFormatI420 && bufferType = V2TXLiveBufferTypeByteBuffer format = V2TXLivePixelFormatI420 && bufferType = V2TXLiveBufferTypeByteArray
Parameters
enabletrue: enable; false: disable (default)
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_NOT_SUPPORTED: unsupported format

◆ enableVolumeEvaluation()

abstract int enableVolumeEvaluation ( int  intervalMs)
abstract

Enables volume update.

After this feature is enabled, you can obtain the volume evaluation through the V2TXLivePusherObserver#onMicrophoneVolumeUpdate(int) callback.

Parameters
intervalMsInterval for triggering the volume callback. The unit is ms. The minimum interval is 100 ms. If the value is equal to or smaller than 0, the callback is disabled. We recommend that you set this parameter to 300 ms. [Default]: 0.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ getAudioEffectManager()

abstract TXAudioEffectManager getAudioEffectManager ( )
abstract

Obtains the audio effect manager TXAudioEffectManager.

With the audio effect manager, you can use the following features:

  • Adjust the volume of human voice collected by the microphone.
  • Set the reverb and voice changing effects.
  • Start the headphone monitor, and set the volume of the headphone monitor.
  • Add the BGM, and adjust the playback effect of BGM.

◆ getBeautyManager()

abstract TXBeautyManager getBeautyManager ( )
abstract

Obtains the beauty manager TXBeautyManager

With the beauty manager, you can use the following features:

  • Set the following cosmetic effects: beauty style, whitening, ruddy, big eyes, slim face, V-shape face, chin, short face, small nose, bright eyes, white teeth, remove eye bags, remove wrinkles, remove laugh lines.
  • Adjust the hairline, eye spacing, eye corners, mouth shape, nose wings, nose position, lip thickness, and face shape.
  • Set animated effects such as face widgets (materials).
  • Add makeup effects.
  • Recognize gestures.

◆ getDeviceManager()

abstract TXDeviceManager getDeviceManager ( )
abstract

Obtains the video device manager TXDeviceManager.

With the device manager, you can use the following features:

  • Switch between the front and rear cameras.
  • Set the auto focus.
  • Adjust the camera magnification.
  • Turn the flash on or off.
  • Switch between the earphone and speaker.
  • Modify the volume type (media volume or conversation volume).

◆ isPushing()

abstract int isPushing ( )
abstract

Indicates whether the pusher is currently pushing streams.

Returns
Indicates whether the pusher is pushing streams.
  • 1: yes
  • 0: no

◆ pauseAudio()

abstract int pauseAudio ( )
abstract

Pause the audio stream of the pusher.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ pauseVideo()

abstract int pauseVideo ( )
abstract

Pause the video stream of the pusher.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ resumeAudio()

abstract int resumeAudio ( )
abstract

Resume the audio stream of the pusher.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ resumeVideo()

abstract int resumeVideo ( )
abstract

Resume the video stream of the pusher.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ sendCustomAudioFrame()

abstract int sendCustomAudioFrame ( V2TXLiveAudioFrame  audioFrame)
abstract

In the custom audio collection mode, the collected audio data is sent to the SDK. The SDK no longer collects microphone data, and only retains the encoding and sending functions.

In the custom audio collection mode, send the collected audio data to the SDK

Attention
You need to call V2TXLivePusher#enableCustomAudioCapture(boolean) before startPush to enable custom capture.
Parameters
audioFrameAudio frame data sent to SDK V2TXLiveAudioFrame
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_REFUSED: Sending failed, you must first call enableCustomAudioCapture to start custom audio capture

◆ sendCustomVideoFrame()

abstract int sendCustomVideoFrame ( V2TXLiveVideoFrame  videoFrame)
abstract

Sends the collected video data to the SDK in the custom video capture mode.

In the custom video capture mode, the SDK no longer captures images from cameras. Only the encoding and sending capabilities are retained. You can pack collected SampleBuffer packets into V2TXLiveVideoFrame and periodically send them through this API.

Attention
You must call V2TXLivePusher#enableCustomVideoCapture(boolean) to enable custom video capture before V2TXLivePusher#startPush(String) .
Parameters
videoFrameVideo frames sent to the SDK V2TXLiveVideoFrame
Returns
Return code for V2TXLiveCode

◆ sendSeiMessage()

abstract int sendSeiMessage ( int  payloadType,
byte[]  data 
)
abstract

Use SEI channel to send custom message

The player end V2TXLivePlayer can receive the message via onReceiveSeiMessage callback in V2TXLivePlayerObserver.

Parameters
payloadTypePayload type. Valid values: 5, 242, 242 recommended
dataData to be sent
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setAudioQuality()

abstract int setAudioQuality ( V2TXLiveAudioQuality  quality)
abstract

Sets the audio quality for pushing.

Parameters
qualityAudio quality V2TXLiveAudioQuality
  • V2TXLiveAudioQualityDefault [Default]: universal
  • V2TXLiveAudioQualitySpeech: speech
  • V2TXLiveAudioQualityMusic: music
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_REFUSED: the audio quality cannot be adjusted in the pushing process.

◆ setEncoderMirror()

abstract int setEncoderMirror ( boolean  mirror)
abstract

Sets the video encoder mirror.

Attention
The encoder mirror only influences video effects on the audience side.
Parameters
mirrorSpecifies whether the mirrored images are viewed.
  • false [Default]: non-mirrored images are viewed on the player side.
  • true: mirrored images are viewed on the player side.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setMixTranscodingConfig()

abstract int setMixTranscodingConfig ( V2TXLiveTranscodingConfig  config)
abstract

Sets On-Cloud MixTranscoding parameters.

If you have enabled relayed push on the "Function Configuration" page of the TRTC console, then each stream in a room will have a default CDN address.

There may be multiple anchors in a room, each sending their own video and audio, but CDN audience needs only one live stream. Therefore, you need to mix multiple audio/video streams into one standard live stream, which requires mixing and transcoding.

When you call the setMixTranscodingConfig() API, the SDK will send a command to the Tencent Cloud transcoding server to combine multiple audio/video streams in the room into one stream. You can use the mixStreams parameter to set the position of each channel of image and specify whether to mix only audio. You can also set the encoding parameters of the mixed stream, including videoWidth, videoHeight, and videoBitrate.

**Image 1** => decoding ====> \
                                 \
**Image 2**=> decoding =>  image mixing => encoding => **mixed image**
                                 /
**Image 3** => decoding ====> /
**Audio 1** => decoding ====> \
                                 \
**Audio 2** => decoding => audio mixing => encoding => **mixed audio**
                                 /
**Audio 3** => decoding ====> /

For more information, please see On-Cloud MixTranscoding.

Attention
Notes:
  • Only supported RTC mode.
  • On-Cloud MixTranscoding will increase the delay of CDN live streaming by about 1-2 seconds.
  • If you call this API, the streams of co-anchors will be mixed into your stream or the streamId specified in config.
  • If you are still in the room but do not need to mix streams anymore, make sure that you pass in nil to cancel On-Cloud MixTranscoding. The On-Cloud MixTranscoding module starts working the moment you enable On-Cloud MixTranscoding. You may incur additional costs if you do not cancel it in a timely manner.
  • When you leave the room, mixing will be canceled automatically.
Parameters
configPlease see the description of V2TXLiveTranscodingConfig in V2TXLiveDef.h. Passing in nil will cancel On-Cloud MixTranscoding.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_REFUSED: failed to set On-Cloud MixTranscoding parameters as stream pushing has not started

◆ setObserver()

abstract void setObserver ( V2TXLivePusherObserver  observer)
abstract

Sets the pusher callback.

By setting the callback, you can listen to some callback events of V2TXLivePusher, including the pusher status, volume callback, statistics, warnings, and error messages.

Parameters
observerCallback target of the pusher. For more information, see V2TXLivePusherObserver

◆ setProperty()

abstract int setProperty ( String  key,
Object  value 
)
abstract

Calls the advanced API of V2TXLivePusher.

Attention
This API is used to call some advanced features.
Parameters
keyKey of the advanced API.
valueParameter needed to call the advanced API corresponding to the key.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_INVALID_PARAMETER: operation failed. The key cannot be null.

◆ setRenderMirror()

abstract int setRenderMirror ( V2TXLiveMirrorType  mirrorType)
abstract

Sets the view mirror of the local camera.

Local cameras are divided into the front camera and the rear camera. By default, images from the front camera are mirrored, and images from the rear camera are not mirrored. Here, you can modify the default mirror type of the front or rear camera.

Parameters
mirrorTypeMirror type of the camera V2TXLiveMirrorType
  • V2TXLiveMirrorTypeAuto [Default]: default mirror type. In this case, images from the front camera are mirrored, and images from the rear camera are not mirrored.
  • V2TXLiveMirrorTypeEnable: both the front camera and rear camera are switched to mirror mode.
  • V2TXLiveMirrorTypeDisable: both the front camera and rear camera are switched to non-mirror mode.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setRenderRotation()

abstract int setRenderRotation ( V2TXLiveRotation  rotation)
abstract

Sets the rotation angle of the view.

Attention
Only the view is rotated, and images that are pushed are not affected.
Parameters
rotationRotation angle of the view V2TXLiveRotation
  • V2TXLiveRotation0 [Default]: 0 degrees, which means the view is not rotated.
  • V2TXLiveRotation90: rotate 90 degrees clockwise.
  • V2TXLiveRotation180: rotate 180 degrees clockwise.
  • V2TXLiveRotation270: rotate 270 degrees clockwise.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setRenderView() [1/3]

abstract int setRenderView ( SurfaceView  view)
abstract

Sets the local camera preview.

Images collected by the local camera will be eventually displayed on the view that is passed in after it is overlaid by multiple effects, such as beauty filters, facial feature adjustments, and filters.

Parameters
viewLocal camera preview.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setRenderView() [2/3]

abstract int setRenderView ( TextureView  view)
abstract

Sets the local camera preview.

Images collected by the local camera will be eventually displayed on the view that is passed in after it is overlaid by multiple effects, such as beauty filters, facial feature adjustments, and filters.

Parameters
viewLocal camera preview.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setRenderView() [3/3]

abstract int setRenderView ( TXCloudVideoView  view)
abstract

Sets the local camera preview.

Images collected by the local camera will be eventually displayed on the view that is passed in after it is overlaid by multiple effects, such as beauty filters, facial feature adjustments, and filters.

Parameters
viewLocal camera preview.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setVideoQuality()

abstract int setVideoQuality ( V2TXLiveVideoEncoderParam  param)
abstract

Set the video encoding parameters for pushing.

Parameters
paramvideo encoding parameters V2TXLiveVideoEncoderParam
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ setWatermark()

abstract int setWatermark ( Bitmap  image,
float  x,
float  y,
float  scale 
)
abstract

Sets the pusher watermark image. By default, the watermark is disabled.

Parameters
imageWatermark image. If the value is null, it is equivalent to disabling the watermark.
xDisplay position of the watermark. Valid range: 0 - 1.
yDisplay position of the watermark. Valid range: 0 - 1.
scaleScaling ratio of the watermark. Valid range: 0 - 1.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ showDebugView()

abstract void showDebugView ( boolean  isShow)
abstract

Indicates whether the debug view of the pusher video status information is displayed.

Parameters
isShowSpecifies whether to display the debug view. [Default]: false

◆ snapshot()

abstract int snapshot ( )
abstract

Captures the local view in the pushing process.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful
  • V2TXLIVE_ERROR_REFUSED: pushing is stopped, and the snapshot operation cannot be called.

◆ startCamera()

abstract int startCamera ( boolean  frontCamera)
abstract

Enables the local camera.

Parameters
frontCameraSpecifies whether to switch to the front camera.
  • true [Default]: switch to the front camera.
  • false: switch to the rear camera.
Attention
startVirtualCamera, startCamera, startScreenCapture, if use the same Pusher instance, only one can publish. To switch between different capture sources, first stop the previous capture source, and then start the next capture source to ensure that start and stop of the same capture source are called in pairs. eg: when the capture source is switched from Camera to VirtualCamera, the call sequence is startCamera -> stopCamera -> startVirtualCamera.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ startMicrophone()

abstract int startMicrophone ( )
abstract

Enables the local microphone.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ startPush()

abstract int startPush ( String  url)
abstract

Starts pushing the audio and video data.

Parameters
urlPush URL, which can be any push server.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: operation succeeded. The pusher starts connecting to the target push URL.
  • V2TXLIVE_ERROR_INVALID_PARAMETER: operation failed. The URL is invalid.
  • V2TXLIVE_ERROR_INVALID_LICENSE: operation failed. The license is invalid and authentication failed.
  • V2TXLIVE_ERROR_REFUSED: operation failed. Duplicate streamId, please ensure that no other player or pusher is using this streamId now.

◆ startScreenCapture()

abstract int startScreenCapture ( )
abstract

Enables video screen capture.

Attention
startVirtualCamera, startCamera, startScreenCapture, if use the same Pusher instance, only one can publish. To switch between different capture sources, first stop the previous capture source, and then start the next capture source to ensure that start and stop of the same capture source are called in pairs. eg: when the capture source is switched from Camera to ScreenCapture, the call sequence is startCamera -> stopCamera -> startScreenCapture.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ startVirtualCamera()

abstract int startVirtualCamera ( Bitmap  image)
abstract

Enables the image streaming.

Parameters
imageimage
Attention
startVirtualCamera, startCamera, startScreenCapture, if use the same Pusher instance, only one can publish. To switch between different capture sources, first stop the previous capture source, and then start the next capture source to ensure that start and stop of the same capture source are called in pairs. eg: when the capture source is switched from Camera to VirtualCamera, the call sequence is startCamera -> stopCamera -> startVirtualCamera.
Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ stopCamera()

abstract int stopCamera ( )
abstract

Disables the local camera.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ stopMicrophone()

abstract int stopMicrophone ( )
abstract

Disables the microphone.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ stopPush()

abstract int stopPush ( )
abstract

Stops pushing the audio and video data.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ stopScreenCapture()

abstract int stopScreenCapture ( )
abstract

Disables video capture.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful

◆ stopVirtualCamera()

abstract int stopVirtualCamera ( )
abstract

Disables the image streaming.

Returns
Return code for V2TXLiveCode
  • V2TXLIVE_OK: successful