Documentation
¶
Index ¶
- Variables
- func BatchOptimize(inputPaths []string, outputDir string, quality string) error
- func DownloadFromMagnetLink(magnetLink, downloadDir string) error
- func DownloadFromTorrentFile(torrentFilePath, downloadDir string) error
- func DownloadTorrentFile(url, destinationDir string) (string, error)
- func IsFFmpegAvailable() bool
- func IsMagnet(link string) bool
- func OptimizeAudioForMobile(inputPath, outputPath, quality string) error
- func OptimizeVideoForMobile(inputPath, outputPath, quality string) error
- func Transcode()
- type Event
- type EventData
- type EventFactory
- type EventHandler
- type MediaOptimizer
- func (m *MediaOptimizer) GetCompressionRatio() (float64, error)
- func (m *MediaOptimizer) GetOptimizedSize() (int64, error)
- func (m *MediaOptimizer) Optimize() error
- func (m *MediaOptimizer) OptimizeForMobile(quality string) error
- func (m *MediaOptimizer) OptimizeWithCallback(progressCallback func(float64)) error
- func (m *MediaOptimizer) SetCustomProfile(...)
- func (m *MediaOptimizer) SetProfile(profile QualityProfile)
- type MediaType
- type QualityProfile
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Audio profile AudioMobileLow = QualityProfile{ Name: "audio_mobile_low", AudioCodec: "aac", AudioBitrate: "64k", Preset: "fast", } AudioMobileHigh = QualityProfile{ Name: "audio_mobile_high", AudioCodec: "aac", AudioBitrate: "128k", Preset: "fast", } // Video profile VideoMobileLow = QualityProfile{ Name: "video_mobile_low", VideoCodec: "libx264", AudioCodec: "aac", VideoBitrate: "500k", AudioBitrate: "64k", Resolution: "480x360", Preset: "fast", CRF: 20, } VideoMobileHigh = QualityProfile{ Name: "video_mobile_high", VideoCodec: "libx264", AudioCodec: "aac", VideoBitrate: "1000k", AudioBitrate: "128k", Resolution: "720x480", Preset: "medium", CRF: 23, } VideoMobileUltra = QualityProfile{ Name: "video_mobile_ultra", VideoCodec: "libx264", AudioCodec: "aac", VideoBitrate: "2000k", AudioBitrate: "128k", Resolution: "1280x720", Preset: "medium", CRF: 20, } )
Functions ¶
func BatchOptimize ¶
Optimizing multiple inputs files
func DownloadFromMagnetLink ¶
Download torrent file specified by the magnet link.
func DownloadFromTorrentFile ¶
Downloading a torrent file specified in a filepath directory.
func DownloadTorrentFile ¶
Downloading a torrent file from source based on the provided URL
func IsFFmpegAvailable ¶
func IsFFmpegAvailable() bool
func OptimizeAudioForMobile ¶
func OptimizeVideoForMobile ¶
Types ¶
type EventFactory ¶
type EventFactory struct {
Mu *sync.Mutex
Wg *sync.WaitGroup
// contains filtered or unexported fields
}
var (
EventBus *EventFactory
)
func (*EventFactory) CreateEvent ¶
func (bus *EventFactory) CreateEvent(eventName string) *Event
func (*EventFactory) Emit ¶
func (bus *EventFactory) Emit(event *Event, data *EventData, args ...string)
func (*EventFactory) Off ¶
func (bus *EventFactory) Off(event *Event, handler EventHandler)
func (*EventFactory) On ¶
func (bus *EventFactory) On(event *Event, handler EventHandler)
func (*EventFactory) Wait ¶
func (bus *EventFactory) Wait()
type EventHandler ¶
type MediaOptimizer ¶
type MediaOptimizer struct {
InputPath string
OutputPath string
MediaType MediaType
Profile QualityProfile
// contains filtered or unexported fields
}
Main media transcription struct
func NewMediaOptimizer ¶
func NewMediaOptimizer(inputPath, outputPath string) (*MediaOptimizer, error)
Create a new instance of the media transcription service
func (*MediaOptimizer) GetCompressionRatio ¶
func (m *MediaOptimizer) GetCompressionRatio() (float64, error)
Calculating Compression ration
func (*MediaOptimizer) GetOptimizedSize ¶
func (m *MediaOptimizer) GetOptimizedSize() (int64, error)
Get the optimized file size
func (*MediaOptimizer) OptimizeForMobile ¶
func (m *MediaOptimizer) OptimizeForMobile(quality string) error
Automatic optimization for mobile device depending on the provided quality The quality type can be `low` | `high` or `ultra` for video content
func (*MediaOptimizer) OptimizeWithCallback ¶
func (m *MediaOptimizer) OptimizeWithCallback(progressCallback func(float64)) error
Running the optimization process with a callback func to take the progress
func (*MediaOptimizer) SetCustomProfile ¶
func (m *MediaOptimizer) SetCustomProfile(name, videoCodec, audioCodec, videoBitrate, audioBitrate, resolution, preset string, crf int)
Setting a personalized quality profile
func (*MediaOptimizer) SetProfile ¶
func (m *MediaOptimizer) SetProfile(profile QualityProfile)
Setting the quality profile
Click to show internal directories.
Click to hide internal directories.