33 lines
757 B
Go
33 lines
757 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"hightube/internal/api"
|
|
"hightube/internal/db"
|
|
"hightube/internal/stream"
|
|
)
|
|
|
|
func main() {
|
|
log.Println("Starting Hightube Server Version-1.0.2 ...")
|
|
|
|
// Initialize Database and run auto-migrations
|
|
db.InitDB()
|
|
|
|
// Start the API server in a goroutine so it doesn't block the RTMP server
|
|
go func() {
|
|
r := api.SetupRouter()
|
|
log.Println("[INFO] API Server is listening on :8080...")
|
|
if err := r.Run(":8080"); err != nil {
|
|
log.Fatalf("Failed to start API server: %v", err)
|
|
}
|
|
}()
|
|
|
|
// Setup and start the RTMP server
|
|
log.Println("[INFO] Ready to receive RTMP streams from OBS.")
|
|
srv := stream.NewRTMPServer()
|
|
if err := srv.Start(":1935"); err != nil {
|
|
log.Fatalf("Failed to start RTMP server: %v", err)
|
|
}
|
|
}
|