Documentation
¶
Index ¶
- Variables
- func EscapeQuotes(s string) string
- type AiconixJobType
- type Category
- type Channel
- type ChannelStatus
- type ChannelsResponse
- type EncodingProgress
- type File
- type FileCreate
- type FileEncoderSettingsUpdate
- type FileEncodingSetting
- type FileFormat
- type FileFormatSettings
- type FileFormatUpdate
- type FileProperties
- type FileSearchOptions
- type FileUpdate
- type FilesResponse
- type IABCategory
- type MetaData
- type Playout
- type Project
- type ProjectCreate
- type ProjectCreateResponse
- type ProjectUpdate
- type ProjectsResponse
- type Recorder
- type RecorderCreate
- type RecorderUpdate
- type RecordersResponse
- type Share
- type StandardFilePicture
- type StreamType
- type ThreeQGo
- type VideoType
Constants ¶
This section is empty.
Variables ¶
View Source
var StreamTypeVideoOnDemand, StreamTypeLivestream int64 = 1, 2
Functions ¶
func EscapeQuotes ¶ added in v0.2.0
Types ¶
type AiconixJobType ¶ added in v0.2.0
type AiconixJobType struct {
ID int64 `json:"Id"`
AIFunction string `json:"AIFunction"` // blockdetection, keywords, labeldetection, objecttracking, shotdetection, speechtotext, contentmoderation, emotion, facedetection, facialattributes, iabcategories, landmarks, ocr, persontracking
AIResultType string `json:"AIResultType"` // rawresult, bestresult
SourceLanguage string `json:"SourceLanguage"` // ISO-639-2/b (three-letter codes) Language Code
TranslateTo string `json:"TranslateTo"` // ISO-639-2/b (three-letter codes) Language Code
}
type Channel ¶
type Channel struct {
ID int64 `json:"Id"`
ChannelStatus []ChannelStatus `json:"ChannelStatus"`
Project Project `json:"Project"`
}
type ChannelStatus ¶
type ChannelStatus struct {
IsOnline bool `json:"IsOnline"`
IsPrimary bool `json:"IsPrimary"`
Origin string `json:"Origin"`
VideoFormat string `json:"VideoFormat"`
VideoBitRate int64 `json:"VideoBitRate"`
VideoWidth int64 `json:"VideoWidth"`
VideoHeight int64 `json:"VideoHeight"`
AudioFormat string `json:"AudioFormat"`
AudioBitRate int64 `json:"AudioBitRate"`
}
type ChannelsResponse ¶
type ChannelsResponse struct {
Channels []Channel `json:"Channels"`
}
type EncodingProgress ¶
type EncodingProgress struct {
ID int64 `json:"Id"`
Format string `json:"Format"`
FPS float64 `json:"FPS"`
RealTime int64 `json:"RealTime"`
EncodingProgress int64 `json:"EncodingProgress"`
UploadProgress int64 `json:"UploadProgress"`
HasErrors bool `json:"HasErrors"`
IsFinished bool `json:"IsFinished"`
IsStored bool `json:"IsStored"`
}
type File ¶
type File struct {
ID int64 `json:"Id"`
Name string `json:"Name"`
IsFinished bool `json:"IsFinished"`
IsEncoding bool `json:"IsEncoding"`
UseEncoding bool `json:"UseEncoding"`
EncodingPriority int64 `json:"EncodingPriority"`
HasErrors bool `json:"HasErrors"`
ErrorMessage string `json:"ErrorMessage"`
Properties FileProperties `json:"Properties"`
MetaData MetaData `json:"MetaData"`
Playouts []struct {
Playout Playout `json:"Playout"`
} `json:"Playouts"`
CreatedAt time.Time `json:"CreatedAt"`
LastUpdateAt time.Time `json:"LastUpdateAt"`
}
type FileCreate ¶
type FileCreate struct {
}
type FileEncoderSettingsUpdate ¶ added in v0.2.0
type FileEncoderSettingsUpdate struct {
UseEncoding bool `json:"UseEncoding"`
UseCMAF bool `json:"UseCMAF"`
UsePremiumEncoding bool `json:"UsePremiumEncoding"`
UsePreProcessing bool `json:"UsePreProcessing"`
UseAIServices bool `json:"UseAIServices"`
GenerateSubtitles bool `json:"GenerateSubtitles"`
SourceLanguage string `json:"SourceLanguage,omitempty"`
SubtitleTranslation []string `json:"SubtitleTranslation,omitempty"`
UseDeinterlace bool `json:"UseDeinterlace"`
UseTwoPass bool `json:"UseTwoPass"`
UseBPFrames bool `json:"UseBPFrames"`
UseCropping bool `json:"UseCropping"`
CroppingParameters string `json:"CroppingParameters,omitempty"`
NormalizeAudio bool `json:"NormalizeAudio"`
UseFirstAudioTrack bool `json:"UseFirstAudioTrack"`
UseAllAudioTracks bool `json:"UseAllAudioTracks"`
PackageAudioOnlyVariant bool `json:"PackageAudioOnlyVariant"`
PackageForDRM bool `json:"PackageForDRM"`
WatermarkPosition string `json:"WatermarkPosition"` // top-left, top-right, bottom-left, bottom-right
UseWatermark bool `json:"UseWatermark"`
}
type FileEncodingSetting ¶ added in v0.2.0
type FileEncodingSetting struct {
UseEncoding bool `json:"UseEncoding"`
UsePremiumEncoding bool `json:"UsePremiumEncoding"`
UsePreProcessing bool `json:"UsePreProcessing"`
UseAIServices bool `json:"UseAIServices"`
ISOLanguageCode string `json:"ISOLanguageCode"`
GenerateSubtitles bool `json:"GenerateSubtitles"`
UseDeinterlace bool `json:"UseDeinterlace"`
UseTwoPass bool `json:"UseTwoPass"`
UseCMAF bool `json:"UseCMAF"`
UseBPFrames bool `json:"UseBPFrames"`
PackageAudioOnlyVariant bool `json:"PackageAudioOnlyVariant"`
PackageForDRM bool `json:"PackageForDRM"`
UseWatermark bool `json:"UseWatermark"`
WatermarkURI string `json:"WatermarkURI"`
WatermarkPosition string `json:"WatermarkPosition"` // top-left, top-right, bottom-left, bottom-right
UseCropping bool `json:"UseCropping"`
CroppingParameters string `json:"CroppingParameters"`
NormalizeAudio bool `json:"NormalizeAudio"`
UseFirstAudioTrack bool `json:"UseFirstAudioTrack"`
UseAllAudioTracks bool `json:"UseAllAudioTracks"`
FileFormats []FileFormat `json:"FileFormats"`
AIFunctions []AiconixJobType `json:"AIFunctions"`
}
type FileFormat ¶ added in v0.2.0
type FileFormat struct {
FileFormatID int64 `json:"FileFormatId"`
Label string `json:"Label"`
MIMEType string `json:"MIME-Type"`
VideoCodec string `json:"VideoCodec"`
VideoHeight int64 `json:"VideoHeight"`
VideoBitRate int64 `json:"VideoBitRate"`
VideoProfile string `json:"VideoProfile"`
VideoFPS float64 `json:"VideoFPS"`
AudioBitRate int64 `json:"AudioBitRate"`
AudioSampleRate int64 `json:"AudioSampleRate"`
AudioChannels int64 `json:"AudioChannels"`
}
type FileFormatSettings ¶ added in v0.2.0
type FileFormatSettings struct {
FileFormatSettings []FileFormat `json:"FileFormatSettings"`
}
type FileFormatUpdate ¶ added in v0.2.0
type FileProperties ¶
type FileProperties struct {
Length float64 `json:"Length"`
Size string `json:"Size"`
VideoFormat string `json:"VideoFormat"`
VideoBitRate int64 `json:"VideoBitRate"`
VideoWidth int64 `json:"VideoWidth"`
VideoHeight int64 `json:"VideoHeight"`
VideoFPS float64 `json:"VideoFPS"`
AudioFormat string `json:"AudioFormat"`
AudioBitRate int64 `json:"AudioBitRate"`
AudioSampleRate int64 `json:"AudioSampleRate"`
AudioChannels int64 `json:"AudioChannels"`
}
type FileSearchOptions ¶
type FileUpdate ¶
type FileUpdate struct {
}
type FilesResponse ¶
type FilesResponse struct {
Files []File `json:"Files"`
}
type IABCategory ¶
type MetaData ¶
type MetaData struct {
StandardFilePicture StandardFilePicture `json:"StandardFilePicture"`
Title string `json:"Title"`
Description string `json:"Description"`
DisplayTitle string `json:"DisplayTitle"`
DisplayTitleSecondLine string `json:"DisplayTitleSecondLine"`
Tags string `json:"Tags"`
Genre string `json:"Genre"`
Studio string `json:"Studio"`
IsPublicAt time.Time `json:"IsPublicAt"`
IsPublicUntil time.Time `json:"IsPublicUntil"`
Category []Category `json:"Category"`
IABCategory []IABCategory `json:"IABCategory"`
Series string `json:"Series"`
ProductionCountry string `json:"ProductionCountry"`
NativeLanguage string `json:"NativeLanguage"`
ProgramID string `json:"ProgramId"`
Source string `json:"Source"`
Licensor string `json:"Licensor"`
LicenseArea string `json:"LicenseArea"`
RelationShip string `json:"RelationShip"`
Rating float64 `json:"Rating"`
Latitude float64 `json:"Latitude"`
Longitude float64 `json:"Longitude"`
VideoType []VideoType `json:"VideoType"`
OriginalFileName string `json:"OriginalFileName"`
Deeplink string `json:"Deeplink"`
MetaPictureURI string `json:"MetaPictureURI"`
CustomMetadata map[string]string
}
type Project ¶
type Project struct {
ID int64 `json:"Id"`
StreamType StreamType `json:"StreamType"`
Cluster string `json:"Cluster"`
Category []Category `json:"Category"`
Label string `json:"Label"`
SecurityKey string `json:"SecurityKey"`
TokenSecurity bool `json:"TokenSecurity"`
ThumbURI string `json:"ThumbURI"`
CreatedAt time.Time `json:"CreatedAt"`
LastUpdatedAt time.Time `json:"LastUpdatedAt"`
Expires bool `json:"Expires"`
ExpiresAt time.Time `json:"ExpiresAt"`
UsePlayerV5 bool `json:"UsePlayerV5"`
BottalkApiKey string `json:"BottalkApiKey"`
UsePubdate bool `json:"UsePubdate"`
}
type ProjectCreate ¶
type ProjectCreateResponse ¶
type ProjectUpdate ¶
type ProjectsResponse ¶
type ProjectsResponse struct {
Projects []Project `json:"Projects"`
}
type Recorder ¶
type Recorder struct {
ID int64 `json:"Id"`
Title string `json:"Title"`
Description string `json:"Description"`
Channel Channel `json:"Channel"`
Project Project `json:"Project"`
DstProject Project `json:"DstProject"`
IsRecording bool `json:"IsRecording"`
AutoRecording bool `json:"AutoRecording"`
UseRecordingInterval bool `json:"UseRecordingInterval"`
RecordingInterval int64 `json:"RecordingInterval"`
RecordStartTime time.Time `json:"RecordStartTime"`
SecondsRecorded int64 `json:"SecondsRecorded"`
Category []Category `json:"Category"`
IsStarting bool `json:"IsStarting"`
IsStopping bool `json:"IsStopping"`
CreatedAt time.Time `json:"CreatedAt"`
LastUpdatedAt time.Time `json:"LastUpdatedAt"`
}
type RecorderCreate ¶
type RecorderUpdate ¶
type RecordersResponse ¶
type RecordersResponse struct {
ChannelRecorders []Recorder `json:"ChannelRecorders"`
}
type StandardFilePicture ¶
type StreamType ¶
type ThreeQGo ¶
type ThreeQGo interface {
// Welcome will test authentication
Welcome() error
SetAPIKey(apiKey string)
// GetAPIKeyByUser use your username and password to get the apiKey
GetAPIKeyByUser(username, password string) (string, error)
// GetProjects returns a collection of available projects
GetProjects() ([]Project, error)
// CreateProject creates a new project
CreateProject(project ProjectCreate) (ProjectCreateResponse, error)
// GetProject return Project
GetProject(id int64) (Project, error)
// UpdateProject changes project properties
UpdateProject(id int64, project ProjectUpdate) (Project, error)
// DeleteProject delete a Project by id
DeleteProject(id int64) error
// GetProjectChannels return Channel(s) of Project if livestream project
GetProjectChannels(id int64) ([]Channel, error)
// GetFileEncoderSettings return the global settings of FileEncoding in a Video on Demand project
GetFileEncoderSettings(projectID int64) (FileEncodingSetting, error)
// UpdateFileEncoderSettings set the global settings for FileEncoding in a Video on Demand project
UpdateFileEncoderSettings(projectID int64, settings FileEncoderSettingsUpdate) (FileEncodingSetting, error)
// SetWatermarkPicture set a image as watermark
SetWatermarkPicture(projectID int64, filename, contentType string, watermark io.Reader) error
// GetFileFormatSettings return all global FileFormatSettings of a Video on Demand project
GetFileFormatSettings(projectID int64) (FileFormatSettings, error)
// GetFileFormat return a FileFormat of a Video on Demand project
GetFileFormat(projectID int64, fileFormatID int64) (FileFormat, error)
// UpdateFileFormat Set a FileFormat setting of a Video on Demand project
UpdateFileFormat(projectID int64, fileFormatID int64, fileFormat FileFormatUpdate) (FileFormat, error)
// AddFileFormat add (link) FileFormat to the FileEncoderSettings
AddFileFormat(projectID int64, fileFormatID int64) (FileEncodingSetting, error)
// RemoveFileFormat removes (unlink) FileFormat from the FileEncoderSettings
RemoveFileFormat(projectID int64, fileFormatID int64) (FileEncodingSetting, error)
// GetChannels return a collection of available channels
GetChannels() ([]Channel, error)
// GetChannel return a Channel by id
GetChannel(id int64) (Channel, error)
// GetChannelRecorders return enabled channel recorder
GetChannelRecorders() ([]Recorder, error)
// GetChannelRecorder return a Recorder by id
GetChannelRecorder(channelID, recorderID int64) (Recorder, error)
// UpdateChannelRecorder Edit a Recorder
UpdateChannelRecorder(channelID, recorderID int64, recorder RecorderUpdate) (Recorder, error)
// DeleteChannelRecorder delete a Recorder by id
DeleteChannelRecorder(channelID, recorderID int64) error
// CreateChannelRecorder create a new Recorder
CreateChannelRecorder(channelID, dstProjectID int64, recorder RecorderCreate) (Recorder, error)
// ChannelRecorderAddCategory add(link) a Category to the Recorder
ChannelRecorderAddCategory(channelID, recorderID, categoryID int64) (Recorder, error)
// ChannelRecorderRemoveCategory remove(unlink) a Category from the Recorder
ChannelRecorderRemoveCategory(channelID, recorderID, categoryID int64) (Recorder, error)
// GetFiles returns a collection of File in Project
GetFiles(projectID int64, queryParams FileSearchOptions) ([]File, error)
// GetFile return a File by id in Project
GetFile(projectID, fileID int64) (File, error)
// GetEncodingProgress return the EncodingProgress of file processing
GetEncodingProgress(projectID, fileID int64) (EncodingProgress, error)
}
Click to show internal directories.
Click to hide internal directories.