ffprobe

package module
v0.0.0-...-505d1c5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2015 License: Apache-2.0 Imports: 3 Imported by: 2

README

go-ffprobe

License

Apache 2.0

Documentation

Index

Constants

View Source
const (
	Video string = "video"
	Audio        = "audio"
)

Variables

This section is empty.

Functions

func IsAvailable

func IsAvailable() bool

IsAvailable returns true if ffprobe command is available; false otherwise.

Types

type Format

type Format struct {
	Filename       string      `json:"filename"`
	NBStreams      int         `json:"nb_streams"`
	NBPrograms     int         `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     int         `json:"probe_score"`
	Tags           *FormatTags `json:"tags"`
}

Format information.

type FormatTags

type FormatTags struct {
	MajorBrand       string `json:"major_brand"`
	MinorVersion     string `json:"minor_version"`
	CompatibleBrands string `json:"compatible_brands"`
	CreationTime     string `json:"creation_time"`
}

type Handler

type Handler struct {
	File string
	// contains filtered or unexported fields
}

Handler wraps a file.

func File

func File(file string) (handler *Handler)

File returns a handler for a file.

func (*Handler) Format

func (h *Handler) Format() (format *Format, err error)

Format returns the format information.

func (*Handler) Streams

func (h *Handler) Streams() (streams []*Stream, err error)

Streams returns the stream information.

type Stream

type Stream struct {
	Index            int    `json:"index"`
	CodecName        string `json:"codec_name"`
	CodecLongName    string `json:"codec_long_name"`
	CodecType        string `json:"codec_type"`
	CodecTimeBase    string `json:"codec_time_base"`
	CodecTagString   string `json:"codec_tag_string"`
	CodecTag         string `json:"codec_tag"`
	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"`
	DurationTs       uint64 `json:"duration_ts"`
	Duration         string `json:"duration"`
	BitRate          string `json:"bit_rate"`
	BitsPerRawSample string `json:"bits_per_raw_sample"`
	NbFrames         string `json:"nb_frames"`

	Disposition StreamDisposition `json:"disposition,omitempty"`
	Tags        StreamTags        `json:"tags,omitempty"`

	Profile            string `json:"profile,omitempty"`
	Width              int    `json:"width"`
	Height             int    `json:"height"`
	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"`

	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"`
}

Stream information.

func (*Stream) Type

func (s *Stream) Type() string

Type returns the type of stream.

type StreamDisposition

type StreamDisposition 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"`
}

type StreamTags

type StreamTags struct {
	CreationTime string `json:"creation_time,omitempty"`
	Language     string `json:"language,omitempty"`
	Encoder      string `json:"encoder,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL