36 lines
767 B
Go

package main
import (
"fmt"
downloader2 "m3u8-downloader/pkg/downloader"
)
func main() {
masterUrl := "https://d17cyqyz9yhmep.cloudfront.net/streams/234945/playlist_1752291107574_1752292056713.m3u8"
stream, err := downloader2.ParseMasterPlaylist(masterUrl)
if err != nil {
panic(err)
}
audio, video, err := stream.FetchSegmentPlaylists()
if err != nil {
panic(err)
}
videoPlaylist := downloader2.ParseMediaPlaylist(video)
audioPlaylist := downloader2.ParseMediaPlaylist(audio)
for _, segment := range videoPlaylist.Segments {
fmt.Println(segment.URL)
}
for _, segment := range audioPlaylist.Segments {
err := downloader2.DownloadTSFile(stream.BuildSegmentURL(segment.URL), downloader2.OutputDirPath)
if err != nil {
return
}
}
}