Documentation ¶
Index ¶
- Constants
- func FFMpegRun(ctx Context, args string) (e error)
- func GetCurrentDir() string
- type Command
- type Context
- type FileInfo
- type Format
- type FormatTags
- type SplitArgs
- func FFMpegSplitToM3U8(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
- func FFMpegSplitToM3U8WithOptimize(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
- func FFMpegSplitToM3U8WithProbe(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
- type SplitOptions
- func AudioOption(s string) SplitOptions
- func AutoOption(s bool) SplitOptions
- func BitRateOption(b int64) SplitOptions
- func HLSTimeOption(i int) SplitOptions
- func OutputOption(s string) SplitOptions
- func ProbeInfoOption(f func(string) (*StreamFormat, error)) SplitOptions
- func ScaleOption(s int64, v ...string) SplitOptions
- func StreamFormatOption(s *StreamFormat) SplitOptions
- func VideoOption(s string) SplitOptions
- type Stream
- type StreamFormat
- type StreamTags
Constants ¶
View Source
const ( Scale480P = 0 Scale720P = 1 Scale1080P = 2 )
Scale ...
View Source
const ( CNameIdx = iota ExtIdx CaptionIdx LanguageIdx AudioIdx VideoIdx SharpnessIdx DataIdx ENameIdx MaxSizeIdx )
ExtIdx ...
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Context ¶
type Context interface { Cancel() Add(int) Waiting() <-chan bool Wait() Done() Context() context.Context }
Context ...
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 SplitArgs ¶
type SplitArgs struct { StreamFormat *StreamFormat Auto bool Scale int64 Start string End string Output string Video string Audio string M3U8 string SegmentFileName string HLSTime int BitRate int64 FrameRate float64 // contains filtered or unexported fields }
SplitArgs ...
func FFMpegSplitToM3U8 ¶
func FFMpegSplitToM3U8(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
FFMpegSplitToM3U8 ...
func FFMpegSplitToM3U8WithOptimize ¶
func FFMpegSplitToM3U8WithOptimize(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
FFMpegSplitToM3U8WithOptimize ...
func FFMpegSplitToM3U8WithProbe ¶
func FFMpegSplitToM3U8WithProbe(ctx Context, file string, args ...SplitOptions) (sa *SplitArgs, e error)
FFMpegSplitToM3U8WithProbe ...
type SplitOptions ¶
type SplitOptions func(args *SplitArgs)
SplitOptions ...
func ProbeInfoOption ¶
func ProbeInfoOption(f func(string) (*StreamFormat, error)) SplitOptions
ProbeInfoOption ...
func StreamFormatOption ¶
func StreamFormatOption(s *StreamFormat) SplitOptions
StreamFormatOption ...
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 ...
func FFProbeStreamFormat ¶
func FFProbeStreamFormat(filename string) (*StreamFormat, error)
FFProbeStreamFormat ...
type StreamTags ¶
type StreamTags struct { Language string `json:"language"` HandlerName string `json:"handler_name"` }
StreamTags ...
Click to show internal directories.
Click to hide internal directories.