jancd/qiniu-developer_ShareGPT huggingface dataset:
human: 如何处理七牛云的实时音视频QNVideoFrameType

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Windows >QNVideoFrameType

#  QNVideoFrameType

最近更新时间: 2022-03-23 21:26:11

视频数据格式

Index

Enum

  * QNVideoFrameType

Enum

QNVideoFrameType

  * Type declaration

    * kUnknown

    * kI420

    * kIYUV

    * kRGB24

    * kABGR

    * kARGB

    * kARGB4444

    * kRGB565

    * kARGB1555

    * kYUY2

    * kYV12

    * kUYVY

    * kMJPEG

    * kNV21

    * kNV12

    * kBGRA

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNVideoRotation

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Windows >QNVideoRotation

#  QNVideoRotation

最近更新时间: 2022-03-23 23:33:23

视频数据的旋转角度，主要用于对原始视频数据进行处理的功能接口中

Index

Enum

  * QNVideoRotation

Enum

QNVideoRotation

  * code | describe | message  
---|---|---  
kVideoRotation0 | 旋转 0 度 | 无  
kVideoRotation90 | 旋转 90 度 | 无  
kVideoRotation180 | 旋转 180 度 | 无  
kVideoRotation270 | 旋转 270 度 | 无  
  
Type declaration

    * kVideoRotation0

    * kVideoRotation90

    * kVideoRotation180

    * kVideoRotation270

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNView

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Windows >QNView

#  QNView

最近更新时间: 2022-03-23 21:48:55

视频窗口及渲染模式设置

Index

Properties

  * hwnd
  * render_type
  * rotation
  * stretch_mode
  * mirror

Properties

hwnd

  * hwnd: void*
  * 窗口对象， Windows：窗口句柄, iOS：UIView 窗口

