76 lines
4 KiB
Go
76 lines
4 KiB
Go
package ffmpeg
|
|
|
|
type FFProbeDispositions struct {
|
|
Default int `json:"default"`
|
|
Dub int `json:"dub"`
|
|
Original int `json:"original"`
|
|
Comment int `json:"comment"`
|
|
Lyrics int `json:"lyrics"`
|
|
Karaoke int `json:"karaoke"`
|
|
Forced int `json:"forced"`
|
|
HearingImpaired int `json:"hearing_impaired"`
|
|
VisualImpaired int `json:"visual_impaired"`
|
|
CleanEffects int `json:"clean_effects"`
|
|
AttachedPic int `json:"attached_pic"`
|
|
TimedThumbnails int `json:"timed_thumbnails"`
|
|
NonDiegetic int `json:"non_diegetic"`
|
|
Captions int `json:"captions"`
|
|
Descriptions int `json:"descriptions"`
|
|
Metadata int `json:"metadata"`
|
|
Dependent int `json:"dependent"`
|
|
StillImage int `json:"still_image"`
|
|
Multilayer int `json:"multilayer"`
|
|
}
|
|
|
|
type FFProbeStream struct {
|
|
Index int `json:"index"`
|
|
CodecName string `json:"codec_name"`
|
|
CodecLongName string `json:"codec_long_name"`
|
|
CodecType string `json:"codec_type"`
|
|
CodecTagString string `json:"codec_tag_string"`
|
|
CodecTag string `json:"codec_tag"`
|
|
SampleFmt string `json:"sample_fmt,omitempty"`
|
|
SampleRate string `json:"sample_rate,omitempty"`
|
|
Channels int `json:"channels,omitempty"`
|
|
ChannelLayout string `json:"channel_layout,omitempty"`
|
|
BitsPerSample int `json:"bits_per_sample,omitempty"`
|
|
InitialPadding int `json:"initial_padding,omitempty"`
|
|
DmixMode string `json:"dmix_mode,omitempty"`
|
|
LtrtCmixlev string `json:"ltrt_cmixlev,omitempty"`
|
|
LtrtSurmixlev string `json:"ltrt_surmixlev,omitempty"`
|
|
LoroCmixlev string `json:"loro_cmixlev,omitempty"`
|
|
LoroSurmixlev string `json:"loro_surmixlev,omitempty"`
|
|
RFrameRate string `json:"r_frame_rate"`
|
|
AvgFrameRate string `json:"avg_frame_rate"`
|
|
TimeBase string `json:"time_base"`
|
|
StartPts int `json:"start_pts"`
|
|
StartTime string `json:"start_time"`
|
|
BitRate string `json:"bit_rate,omitempty"`
|
|
Disposition FFProbeDispositions `json:"disposition"`
|
|
Tags map[string]string `json:"tags"`
|
|
DurationTs int `json:"duration_ts,omitempty"`
|
|
Duration string `json:"duration,omitempty"`
|
|
Profile string `json:"profile,omitempty"`
|
|
Width int `json:"width,omitempty"`
|
|
Height int `json:"height,omitempty"`
|
|
CodedWidth int `json:"coded_width,omitempty"`
|
|
CodedHeight int `json:"coded_height,omitempty"`
|
|
HasBFrames int `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 int `json:"level,omitempty"`
|
|
ColorRange string `json:"color_range,omitempty"`
|
|
ColorSpace string `json:"color_space,omitempty"`
|
|
ChromaLocation string `json:"chroma_location,omitempty"`
|
|
FieldOrder string `json:"field_order,omitempty"`
|
|
Refs int `json:"refs,omitempty"`
|
|
IsAvc string `json:"is_avc,omitempty"`
|
|
NalLengthSize string `json:"nal_length_size,omitempty"`
|
|
BitsPerRawSample string `json:"bits_per_raw_sample,omitempty"`
|
|
ExtradataSize int `json:"extradata_size,omitempty"`
|
|
}
|
|
|
|
type FFProbeOutput struct {
|
|
Streams []FFProbeStream `json:"streams"`
|
|
}
|