36 lines
767 B
Go
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
|
|
}
|
|
}
|
|
}
|