render_type

  * render_type: [QNRenderMode](https://developer.qiniu.com/rtc/11328/qnview/11327/QNRenderMode)
  * 窗口渲染模式

rotation

  * rotation: [QNVideoRotation](https://developer.qiniu.com/rtc/11328/qnview/9462/QNVideoRotation)
  * 视频渲染时画面旋转角度

stretch_mode

  * stretch_mode: [QNStretchMode](https://developer.qiniu.com/rtc/11328/qnview/9451/QNStretchMode)
  * 渲染窗口画面填充模式

mirror

  * mirror: bool
  * 画面渲染时是否镜像

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNAudioEffect

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNAudioEffect

#  QNAudioEffect

最近更新时间: 2022-06-20 14:37:08

音效混音配置类，可通过
[QNAudioEffectMixer::CreateAudioEffect](https://developer.qiniu.com/rtc/11986/QNAudioEffect-
Linux/11987) 接口进行创建

Index

Core Methods

  * GetDuration
  * GetID
  * GetFilePath
  * SetStartPosition
  * GetStartPosition
  * SetLoopCount
  * GetLoopCount

Core Methods

GetDuration

  * static int64_t GetDuration(const std::string& file_path)
  * 获取指定音效文件的时长，单位：ms

> 该接口为同步方法，对于在线音频文件，获取时长会存在一定的耗时，需注意调用接口所在的线程

Parameters

    * file_path: string 

音效文件路径

Returns 音效文件的时长，单位：ms

GetID

  * virtual int GetID() = 0
  * 获取音效文件的唯一标识符

Returns 音效文件的唯一标识符

GetFilePath

  * virtual const std::string& GetFilePath() = 0
  * 获取音效文件的路径

Returns 音效文件路径

SetStartPosition

  * virtual void SetStartPosition(int64_t start_pos) = 0
  * 设置音效混音的初始位置

Parameters

    * start_pos: int 

混音位置，单位：ms

GetStartPosition

  * virtual int64_t GetStartPosition() = 0
  * 获取音效混音的初始位置

Returns 音效混音初始位置，单位：ms

SetLoopCount

  * virtual void SetLoopCount(int loop_count) = 0
  * 设置音效混音的循环次数

Parameters

    * loopCount: int 

循环次数，-1 为无限循环，0 则不做混音，其他则为指定次数的混音

GetLoopCount

  * virtual int GetLoopCount() = 0
  * 获取音效混音的循环次数

Returns 循环次数

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNAudioEffectMixerListener

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNAudioEffectMixerListener

#  QNAudioEffectMixerListener

最近更新时间: 2022-06-20 14:43:50

音效混音控制器的回调监听函数，可以通过
[QNMicrophoneAudioTrack::CreateAudioEffectMixer](https://developer.qiniu.com/rtc/11988/QNAudioEffectMixerListener-
Linux/11210) 创建
[QNAudioEffectMixer](https://developer.qiniu.com/rtc/11988/QNAudioEffectMixerListener-
Linux/11987/QNAudioEffectMixer) 时传入。

Index

Core Methods

  * OnAudioEffectFinished
  * OnAudioEffectMixerError

Core Methods

OnAudioEffectFinished

  * virtual void OnAudioEffectFinished(int effect_id) = 0
  * 音效混音完成时触发此回调

Parameters

    * effect_id: int 

音效文件的唯一标识符

OnAudioEffectMixerError

  * virtual void OnAudioEffectMixerError(int error_code,const std::string& error_message) = 0
  * 音效混音发生错误时会触发此回调

code | describe | message  
---|---|---  
Err_Audio_Mixing_Audio_Not_Found | 混音源没有找到有效音轨 | 请检查混音文件的合法性  
Err_Audio_Mixing_Decoder_Exception | 系统不支持混音源中的音频类型 | 支持的音频文件格式为：aac、mp3、mp4、ogg、opus、wav、m4a、flac  
Err_Audio_Mixing_Seek_Failed | seek 失败 | 请检查是否在开始混音前执行了 Seek 操作  
Err_Audio_Mixing_Resample_Failed | 重采样模块创建失败 | 请重新尝试混音操作  
Err_Audio_Mixing_IO_Exception | 混音源文件 IO 错误 | 请检查混音源文件是否存在异常  
  
Parameters

    * error_code: int 

混音异常时对应的错误码

    * error_message: string 

混音异常时对应的错误信息

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNAudioMusicMixerListener

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNAudioMusicMixerListener

#  QNAudioMusicMixerListener

最近更新时间: 2022-06-20 14:46:43

混音过程中的回调监听函数，可以通过
[QNMicrophoneAudioTrack.CreateAudioMusicMixer](https://developer.qiniu.com/rtc/11990/QNAudioMusicMixerListener-
Linux/11210) 创建
[QNAudioMusicMixer](https://developer.qiniu.com/rtc/11990/QNAudioMusicMixerListener-
Linux/11987/QNAudioMusicMixer) 时传入

Index

Core Methods

  * OnAudioMusicMixerStateChanged
  * OnAudioMusicMixing
  * OnAudioMusicMixerError

Core Methods

OnAudioMusicMixerStateChanged

  * virtual void OnAudioMusicMixerStateChanged(QNMusicMixerState music_state) = 0
  * 混音状态改变时触发此回调

>
> [QNAudioMusicMixer.SeekTo](https://developer.qiniu.com/rtc/11990/QNAudioMusicMixerListener-
> Linux/11987) 操作成功后会触发
> [QNMusicMixerState.kStateMixing](https://developer.qiniu.com/rtc/11990/QNAudioMusicMixerListener-
> Linux/11991) 状态的回调

Parameters

    * music_state: [QNMusicMixerState](https://developer.qiniu.com/rtc/11990/QNAudioMusicMixerListener-Linux/11991/QNMusicMixerState)

当前的混音状态

OnAudioMusicMixing

  * virtual void OnAudioMusicMixing(int64_t current_pos) = 0
  * 混音操作进行过程中会不断触发此回调

Parameters

    * current_pos: int64_t 

当前正在执行混音操作的音频帧时间戳，单位: ms

OnAudioMusicMixerError

  * virtual void OnAudioMusicMixerError(int error_code, const std::string& error_message) = 0
  * 混音操作发生错误时会触发此回调

code | describe | message  
---|---|---  
Err_Audio_Mixing_Audio_Not_Found | 混音源没有找到有效音轨 | 请检查混音文件的合法性  
Err_Audio_Mixing_Decoder_Exception | 系统不支持混音源中的音频类型 | 支持的音频文件格式为：aac、mp3、mp4、ogg、opus、wav、m4a、flac  
Err_Audio_Mixing_Seek_Failed | seek 失败 | 请检查是否在开始混音前执行了 Seek 操作  
Err_Audio_Mixing_Resample_Failed | 重采样模块创建失败 | 请重新尝试混音操作  
Err_Audio_Mixing_IO_Exception | 混音源文件 IO 错误 | 请检查混音源文件是否存在异常  
  
Parameters

    * error_code: int 

混音异常时对应的错误码

    * error_message: string 

混音异常时对应的错误信息

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNMusicMixerState

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNMusicMixerState

#  QNMusicMixerState

最近更新时间: 2022-06-20 14:49:01

背景音乐混音相关的回调状态，通过
[QNAudioMusicMixerListener.OnAudioMusicMixerStateChanged](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11990) 接口回调

Index

Properties

  * kStateIdle
  * kStateMixing
  * kStatePaused
  * kStateStopped
  * kStateCompleted

Properties

kStateIdle

  * kStateIdle: QNMusicMixerState
  * 混音控制器的初始状态

kStateMixing

  * kStateMixing: QNMusicMixerState
  * 混音操作进行中的状态

当成功执行
[QNAudioMusicMixer.Start](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11989)、[QNAudioMusicMixer.Resume](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11989) 或者
[QNAudioMusicMixer.SeekTo](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11989) 后，会回调此状态

kStatePaused

  * kStatePaused: QNMusicMixerState
  * 混音操作暂停时的状态

当成功执行
[QNAudioMusicMixer.Pause](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11989) 后，会回调此状态

kStateStopped

  * kStateStopped: QNMusicMixerState
  * 混音操作停止时的状态

当成功执行
[QNAudioMusicMixer.Stop](https://developer.qiniu.com/rtc/11991/QNMusicMixerState-
Linux/11989) 后，会回调此状态

kStateCompleted

  * kStateCompleted: QNMusicMixerState
  * 混音操作完成时的状态

> 当且仅当指定循环次数混音完成后，会回调此状态

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNRTCSetting

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNRTCSetting

#  QNRTCSetting

最近更新时间: 2022-03-28 17:43:31

SDK 的核心参数配置结构体

Index

Properties

  * is_aec3_enabled
  * is_maintain_resolution_enabled
  * is_audio_redundant_enabled
  * is_video_error_correction_enabled
  * is_encoder_quality_mode_enabled
  * is_audio_route_to_speakerphone
  * log_level
  * encoder_type

Properties

is_aec3_enabled

  * is_aec3_enabled: bool
  * 是否开启软件回音消除，默认开启

is_maintain_resolution_enabled

  * is_maintain_resolution_enabled: bool
  * 是否固定编码分辨率，默认不固定

is_audio_redundant_enabled

  * is_audio_redundant_enabled: bool
  * 是否开启音频冗余包发送，开启后能抗抗一定的丢包，默认开启

is_video_error_correction_enabled

  * is_video_error_correction_enabled: bool
  * 是否开启视频冗余包发送，开启后能抗一定的丢包，默认开启

is_encoder_quality_mode_enabled

  * is_encoder_quality_mode_enabled: bool
  * 是否开启软编质量优先模式，默认关闭，该参数仅适用于 Android

质量优先模式会优先保证视频的编码质量，实际码率可能会和目标码率存在差异。关闭该模式后会尽量控制编码码率为目标码率

is_audio_route_to_speakerphone

  * is_audio_route_to_speakerphone: bool
  * 设置是否配置扬声器为默认音频路由，默认开启，若传入 false，则默认音频路由为听筒，该参数仅适用于 Android 和 iOS

log_level

  * log_level: [QNLogLevel](https://developer.qiniu.com/rtc/11218/QNRTCSetting-Linux/11275/QNLogLevel-Linux)
  * 设置日志级别，默认为 kLogInfo 级别

encoder_type

  * encoder_type: [QNVideoEncoderType](https://developer.qiniu.com/rtc/11218/QNRTCSetting-Linux/11299/QNVideoEncoderType-Linux)
  * 设置编码类型，Linux 当前仅支持 kEncodeOpenH264 软件编码

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNRTCClientConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNRTCClientConfig

#  QNRTCClientConfig

最近更新时间: 2022-03-28 17:44:52

[QNRTCClient](https://developer.qiniu.com/rtc/11289/QNRTCClientConfig-
Linux/11288/QNRTCClient-Linux) 创建配置类，在
[QNRTC](https://developer.qiniu.com/rtc/11289/QNRTCClientConfig-
Linux/11216/QNRTC-Linux).CreateClient 的时候使用

Index

Properties

  * mode
  * role

Properties

mode

  * mode: [QNClientMode](https://developer.qiniu.com/rtc/11289/QNRTCClientConfig-Linux/11262/QNClientMode-Linux)
  * 使用场景

role

  * role: [QNClientRole](https://developer.qiniu.com/rtc/11289/QNRTCClientConfig-Linux/11263/QNClientRole-Linux)
  * 用户角色

角色类型，仅当使用场景为互动直播时才会生效

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNClientMode

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNClientMode

#  QNClientMode

最近更新时间: 2022-03-28 17:44:11

使用场景，当前分为通信场景和互动直播场景，在
[QNRTCClientConfig](https://developer.qiniu.com/rtc/11262/QNClientMode-
Linux/11289/QNRTCClientConfig-Linux) 中设置，建议根据不同需求选择不同场景，优化使用体验

Index

Properties

  * kRtc
  * kLive

Properties

kRtc

  * kRtc: QNClientMode
  * 通信场景，用于常见的一对一通话或群聊，该场景中的用户均可以发布和订阅音视频轨道

kLive

  * kLive: QNClientMode
  * 直播场景，有主播和观众两种用户角色，可以通过 [QNRTCClient.SetClientRole](https://developer.qiniu.com/rtc/11262/QNClientMode-Linux/11288) 方法设置用户角色为主播或观众。主播可以发布和订阅音视频轨道，而观众只能订阅音视频轨道，无法发布

> 注意：直播场景中的用户角色默认为观众。如需发布音视频，必须将角色修改为主播

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNLocalAudioTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNLocalAudioTrack

#  QNLocalAudioTrack

最近更新时间: 2022-03-28 22:34:51

本地音频 Track 基类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11222/QNTrack-Linux)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11208/QNLocalTrack-Linux)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11209/QNLocalVideoTrack-Linux)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11198/QNCameraVideoTrack-Linux)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11205/QNCustomVideoTrack-Linux)
      * QNLocalAudioTrack 
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11210/QNMicrophoneAudioTrack-Linux)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11203/QNCustomAudioTrack-Linux)
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11213/QNRemoteTrack-Linux)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11215/QNRemoteVideoTrack-Linux)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11212/QNRemoteAudioTrack-Linux)

