Skip to content

free5gc/IPTV

Repository files navigation

free5GC IPTV

GitHub release (latest by date) Go Report Card License FOSSA Status Release Download Reop Size PRs Welcome

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.

Installation

Install Dependencies

  • 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

Build Project

  • 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

How to watch IPTV

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

  1. 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.

  2. On PC You can use:

  3. On Android

  4. On iOS

Contact Information

You can contact [email protected].

License

We are using Apache 2.0 for the project.

FOSSA Status

Release Note

v2020-03-31-01

  • Implement unicast IPTV server
  • Verify IPTV application running on 5G core network