Documentation ¶
Index ¶
Constants ¶
View Source
const ( BLANK = "" ENCODER_COPY = "copy" ENCODER_X264 = "libx264" ENCODER_VAAPI = "h264_vaapi" ENCODER_NVENC = "h264_nvenc" QUALITY_MAX = "max" CODEC_H264 = "h264" )
Variables ¶
This section is empty.
Functions ¶
func GetQueryString ¶
func WriteM3U8ContentType ¶
func WriteM3U8ContentType(w http.ResponseWriter)
Types ¶
type Config ¶
type Config struct { // Current version of go-vod Version string // Is this server configured? Configured bool // Restart the server if incorrect version detected VersionMonitor bool // Bind address Bind string `json:"bind"` // FFmpeg binary FFmpeg string `json:"ffmpeg"` // FFprobe binary FFprobe string `json:"ffprobe"` // Temp files directory TempDir string `json:"tempdir"` // Size of each chunk in seconds ChunkSize int `json:"chunkSize"` // How many *chunks* to look behind before restarting transcoding LookBehind int `json:"lookBehind"` // Number of chunks in goal to restart encoding GoalBufferMin int `json:"goalBufferMin"` // Number of chunks in goal to stop encoding GoalBufferMax int `json:"goalBufferMax"` // Number of seconds to wait before shutting down encoding StreamIdleTime int `json:"streamIdleTime"` // Number of seconds to wait before shutting down a client ManagerIdleTime int `json:"managerIdleTime"` // Quality Factor (e.g. CRF / global_quality) QF int `json:"qf"` // VA-API VAAPI bool `json:"vaapi"` VAAPILowPower bool `json:"vaapiLowPower"` // NVENC NVENC bool `json:"nvenc"` NVENCTemporalAQ bool `json:"nvencTemporalAQ"` NVENCScale string `json:"nvencScale"` // cuda, npp // Use transpose workaround for streaming (VA-API) UseTranspose bool `json:"useTranspose"` // Force tranpose in software ForceSwTranspose bool `json:"forceSwTranspose"` // Use GOP size workaround for streaming (NVENC) UseGopSize bool `json:"useGopSize"` }
func (*Config) AutoDetect ¶
func (c *Config) AutoDetect()
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) Destroy ¶
func (m *Manager) Destroy()
Destroys streams. DOES NOT emit on the close channel.
func (*Manager) ServeIndex ¶
type ProbeVideoData ¶
type Stream ¶
type Stream struct {
// contains filtered or unexported fields
}
func (*Stream) ServeChunk ¶
func (s *Stream) ServeChunk(w http.ResponseWriter, id int) error
func (*Stream) ServeFullVideo ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.