Index

Core Methods

  * GetTrackID
  * GetUserID
  * GetTag
  * IsAudio
  * IsVideo
  * IsMuted
  * SetMuted
  * SetAudioFrameListener
  * SetVolume
  * GetVolumeLevel

Core Methods

GetTrackID

  * virtual const std::string& GetTrackID() = 0
  * 获取 TrackID

Returns string

GetUserID

  * virtual const std::string& GetUserID() = 0
  * 获取 UserID

Returns string

GetTag

  * virtual const std::string& GetTag() = 0
  * 获取 Tag

Returns string

IsAudio

  * virtual bool IsAudio() = 0
  * 是否为音频 track

Returns bool

IsVideo

  * virtual bool IsVideo() = 0
  * 是否为视频 track

Returns bool

IsMuted

  * virtual bool IsMuted() = 0
  * 是否 muted

Returns bool

SetMuted

  * virtual void SetMuted(bool muted) = 0
  * 设置是否静默该 track，静默后，SDK 将会发送静默帧数据

Parameters

    * muted: bool 

是否静默

SetAudioFrameListener

  * virtual void SetAudioFrameListener([QNAudioFrameListener](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11189/QNAudioFrameListener-Linux)* listener) = 0
  * 设置是音频数据监听

Parameters

    * listener: [QNAudioFrameListener](https://developer.qiniu.com/rtc/11207/QNLocalAudioTrack-Linux/11189/QNAudioFrameListener-Linux)

音频数据监听接口

SetVolume

  * virtual void SetVolume(double volume) = 0
  * 设置采集音频音量（不改变系统设备的音量）

Parameters

    * volume: double 

音量大小，[1.0-10.0], 默认为 1.0

GetVolumeLevel

  * virtual float GetVolumeLevel() = 0
  * 获取音频采集的音量

Returns float

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCustomAudioTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNCustomAudioTrack

#  QNCustomAudioTrack

最近更新时间: 2022-03-28 22:33:11

本地音频自定义导入 Track 类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11222/QNTrack-Linux)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11208/QNLocalTrack-Linux)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11209/QNLocalVideoTrack-Linux)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11198/QNCameraVideoTrack-Linux)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11205/QNCustomVideoTrack-Linux)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11207/QNLocalAudioTrack-Linux)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11210/QNMicrophoneAudioTrack-Linux)
        * QNCustomAudioTrack 
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11213/QNRemoteTrack-Linux)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11215/QNRemoteVideoTrack-Linux)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/11212/QNRemoteAudioTrack-Linux)

