Documentation
¶
Index ¶
- Variables
- func Args(s ...string) string
- func Err(e error, msg string) error
- func LogError(err error) bool
- func OptimizeWithFormat(c *Config, sfmt *StreamFormat) (e error)
- func ScaleValue(scale Scale) int64
- type Command
- type CommandRunner
- type Config
- type Crypto
- type CutOut
- type FFMpeg
- type FFProbe
- type FileInfo
- type Format
- type FormatTags
- type MpegOption
- type OpenSSL
- type ProcessCore
- type RunOptions
- type Scale
- type Stream
- type StreamFormat
- type StreamTags
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultCommandPath = ""
DefaultCommandPath default point to current dir
View Source
var DefaultHLSTime = 10
DefaultHLSTime ...
View Source
var DefaultKeyInfoName = "m3u8_key_info"
DefaultKeyInfoName ...
View Source
var DefaultKeyName = "m3u8_key"
DefaultKeyName ...
View Source
var DefaultKeyPath = "output_key"
DefaultKeyPath ...
View Source
var DefaultM3U8Name = "media.m3u8"
DefaultM3U8Name ...
View Source
var DefaultMpegName = "ffmpeg"
DefaultMpegName ...
View Source
var DefaultOutputName = "media.mp4"
DefaultOutputName ...
View Source
var DefaultOutputPath = "video_split_temp"
DefaultOutputPath ...
View Source
var DefaultProbeName = "ffprobe"
DefaultProbeName ...
View Source
var DefaultProcessCore = ProcessCUDA
DefaultProcessCore ...
View Source
var DefaultScale = Scale720P
DefaultScale ...
View Source
var DefaultSegmentFileName = "media-%05d.ts"
DefaultSegmentFileName ...
View Source
var DefaultSlice = false
DefaultSlice ...
Functions ¶
func OptimizeWithFormat ¶
func OptimizeWithFormat(c *Config, sfmt *StreamFormat) (e error)
OptimizeWithFormat ...
Types ¶
type Command ¶
type Command struct {
Name string
// contains filtered or unexported fields
}
Command ...
func (*Command) RunContext ¶
RunContext ...
type CommandRunner ¶
type CommandRunner interface {
Run() (string, error)
RunContext(ctx context.Context, info chan<- string) (e error)
}
CommandRunner ...
type Config ¶
type Config struct {
LogOutput bool
VideoFormat string
AudioFormat string
Scale Scale
ProcessCore ProcessCore
BitRate int64
FrameRate float64
OutputPath string //output path
OutputName string
M3U8Name string
SegmentFileName string
HLSTime int
KeyOutput bool
Slice bool
KeyPath string
// contains filtered or unexported fields
}
Config ...
func (*Config) ActionOutput ¶ added in v0.0.3
ActionOutput ...
type Crypto ¶
type Crypto struct {
KeyInfoPath string
Key string
KeyPath string
UseIV bool
IV string
URL string
// contains filtered or unexported fields
}
Crypto ...
type FFMpeg ¶
type FFMpeg struct {
// contains filtered or unexported fields
}
FFMpeg ...
type FFProbe ¶
type FFProbe struct {
// contains filtered or unexported fields
}
FFProbe ...
func (*FFProbe) StreamFormat ¶
func (ff *FFProbe) StreamFormat(file string) (*StreamFormat, error)
StreamFormat ...
type FileInfo ¶
type FileInfo struct {
Ext string //扩展名
Caption string //字幕
Language string //语种
Audio string //音频
Video string //视频
Sharpness string //清晰度
Date string //年份
CName string //中文名
EName string //英文名
Prefix string //前缀(广告信息)
}
FileInfo ...
type Format ¶
type Format struct {
Filename string `json:"filename"`
NbStreams int64 `json:"nb_streams"`
NbPrograms int64 `json:"nb_programs"`
FormatName string `json:"format_name"`
FormatLongName string `json:"format_long_name"`
StartTime string `json:"start_time"`
Duration string `json:"duration"`
Size string `json:"size"`
BitRate string `json:"bit_rate"`
ProbeScore int64 `json:"probe_score"`
Tags FormatTags `json:"tags"`
}
Format ...
type FormatTags ¶
type FormatTags struct {
MajorBrand string `json:"major_brand"`
MinorVersion string `json:"minor_version"`
CompatibleBrands string `json:"compatible_brands"`
Encoder string `json:"encoder"`
}
FormatTags ...
type MpegOption ¶ added in v0.0.6
MpegOption ...
type OpenSSL ¶
type OpenSSL struct {
Name string
// contains filtered or unexported fields
}
OpenSSL ...
type ProcessCore ¶
type ProcessCore int
ProcessCore ...
const ( ProcessNone ProcessCore = -1 ProcessCPU ProcessCore = 1 ProcessCUDA ProcessCore = iota ProcessCUVID )
None ...
type Stream ¶
type Stream struct {
Index int64 `json:"index"`
CodecName string `json:"codec_name"`
CodecLongName string `json:"codec_long_name"`
Profile string `json:"profile"`
CodecType string `json:"codec_type"`
CodecTimeBase string `json:"codec_time_base"`
CodecTagString string `json:"codec_tag_string"`
CodecTag string `json:"codec_tag"`
Width *int64 `json:"width,omitempty"`
Height *int64 `json:"height,omitempty"`
CodedWidth *int64 `json:"coded_width,omitempty"`
CodedHeight *int64 `json:"coded_height,omitempty"`
HasBFrames *int64 `json:"has_b_frames,omitempty"`
SampleAspectRatio *string `json:"sample_aspect_ratio,omitempty"`
DisplayAspectRatio *string `json:"display_aspect_ratio,omitempty"`
PixFmt *string `json:"pix_fmt,omitempty"`
Level *int64 `json:"level,omitempty"`
ColorRange *string `json:"color_range,omitempty"`
ColorSpace *string `json:"color_space,omitempty"`
ColorTransfer *string `json:"color_transfer,omitempty"`
ColorPrimaries *string `json:"color_primaries,omitempty"`
ChromaLocation *string `json:"chroma_location,omitempty"`
Refs *int64 `json:"refs,omitempty"`
IsAVC *string `json:"is_avc,omitempty"`
NalLengthSize *string `json:"nal_length_size,omitempty"`
RFrameRate string `json:"r_frame_rate"`
AvgFrameRate string `json:"avg_frame_rate"`
TimeBase string `json:"time_base"`
StartPts int64 `json:"start_pts"`
StartTime string `json:"start_time"`
DurationTs int64 `json:"duration_ts"`
Duration string `json:"duration"`
BitRate string `json:"bit_rate"`
BitsPerRawSample *string `json:"bits_per_raw_sample,omitempty"`
NbFrames string `json:"nb_frames"`
Disposition map[string]int64 `json:"disposition"`
Tags StreamTags `json:"tags"`
SampleFmt *string `json:"sample_fmt,omitempty"`
SampleRate *string `json:"sample_rate,omitempty"`
Channels *int64 `json:"channels,omitempty"`
ChannelLayout *string `json:"channel_layout,omitempty"`
BitsPerSample *int64 `json:"bits_per_sample,omitempty"`
MaxBitRate *string `json:"max_bit_rate,omitempty"`
}
Stream ...
type StreamFormat ¶
StreamFormat ...
type StreamTags ¶
type StreamTags struct {
Language string `json:"language"`
HandlerName string `json:"handler_name"`
}
StreamTags ...
Source Files
¶
Click to show internal directories.
Click to hide internal directories.