Documentation
¶
Index ¶
- Constants
- func GetReportQuery(path string, settings *ReportSettings) string
- func UnmarshalBody(body io.ReadCloser, result interface{}) error
- type AccessControlSettings
- type AccountDetails
- type CombinedUsage
- type CreateAccountRequest
- type CreateAccountResponse
- type CreateJobResponse
- type CuePointSettings
- type EncodingSettings
- type FileProgress
- type InputMediaFile
- type Job
- type JobDetails
- type JobProgress
- type JobState
- type LiveStatistic
- type LiveTotalStatistics
- type LiveUsage
- type MediaFile
- type NotificationSettings
- type OutputMediaFile
- type OutputSettings
- type ReportSettings
- type StreamSettings
- type Thumbnail
- type ThumbnailSettings
- type VodStatistic
- type VodTotalStatistics
- type VodUsage
- type WatermarkSettings
- type Zencoder
- func (z *Zencoder) CancelJob(id int64) error
- func (z *Zencoder) CreateAccount(email, password string) (*CreateAccountResponse, error)
- func (z *Zencoder) CreateJob(settings *EncodingSettings) (*CreateJobResponse, error)
- func (z *Zencoder) FinishLiveJob(id int64) error
- func (z *Zencoder) GetAccount() (*AccountDetails, error)
- func (z *Zencoder) GetInputDetails(id int32) (*InputMediaFile, error)
- func (z *Zencoder) GetInputProgress(id int32) (*FileProgress, error)
- func (z *Zencoder) GetJobDetails(id int64) (*JobDetails, error)
- func (z *Zencoder) GetJobProgress(id int64) (*JobProgress, error)
- func (z *Zencoder) GetLiveUsage(settings *ReportSettings) (*LiveUsage, error)
- func (z *Zencoder) GetOutputDetails(id int64) (*OutputMediaFile, error)
- func (z *Zencoder) GetOutputProgress(id int64) (*FileProgress, error)
- func (z *Zencoder) GetUsage(settings *ReportSettings) (*CombinedUsage, error)
- func (z *Zencoder) GetVodUsage(settings *ReportSettings) (*VodUsage, error)
- func (z *Zencoder) ListJobs() ([]*JobDetails, error)
- func (z *Zencoder) ResubmitJob(id int64) error
- func (z *Zencoder) SetIntegrationMode() error
- func (z *Zencoder) SetLiveMode() error
Constants ¶
View Source
const ( JobStatePending = JobState("pending") JobStateWaiting = JobState("waiting") JobStateProcessing = JobState("processing") JobStateAssigning = JobState("assigning") JobStateFinished = JobState("finished") JobStateCancelled = JobState("cancelled") JobStateFailed = JobState("failed") )
Variables ¶
This section is empty.
Functions ¶
func GetReportQuery ¶
func GetReportQuery(path string, settings *ReportSettings) string
func UnmarshalBody ¶
func UnmarshalBody(body io.ReadCloser, result interface{}) error
Types ¶
type AccessControlSettings ¶
type AccountDetails ¶
type AccountDetails struct {
AccountState string `json:"account_state,omitempty"`
Plan string `json:"plan,omitempty"`
MinutesUsed int32 `json:"minutes_used,omitempty"`
MinutesIncluded int32 `json:"minutes_included,omitempty"`
BillingState string `json:"billing_state,omitempty"`
IntegrationMode bool `json:"integration_mode,omitempty"`
}
type CombinedUsage ¶
type CombinedUsage struct {
Total struct {
Live LiveTotalStatistics `json:"live,omitempty"`
Vod VodTotalStatistics `json:"vod,omitempty"`
} `json:"total,omitempty"`
Statistics struct {
Live []*LiveStatistic `json:"live,omitempty"`
Vod []*VodStatistic `json:"vod,omitempty"`
} `json:"statistics,omitempty"`
}
type CreateAccountRequest ¶
type CreateAccountResponse ¶
type CreateJobResponse ¶
type CreateJobResponse struct {
Id int64 `json:"id,omitempty"`
Test bool `json:"test,omitempty"`
Outputs []struct {
Id int64 `json:"id,omitempty"`
Label *string `json:"label,omitempty"`
Url string `json:"url,omitempty"`
} `json:"outputs,omitempty"`
}
Response from CreateJob
type CuePointSettings ¶
type EncodingSettings ¶
type EncodingSettings struct {
Input string `json:"input,omitempty"` // A S3, Cloud Files, GCS, FTP, FTPS, SFTP, or Aspera URL where we can download file to transcode.
LiveStream bool `json:"live_stream,omitempty"` // Create a Live streaming job.
Outputs []*OutputSettings `json:"outputs,omitempty"` // An array or hash of output settings.
Region string `json:"region,omitempty"` // The region where a file is processed: US, Europe, Asia, or Australia.
Test bool `json:"test,omitempty"` // Enable test mode ("Integration Mode") for a job.
Private bool `json:"private,omitempty"` // Enable privacy mode for a job.
DownloadConnections int32 `json:"download_connections,omitempty"` // Utilize multiple, simultaneous connections for download acceleration (in some circumstances).
PassThrough string `json:"pass_through,omitempty"` // Optional information to store alongside this job.
Mock bool `json:"mock,omitempty"` // Send a mocked job request.
Grouping string `json:"grouping,omitempty"` // A report grouping for this job.
AsperaTransferPolicy string `json:"aspera_transfer_policy,omitempty"` // How to allocate available bandwidth for Aspera file transfers.
TransferMinimumRate int32 `json:"transfer_minimum_rate,omitempty"` // A targeted rate in Kbps for data transfer minimums.
TransferMaximumRate int32 `json:"transfer_maximum_rate,omitempty"` // A targeted rate in Kbps for data transfer maximums.
ExpectedMD5Checksum string `json:"expected_md5_checksum,omitempty"` // The expected checksum of the input file.
Credentials string `json:"credentials,omitempty"` // References saved credentials by a nickname.
}
type FileProgress ¶
type InputMediaFile ¶
type Job ¶
type Job struct {
Id int64 `json:"id,omitempty"`
PassThrough *string `json:"pass_through,omitempty"`
State string `json:"state,omitempty"`
InputMediaFile *MediaFile `json:"input_media_file,omitempty"`
Test bool `json:"test,omitempty"`
OutputMediaFiles []*MediaFile `json:"output_media_files,omitempty"`
Thumbnails []*Thumbnail `json:"thumbnails,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
FinishedAt string `json:"finished_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
SubmittedAt string `json:"submitted_at,omitempty"`
}
A Job
type JobProgress ¶
type JobProgress struct {
State JobState `json:"state,omitempty"`
JobProgress float64 `json:"progress,omitempty"`
InputProgress *FileProgress `json:"input,omitempty"`
OutputProgress []*FileProgress `json:"outputs,omitempty"`
}
type LiveStatistic ¶
type LiveStatistic struct {
Grouping string `json:"grouping,omitempty"`
CollectedOn string `json:"collected_on,omitempty"`
StreamHours int32 `json:"stream_hours,omitempty"`
BillableStreamHours int32 `json:"billable_stream_hours,omitempty"`
EncodedHours int32 `json:"encoded_hours,omitempty"`
BillableEncodedHours int32 `json:"billable_encoded_hours,omitempty"`
TotalHours int32 `json:"total_hours,omitempty"`
TotalBillableHours int32 `json:"total_billable_hours,omitempty"`
}
type LiveTotalStatistics ¶
type LiveTotalStatistics struct {
StreamHours int32 `json:"stream_hours,omitempty"`
BillableStreamHours int32 `json:"billable_stream_hours,omitempty"`
EncodedHours int32 `json:"encoded_hours,omitempty"`
BillableEncodedHours int32 `json:"billable_encoded_hours,omitempty"`
TotalHours int32 `json:"total_hours,omitempty"`
TotalBillableHours int32 `json:"total_billable_hours,omitempty"`
}
type LiveUsage ¶
type LiveUsage struct {
Total *LiveTotalStatistics `json:"total,omitempty"`
Statistics []*LiveStatistic `json:"statistics,omitempty"`
}
type MediaFile ¶
type MediaFile struct {
Id int64 `json:"id,omitempty"`
Url string `json:"url,omitempty"`
Format string `json:"format,omitempty"`
State string `json:"state,omitempty"`
Test bool `json:"test,omitempty"`
Privacy bool `json:"privacy"`
Width int32 `json:"width,omitempty"`
Height int32 `json:"height,omitempty"`
FrameRate float64 `json:"frame_rate,omitempty"`
DurationInMs int32 `json:"duration_in_ms,omitempty"`
Channels string `json:"channels,omitempty"`
AudioCodec string `json:"audio_codec,omitempty"`
AudioBitrateInKbps int32 `json:"audio_bitrate_in_kbps,omitempty"`
AudioSampleRate int32 `json:"audio_sample_rate,omitempty"`
VideoCodec string `json:"video_codec,omitempty"`
VideoBitrateInKbps int32 `json:"video_bitrate_in_kbps,omitempty"`
TotalBitrateInKbps int32 `json:"total_bitrate_in_kbps,omitempty"`
MD5Checksum string `json:"md5_checksum,omitempty"`
ErrorMessage *string `json:"error_message,omitempty"`
ErrorClass *string `json:"error_class,omitempty"`
Label *string `json:"label,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
FinishedAt string `json:"finished_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
FileSizeInBytes int64 `json:"file_size_bytes,omitempty"`
}
A MediaFile
type NotificationSettings ¶
type NotificationSettings struct {
Url string `json:"url,omitempty"` // Be notified when a job or output is complete.
Format string `json:"format,omitempty"` // A format and content type for notifications.
Headers map[string]string `json:"headers,omitempty"` // Headers to pass along on HTTP notifications.
Event string `json:"event,omitempty"` // The event that triggers a notification. Used for Instant Play.
}
type OutputMediaFile ¶
type OutputSettings ¶
type OutputSettings struct {
// General Output Settings
Type string `json:"type,omitempty"` // The type of file to output.
Label string `json:"label,omitempty"` // An optional label for this output.
Url string `json:"url,omitempty"` // A S3, Cloud Files, GCS, FTP, FTPS, SFTP, Aspera, HTTP, or RTMP URL where we'll put the transcoded file.
SecondaryUrl string `json:"secondary_url,omitempty"` // A S3, Cloud Files, GCS, FTP, FTPS, SFTP, Aspera, or syndication URL where we'll put the transcoded file.
BaseUrl string `json:"base_url,omitempty"` // A base S3, Cloud Files, GCS, FTP, FTPS, SFTP, or Aspera directory URL where we'll put the transcoded file, without a filename.
Filename string `json:"filename,omitempty"` // The filename of a finished file.
PackageFilename string `json:"package_filename,omitempty"` // The filename of a packaged output.
PackageFormat string `json:"package_format,omitempty"` // Zip/packaging format to use for the output file(s).
DeviceProfile string `json:"device_profile,omitempty"` // A device profile to use for mobile device compatibility.
Strict bool `json:"strict,omitempty"` // Enable strict mode.
SkipVideo bool `json:"skip_video,omitempty"` // Do not output a video track.
SkipAudio bool `json:"skip_audio,omitempty"` // Do not output an audio track.
Source string `json:"source,omitempty"` // References a label on another job and uses the video created by that output for processing instead of the input file.
Credentials string `json:"credentials,omitempty"` // References saved credentials by a nickname.
GenerateMD5Checksum bool `json:"generate_md5_checksum,omitempty"` // Generate an MD5 checksum of the output file.
ParallelUploadLimit int32 `json:"parallel_upload_limit,omitempty"` // The maximum number of simultaneous uploads to attempt.
Headers map[string]string `json:"headers,omitempty"` // HTTP headers to send with your file when we upload it.
// Format And Codecs
Format string `json:"format,omitempty"` // The output format to use.
VideoCodec string `json:"video_codec,omitempty"` // The video codec to use.
AudioCodec string `json:"audio_codec,omitempty"` // The audio codec to use.
// Resolution
Size string `json:"size,omitempty"` // The resolution of the output video (WxH, in pixels).
Width int32 `json:"width,omitempty"` // The maximum width of the output video (in pixels).
Height int32 `json:"height,omitempty"` // The maximum height of the output video (in pixels).
Upscale bool `json:"upscale,omitempty"` // Upscale the output if the input is smaller than the target output resolution.
AspectMode string `json:"aspect_mode,omitempty"` // What to do when aspect ratio of input file does not match the target width/height aspect ratio.
// Rate Control
Quality int32 `json:"quality,omitempty"` // Autoselect the best video bitrate to to match a target visual quality.
VideoBitrate int32 `json:"video_bitrate,omitempty"` // A target video bitrate in kbps. Not necessary if you select a quality setting, unless you want to target a specific bitrate.
AudioQuality int32 `json:"audio_quality,omitempty"` // Autoselect the best audio bitrate to to match a target sound quality.
AudioBitrate int32 `json:"audio_bitrate,omitempty"` // A target audio bitrate in kbps. Not necessary if you select a audio_quality setting, unless you want to target a specific bitrate.
MaxVideoBitrate int32 `json:"max_video_bitrate,omitempty"` // A maximum average bitrate.
Speed int32 `json:"speed,omitempty"` // A target transcoding speed. Slower encoding generally allows for more advanced compression.
DecoderBitrateCap int32 `json:"decoder_bitrate_cap,omitempty"` // Max bitrate fed to decoder buffer. Typically used for video intended for streaming, or for targeting specific devices (e.g. Blu-Ray).
DecoderBufferSize int32 `json:"decoder_buffer_size,omitempty"` // Size of the decoder buffer, used in conjunction with bitrate_cap.
OnePass bool `json:"one_pass,omitempty"` // Force one-pass encoding.
AudioConstantBitrate bool `json:"audio_constant_bitrate,omitempty"` // Enable constant bitrate mode for audio if possible.
// Frame Rate
FrameRate int32 `json:"frame_rate,omitempty"` // The frame rate to use.
MaxFrameRate int32 `json:"max_frame_rate,omitempty"` // The maximum frame rate to use.
Decimate int32 `json:"decimate,omitempty"` // Reduce the input bitrate by a divisor.
KeyframeInterval int32 `json:"keyframe_interval,omitempty"` // The maximum number of frames between each keyframe.
KeyframeRate int32 `json:"keyframe_rate,omitempty"` // The number of keyframes per second.
FixedKeyframeInterval bool `json:"fixed_keyframe_interval,omitempty"` // Enable fixed keyframe interval mode (VP6 and H.264 only).
ForcedKeyframeInterval int32 `json:"forced_keyframe_interval,omitempty"` // Force keyframes at the specified interval (H.264 only).
ForcedKeyframeRate float64 `json:"forced_keyframe_rate,omitempty"` // Specify the number of keyframes per-second, taking frame rate into account (H.264 only).
// Audio
AudioSampleRate int32 `json:"audio_sample_rate,omitempty"` // The audio sample rate, in Hz.
MaxAudioSampleRate int32 `json:"max_audio_sample_rate,omitempty"` // The max audio sample rate, in Hz.
AudioChannels int32 `json:"audio_channels,omitempty"` // The number of audio channels: 1 or 2.
// Thumbnails
Thumbnails []*ThumbnailSettings `json:"thumbnails,omitempty"` // Capture thumbnails for a given video.
// Watermarks
Watermarks []*WatermarkSettings `json:"watermarks,omitempty"` // Add one or more watermarks to an output video.
// Captions
CaptionUrl string `json:"caption_url,omitempty"` // URL to an SCC, DFXP, or SAMI caption file to include in the output.
SkipCaptions bool `json:"skip_captions,omitempty"` // Don't add or pass through captions to the output file.
// Live Streaming
LiveStream bool `json:"live_stream,omitempty"` // Create a live_stream job or output that is ready for playback within seconds.
ReconnectTime int32 `json:"reconnect_time,omitempty"` // The time, in seconds, to wait for a stream to reconnect.
EventLength int32 `json:"event_length,omitempty"` // The minimum time, in seconds, to keep a live stream available.
LiveSlidingWindowDuration int32 `json:"live_sliding_window_duration,omitempty"` // The time, in seconds, to keep in the HLS playlist.
// Video Processing
Rotate int32 `json:"rotate,omitempty"` // Rotate a video.
Deinterlace string `json:"deinterlace,omitempty"` // Deinterlace input video.
Sharpen bool `json:"sharpen,omitempty"` // Apply a sharpen filter.
Denoise string `json:"denoise,omitempty"` // Apply denoise filter.
Autolevel bool `json:"autolevel,omitempty"` // Apply a color auto-level filter.
Deblock bool `json:"deblock,omitempty"` // Apply deblock filter.
// Audio Processing
AudioGain int32 `json:"audio_gain,omitempty"` // Apply a gain amount to the audio, in dB.
AudioNormalize bool `json:"audio_normalize,omitempty"` // Normalize audio to 0dB.
AudioPreNormalize bool `json:"audio_pre_normalize,omitempty"` // Normalize the audio before applying expansion or compression effects.
AudioPostNormalize bool `json:"audio_post_normalize,omitempty"` // Normalize the audio after applying expansion or compression effects.
AudioBass int32 `json:"audio_bass,omitempty"` // Increase or decrease the amount of bass in the audio.
AudioTreble int32 `json:"audio_treble,omitempty"` // Increase or decrease the amount of treble in the audio.
AudioHighpass int32 `json:"audio_highpass,omitempty"` // Apply a high-pass filter to the audio.
AudioLowpass int32 `json:"audio_lowpass,omitempty"` // Apply a low-pass filter to the audio.
AudioCompressionRatio float64 `json:"audio_compression_ratio,omitempty"` // Compress the dynamic range of the audio.
AudioCompressionThreshold int32 `json:"audio_compression_threshold,omitempty"` // Compress the dynamic range of the audio.
AudioExpansionRatio float64 `json:"audio_expansion_ratio,omitempty"` // Expand the dynamic range of the audio.
AudioExpansionThreshold int32 `json:"audio_expansion_threshold,omitempty"` // Expand the dynamic range of the audio.
AudioFade float64 `json:"audio_fade,omitempty"` // Apply fade-in and fade-out effects to the audio.
AudioFadeIn float64 `json:"audio_fade_in,omitempty"` // Apply a fade-in effect to the audio.
AudioFadeOut float64 `json:"audio_fade_out,omitempty"` // Apply a fade-out effect to the audio.
AudioKaraokeMode bool `json:"audio_karaoke_mode,omitempty"` // Apply a karaoke effect to the audio.
// Clips
StartClip string `json:"start_clip,omitempty"` // Encode only a portion of the input file by setting a custom start time.
ClipLength string `json:"clip_length,omitempty"` // Encode only a portion of the input file by setting a custom clip length.
// S3 Settings
MakePublic bool `json:"public,omitempty"` // Make the output publicly readable on S3.
UseRRS bool `json:"rrs,omitempty"` // Amazon S3's Reduced Redundancy Storage.
AccessControl []*AccessControlSettings `json:"access_control,omitempty"` // Fine-grained access control rules for files sent to S3.
// Notifications
Notifications []*NotificationSettings `json:"notifications,omitempty"` // Be notified when a job or output is complete.
// Conditional Outputs
MinSize string `json:"min_size,omitempty"` // Skip output if the input file is smaller than the given dimensions.
MaxSize string `json:"max_size,omitempty"` // Skip output if the input file is larger than the given dimensions.
MinDuration int32 `json:"min_duration,omitempty"` // Skip output if the input file is shorter than the given duration, in seconds.
MaxDuration int32 `json:"max_duration,omitempty"` // Skip output if the input file is longer than the given duration, in seconds.
// Segmented Streaming
SegmentSeconds int32 `json:"segment_seconds,omitempty"` // Sets the maximum duration of each segment a segmented output
SegmentSize int32 `json:"segment_size,omitempty"` // Sets the maximum data size of each segment in a segmented output
Streams []*StreamSettings `json:"streams,omitempty"` // Provides a list of stream info to be reformatted as a playlist
SegmentImageUrl string `json:"segment_image_url,omitempty"` // An image to display on audio-only segments
SegmentVideoSnapshots bool `json:"segment_video_snapshots,omitempty"` // When segmenting a video file into audio-only segments, take snapshots of the video as thumbnails for each segment.
MaxHLSProtocolVersion int32 `json:"max_hls_protocol_version,omitempty"` // The maximum HLS protocol to use.
HLSOptimizedTS bool `json:"hls_optimized_ts,omitempty"` // Optimize TS segment files for HTTP Live Streaming on iOS.
PrepareForSegmenting string `json:"prepare_for_segmenting,omitempty"` // Include captions and keyframe timing for segmenting.
InstantPlay bool `json:"instant_play,omitempty"` // Create an instant play output that is ready for playback within seconds.
SMILBaseUrl string `json:"smil_base_url,omitempty"` // Add <meta base="smil_base_url_value"/> to the <head> section of an SMIL playlist.
// Encryption
EncryptionMethod string `json:"encryption_method,omitempty"` // Set the encryption method to use for encrypting.
EncryptionKey string `json:"encryption_key,omitempty"` // Set a single encryption key to use rather than having Zencoder generate one
EncryptionKeyUrl string `json:"encryption_key_url,omitempty"` // Set a URL to a single encryption key to use rather than having Zencoder generate one
EncryptionKeyRotationPeriod int32 `json:"encryption_key_rotation_period,omitempty"` // Rotate to a new encryption key after a number of segments
EncryptionKeyUrlPrefix string `json:"encryption_key_url_prefix,omitempty"` // Prepend key URLs with the passed string
EncryptionIV string `json:"encryption_iv,omitempty"` // Set an initialization vector to use when encrypting
EncryptionPassword string `json:"encryption_password,omitempty"` // Sets a password to use for generating an initialization vector
// Decryption
DecryptionMethod string `json:"decryption_method,omitempty"` // Set the decryption algorithm to use.
DecryptionKey string `json:"decryption_key,omitempty"` // Set the decryption key to use.
DecryptionKeyUrl string `json:"decryption_key_url,omitempty"` // The URL of a decryption key file to use.
DecryptionPassword string `json:"decryption_password,omitempty"` // The password used in combination with the key to decrypt the input file.
// H.264
H264ReferenceFrames int32 `json:"h264_reference_frames,omitempty"` // A number of reference frames to use in H.264 video.
H264Profile string `json:"h264_profile,omitempty"` // The H.264 profile to use.
H264Level string `json:"h264_level,omitempty"` // The H.264 level to use.
H264Bframes int32 `json:"h264_bframes,omitempty"` // The maximum number of consecutive B-frames.
Tuning string `json:"tuning,omitempty"` // Tune the output video for a specific content type.
Crf int32 `json:"crf,omitempty"` // Bitrate control setting.
// FLV
CuePoints []*CuePointSettings `json:"cue_points,omitempty"` // Add event or navigation cue points to a FLV video.
// VP6
VP6TemporalDownWatermark int32 `json:"vp6_temporal_down_watermark,omitempty"` // VP6 temporal down watermark percentage.
VP6TemporalResampling bool `json:"vp6_temporal_resampling,omitempty"` // Enable or disable VP6 temporal resampling.
VP6UndershootPct int32 `json:"vp6_undershoot_pct,omitempty"` // Target a slightly lower datarate.
VP6Profile string `json:"vp6_profile,omitempty"` // VP6 profile: vp6s or vp6e.
VP6CompressionMode string `json:"vp6_compression_mode,omitempty"` // VP6 compression mode: good or best.
VP6TwoPassMinSection int32 `json:"vp6_2pass_min_section,omitempty"` // For two-pass VBR encoding, the lowest datarate that the encoder will allow.
VP6TwoPassMaxSection int32 `json:"vp6_2pass_max_section,omitempty"` // For two-pass VBR encoding, the highest datarate that the encoder will allow.
VP6StreamPrebuffer int32 `json:"vp6_stream_prebuffer,omitempty"` // Seconds of preload that are necessary before starting playback.
VP6StreamMaxBuffer int32 `json:"vp6_stream_max_buffer,omitempty"` // Maximum decoder buffer size
VP6DeinterlaceMode string `json:"vp6_deinterlace_mode,omitempty"` // Deinterlace mode for VP6
VP6DenoiseLevel float64 `json:"vp6_denoise_level,omitempty"` // Denoise level for VP6
AlphaTransparency bool `json:"alpha_transparency,omitempty"` // Enable alpha transparency. Currently, only supported by VP6.
ConstantBitrate bool `json:"constant_bitrate,omitempty"` // Use constant bitrate (CBR) encoding.
// MP4
Hint bool `json:"hint,omitempty"` // Enable hinting of MP4 files for RTP/RTSP.
MTUSize int32 `json:"mtu_size,omitempty"` // Set MTU size for MP4 hinting.
// AAC
MaxAacProfile string `json:"max_aac_profile,omitempty"` // What is the most advanced (compressed) AAC profile to allow?
ForceAacProfile string `json:"force_aac_profile,omitempty"` // Force the use of a particular AAC profile, rather than letting Zencoder choose the best profile for the bitrate.
// Aspera
AsperaTransferPolicy string `json:"aspera_transfer_policy,omitempty"` // How to allocate available bandwidth for Aspera file transfers.
TransferMinimumRate int32 `json:"transfer_minimum_rate,omitempty"` // A targeted rate in Kbps for data transfer minimums.
TransferMaximumRate int32 `json:"transfer_maximum_rate,omitempty"` // A targeted rate in Kbps for data transfer maximums.
// Transmuxing
CopyVideo bool `json:"copy_video,omitempty"` // Copy the video track of the input file
CopyAudio bool `json:"copy_audio,omitempty"` // Copy the audio track of the input file
}
type ReportSettings ¶
type ReportSettings struct {
From *time.Time //: Start date in the format YYYY-MM-DD (default: 30 days ago).
To *time.Time //: End date in the format YYYY-MM-DD (default: yesterday).
Grouping *string //: Minute usage for only one report grouping (default: none).
}
func Report ¶
func Report() *ReportSettings
func ReportFrom ¶
func ReportFrom(from time.Time) *ReportSettings
func ReportGrouping ¶
func ReportGrouping(grouping string) *ReportSettings
func ReportTo ¶
func ReportTo(to time.Time) *ReportSettings
func (*ReportSettings) ReportFrom ¶
func (s *ReportSettings) ReportFrom(from time.Time) *ReportSettings
func (*ReportSettings) ReportGrouping ¶
func (s *ReportSettings) ReportGrouping(grouping string) *ReportSettings
func (*ReportSettings) ReportTo ¶
func (s *ReportSettings) ReportTo(to time.Time) *ReportSettings
type StreamSettings ¶
type StreamSettings struct {
Source string `json:"source,omitempty"` // Specifies the label of a given source
Path string `json:"path,omitempty"` // Specifies the path to a stream manifest file
Bandwidth int32 `json:"bandwidth,omitempty"` // Specifies the bandwidth of a playlist stream
Resolution string `json:"resolution,omitempty"` // Specifies the resolution of a playlist stream
Codecs string `json:"codecs,omitempty"` // Specifies the codecs used in a playlist stream
}
type Thumbnail ¶
type Thumbnail struct {
Id int64 `json:"id,omitempty"`
Url string `json:"url,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
A Thumbnail
type ThumbnailSettings ¶
type ThumbnailSettings struct {
Label string `json:"label,omitempty"` // A label to identify each set of thumbnail groups.
Format string `json:"format,omitempty"` // The format of the thumbnail image.
Number int32 `json:"number,omitempty"` // A number of thumbnails, evenly-spaced.
StartAtFirstFrame bool `json:"start_at_first_frame,omitempty"` // Start generating the thumbnails starting at the first frame.
Interval int32 `json:"interval,omitempty"` // Take thumbnails at an even interval, in seconds.
IntervalInFrames int32 `json:"interval_in_frames,omitempty"` // Take thumbnails at an even interval, in frames.
Times []int32 `json:"times,omitempty"` // An array of times, in seconds, at which to grab a thumbnail.
AspectMode string `json:"aspect_mode,omitempty"` // How to handle a thumbnail width/height that differs from the aspect ratio of the input file.
Size string `json:"size,omitempty"` // Thumbnail resolution as WxH.
Width int32 `json:"width,omitempty"` // The maximum width of the thumbnail (in pixels).
Height int32 `json:"height,omitempty"` // The maximum height of the thumbnail (in pixels).
BaseUrl string `json:"base_url,omitempty"` // A base S3, Cloud Files, GCS, FTP, FTPS, or SFTP directory URL where we'll place the thumbnails, without a filename.
Prefix string `json:"prefix,omitempty"` // Prefix for thumbnail filenames.
Filename string `json:"filename,omitempty"` // Interpolated thumbnail filename.
MakePublic bool `json:"public,omitempty"` // Make the output publicly readable on S3.
AccessControl []*AccessControlSettings `json:"access_control,omitempty"` // Fine-grained access control rules for files sent to S3.
UseRRS bool `json:"rrs,omitempty"` // Amazon S3's Reduced Redundancy Storage.
Headers map[string]string `json:"headers,omitempty"` // HTTP headers to send with your thumbnails when we upload them.
Credentials string `json:"credentials,omitempty"` // References saved credentials by a nickname.
ParallelUploadLimit int32 `json:"parallel_upload_limit,omitempty"` // The maximum number of simultaneous uploads to attempt.
}
type VodStatistic ¶
type VodTotalStatistics ¶
type VodUsage ¶
type VodUsage struct {
Total *VodTotalStatistics `json:"total,omitempty"`
Statistics []*VodStatistic `json:"statistics,omitempty"`
}
type WatermarkSettings ¶
type WatermarkSettings struct {
Url string `json:"url,omitempty"` // The URL of a remote image file to use as a watermark.
X int32 `json:"x,omitempty"` // Where to place a watermark, on the x axis.
Y int32 `json:"y,omitempty"` // Where to place a watermark, on the y axis.
Width int32 `json:"width,omitempty"` // The scaled width of a watermark.
Height int32 `json:"height,omitempty"` // The scaled height of a watermark.
Origin string `json:"origin,omitempty"` // Which part of the output to base the watermark position on.
Opacity float64 `json:"opacity,omitempty"` // Make the watermark transparent.
}
type Zencoder ¶
func NewZencoder ¶
func (*Zencoder) CreateAccount ¶
func (z *Zencoder) CreateAccount(email, password string) (*CreateAccountResponse, error)
Create an account
func (*Zencoder) CreateJob ¶
func (z *Zencoder) CreateJob(settings *EncodingSettings) (*CreateJobResponse, error)
Create a Job
func (*Zencoder) GetAccount ¶
func (z *Zencoder) GetAccount() (*AccountDetails, error)
Get Account Details
func (*Zencoder) GetInputDetails ¶
func (z *Zencoder) GetInputDetails(id int32) (*InputMediaFile, error)
Get Input Details
func (*Zencoder) GetInputProgress ¶
func (z *Zencoder) GetInputProgress(id int32) (*FileProgress, error)
Input Progress
func (*Zencoder) GetJobDetails ¶
func (z *Zencoder) GetJobDetails(id int64) (*JobDetails, error)
Get Job Details
func (*Zencoder) GetJobProgress ¶
func (z *Zencoder) GetJobProgress(id int64) (*JobProgress, error)
Job Progress
func (*Zencoder) GetLiveUsage ¶
func (z *Zencoder) GetLiveUsage(settings *ReportSettings) (*LiveUsage, error)
Get Live Usage
func (*Zencoder) GetOutputDetails ¶
func (z *Zencoder) GetOutputDetails(id int64) (*OutputMediaFile, error)
Get Output Details
func (*Zencoder) GetOutputProgress ¶
func (z *Zencoder) GetOutputProgress(id int64) (*FileProgress, error)
Output Progress
func (*Zencoder) GetUsage ¶
func (z *Zencoder) GetUsage(settings *ReportSettings) (*CombinedUsage, error)
func (*Zencoder) GetVodUsage ¶
func (z *Zencoder) GetVodUsage(settings *ReportSettings) (*VodUsage, error)
Get VOD Usage
func (*Zencoder) SetIntegrationMode ¶
Set Integration Mode
Click to show internal directories.
Click to hide internal directories.