Index

Core Methods

  * GetTrackID
  * GetUserID
  * GetTag
  * IsAudio
  * IsVideo
  * IsMuted
  * SetMuted
  * SetAudioFrameListener
  * SetVolume
  * GetVolumeLevel
  * PushAudioFrame

Core Methods

GetTrackID

  * virtual const std::string& GetTrackID() = 0
  * 获取 TrackID

Returns string

GetUserID

  * virtual const std::string& GetUserID() = 0
  * 获取 UserID

Returns string

GetTag

  * virtual const std::string& GetTag() = 0
  * 获取 Tag

Returns string

IsAudio

  * virtual bool IsAudio() = 0
  * 是否为音频 track

Returns bool

IsVideo

  * virtual bool IsVideo() = 0
  * 是否为视频 track

Returns bool

IsMuted

  * virtual bool IsMuted() = 0
  * 是否 muted

Returns bool

SetMuted

  * virtual void SetMuted(bool muted) = 0
  * 设置是否静默该 track，静默后，SDK 将会发送静默帧数据

Parameters

    * muted: bool 

是否静默

SetAudioFrameListener

  * virtual void SetAudioFrameListener([QNAudioFrameListener](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/undefined)* listener) = 0
  * 设置是音频数据监听

Parameters

    * listener: [QNAudioFrameListener](https://developer.qiniu.com/rtc/11203/QNCustomAudioTrack-Linux/undefined)

音频数据监听接口

SetVolume

  * virtual void SetVolume(double volume) = 0
  * 设置采集音频音量（不改变系统设备的音量）

Parameters

    * volume: double 

音量大小，[1.0-10.0], 默认为 1.0

GetVolumeLevel

  * virtual float GetVolumeLevel() = 0
  * 获取音频采集的音量

Returns float

PushAudioFrame

  * virtual int32_t PushAudioFrame(const uint8_t* data,uint32_t data_size,uint32_t bits_per_sample,uint32_t sample_rate,uint32_t channels) = 0
  * 推送自定义音频帧

Parameters

    * data: uint8_t* 

音频数据

    * data_size: uint32_t 

数据长度

    * bits_per_sample: uint32_t 

位宽，即每个采样点占用位数

    * sample_rate: uint32_t 

采样率

    * channels: uint32_t 

声道数

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNRemoteTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNRemoteTrack

#  QNRemoteTrack

最近更新时间: 2022-03-28 17:55:08

音视频远端 Track 基类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11222/QNTrack-Linux)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11208/QNLocalTrack-Linux)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11209/QNLocalVideoTrack-Linux)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11198/QNCameraVideoTrack-Linux)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11205/QNCustomVideoTrack-Linux)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11207/QNLocalAudioTrack-Linux)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11210/QNMicrophoneAudioTrack-Linux)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11203/QNCustomAudioTrack-Linux)
    * QNRemoteTrack 
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11215/QNRemoteVideoTrack-Linux)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11212/QNRemoteAudioTrack-Linux)

