This is an simple IPTV Server that you can self host on Linux / Windows base on FFmpeg and Go.
This project is maintained by free5GC for validation of IPTV applications in 5G core network.
-
FFmpeg
sudo apt install -y ffmpeg
-
node.js
sudo apt-get install nodejs
-
yarn
sudo apt install -y curl curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn
-
npm
sudo apt-get install python-software-properties sudo add-apt-repository ppa:gias-kay-lee/npm sudo apt-get update sudo apt-get install npm
-
golang
wget https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz sudo tar -C /usr/local -zxvf go1.12.9.linux-amd64.tar.gz mkdir -p ~/go/{bin,pkg,src} echo 'export GOPATH=$HOME/go' >> ~/.bashrc echo 'export GOROOT=/usr/local/go' >> ~/.bashrc echo 'export PATH=$PATH:$GOPATH/bin:$GOROOT/bin' >> ~/.bashrc echo 'export GO111MODULE=off' >> ~/.bashrc source ~/.bashrc
-
Install go package
go get -u github.com/gin-contrib/static go get -u github.com/gin-gonic/gin go get -u github.com/urfave/cli go get -u gopkg.in/yaml.v2
-
Build Web Client
cd web-client yarn install yarn build cd .. vim iptvcfg.conf # Configure iptv details mkdir hls # Create chache folder, default is ./hls go run iptv.go
The IPTV channel playlist's location depends on what you configure in iptvcfg.conf
's IPTVServer -> ServerAddr
And the playlist's location will be: IPv4:Port/iptv/index.m3u
-
Generally Using Web to check IPTV channel is an general way to do it. You can use our web to view IPTV channel.
Open your web browser, goto the ip:port you have configured in
iptvcfg.conf
's ServerAddr. -
On PC You can use:
-
On Android
-
On iOS
You can contact free5gc.org@gmail.com.
We are using Apache 2.0 for the project.
- Implement unicast IPTV server
- Verify IPTV application running on 5G core network