Index

Core Methods

  * GetTrackID
  * GetUserID
  * GetTag
  * IsAudio
  * IsVideo
  * IsMuted
  * SetTrackInfoChangedListener
  * IsSubscribed

Core Methods

GetTrackID

  * virtual const std::string& GetTrackID() = 0
  * 获取 TrackID

Returns string

GetUserID

  * virtual const std::string& GetUserID() = 0
  * 获取 UserID

Returns string

GetTag

  * virtual const std::string& GetTag() = 0
  * 获取 Tag

Returns string

IsAudio

  * virtual bool IsAudio() = 0
  * 是否为音频 track

Returns bool

IsVideo

  * virtual bool IsVideo() = 0
  * 是否为视频 track

Returns bool

IsMuted

  * virtual bool IsMuted() = 0
  * 是否 muted

Returns bool

SetTrackInfoChangedListener

  * virtual void SetTrackInfoChangedListener([QNTrackInfoChangedListener](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11223/QNTrackInfoChangedListener-Linux)* listener) = 0
  * 设置当前轨道信息变化监听器

Parameters

    * listener: [QNTrackInfoChangedListener](https://developer.qiniu.com/rtc/11213/QNRemoteTrack-Linux/11223/QNTrackInfoChangedListener-Linux)

轨道信息变化监听器

IsSubscribed

  * virtual bool IsSubscribed() = 0;
  * 该 Track 是否被订阅

Returns bool

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNTranscodingLiveStreamingConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNTranscodingLiveStreamingConfig

#  QNTranscodingLiveStreamingConfig

最近更新时间: 2022-07-13 23:38:16

自定义合流配置信息

Index

Properties

  * stream_id
  * publish_url
  * merge_background
  * merge_watermark
  * width
  * height
  * fps
  * bitrate
  * min_bitrate
  * max_bitrate
  * is_audio_only
  * stretch_mode

Properties

stream_id

  * stream_id: string
  * 流任务id，保证唯一

publish_url

  * publish_url: string
  * 自定义合流推流地址

merge_background

  * merge_background: [QNTranscodingLiveStreamingImage](https://developer.qiniu.com/rtc/11294/QNTranscodingLiveStreamingConfig-Linux/11295/QNTranscodingLiveStreamingImage-Linux)
  * 合流背景

merge_watermark

  * merge_watermark: std::list<[QNTranscodingLiveStreamingImage](https://developer.qiniu.com/rtc/11294/QNTranscodingLiveStreamingConfig-Linux/11295/QNTranscodingLiveStreamingImage-Linux)>
  * 合流水印

width

  * width: int32_t
  * 合流画布宽

height

  * height: int32_t
  * 合流画布高

fps

  * fps: int32_t
  * 合流帧率

bitrate

  * bitrate: int32_t
  * 合流码率 bps

min_bitrate

  * min_bitrate: int32_t
  * 最小码率

max_bitrate

  * max_bitrate: int32_t
  * 最大码率

is_audio_only

  * is_audio_only: bool
  * 是否为纯音频

stretch_mode

  * stretch_mode: [QNStretchMode](https://developer.qiniu.com/rtc/11294/QNTranscodingLiveStreamingConfig-Linux/11292/QNStretchMode-Linux)
  * 合流画面填充模式

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCameraCapability

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNCameraCapability

#  QNCameraCapability

最近更新时间: 2022-03-28 17:56:36

摄像头支持的采集能力

Index

Properties

  * width
  * height
  * max_fps
  * video_frame_type

Properties

width

  * width: int
  * 采集宽

height

  * height: int
  * 采集高

max_fps

  * max_fps: int
  * 采集帧率

video_frame_type

  * video_frame_type: [QNVideoFrameType](https://developer.qiniu.com/rtc/11258/QNCameraCapability-Linux/11300/QNVideoFrameType-Linux)
  * 采集的视频数据格式

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNTrackInfoChangedListener

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNTrackInfoChangedListener

#  QNTrackInfoChangedListener

最近更新时间: 2022-03-28 17:58:09

Track 信息改变回调接口

Index

Core Methods

  * OnVideoProfileChanged
  * OnMuteStateChanged

Core Methods

OnVideoProfileChanged

  * virtual void OnVideoProfileChanged(const std::string& user_id,const std::string& track_id,[QNTrackProfile](https://developer.qiniu.com/rtc/11223/QNTrackInfoChangedListener-Linux/11293/QNTrackProfile-Linux) profile) = 0
  * 视频 Track profile 改变后触发

Parameters

    * user_id: string 

切换 pofile 的被订阅用户 ID

    * track_id: string 

视频 track id

    * profile: [QNTrackProfile](https://developer.qiniu.com/rtc/11223/QNTrackInfoChangedListener-Linux/11293/QNTrackProfile-Linux)

当前改变后的 profile

OnMuteStateChanged

  * virtual void OnMuteStateChanged(const std::string& user_id,const std::string& track_id,bool muted) = 0
  * Track 静默状态改变后触发

Parameters

    * user_id: string 

是改变静默状态的远端用户 ID

    * track_id: string 

改变静默状态的远端 track id

    * muted: bool 

是否为静默状态

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCameraInfo

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNCameraInfo

#  QNCameraInfo

最近更新时间: 2022-03-28 17:58:45

摄像头设备信息

Index

Properties

  * id
  * name
  * capabilities

Properties

id

  * id: string
  * 设备 Id，用于系统内做标识

name

  * name: string
  * 设备名

capabilities

  * capabilities: std::vector<[QNCameraCapability](https://developer.qiniu.com/rtc/11260/QNCameraInfo-Linux/11258/QNCameraCapability-Linux)>
  * 此摄像头所支持的采集能力列表

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNVideoEncoderConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNVideoEncoderConfig

#  QNVideoEncoderConfig

最近更新时间: 2022-03-28 17:59:27

编码器类型

Index

Enum

  * QNVideoEncoderType

Enum

QNVideoEncoderType

  * code | describe | message  
---|---|---  
kEncodeOpenH264 | 默认 Open264 编码器，支持所有平台 | 无  
  
Type declaration

    * kEncodeOpenH264

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNDirectLiveStreamingConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux
>QNDirectLiveStreamingConfig

#  QNDirectLiveStreamingConfig

最近更新时间: 2022-03-28 18:40:10

单路转推配置信息，通过 SDK 将参数发送到服务端,服务端按照指定的参数进行 CDN 转推

Index

Properties

  * local_audio_track
  * local_video_track
  * stream_id
  * publish_url

Properties

local_audio_track

  * local_audio_track: [QNLocalAudioTrack](https://developer.qiniu.com/rtc/11268/QNDirectLiveStreamingConfig-Linux/11207/QNLocalAudioTrack-Linux)*
  * 单路转推的音频 track

local_video_track

  * local_video_track: [QNLocalVideoTrack](https://developer.qiniu.com/rtc/11268/QNDirectLiveStreamingConfig-Linux/11209/QNLocalVideoTrack-Linux)*
  * 单路转推的视频 track

stream_id

  * stream_id: string
  * 单路转推任务 id，由客户端设置，不可为空

publish_url

  * publish_url: string
  * rtmp 转推地址

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNVideoFrameType

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Linux >QNVideoFrameType

#  QNVideoFrameType

最近更新时间: 2022-05-24 22:11:40

视频数据格式

Index

Enum

  * QNVideoFrameType

Enum

QNVideoFrameType

  * Type declaration

    * kUnknown

    * kI420

    * kIYUV

    * kRGB24

    * kABGR

    * kARGB

    * kARGB4444

    * kRGB565

    * kARGB1555

    * kYUY2

    * kYV12

    * kUYVY

    * kMJPEG

    * kNV21

    * kNV12

    * kBGRA

    * kH264Raw

以上内容是否对您有帮助？