Skip to content

这是一个强大的IPTV源后端服务,具有视频缓冲区功能,程序内置了很多独家频道,不够?你还可以自定义添加电视源;超多功能接口,还可以添加你的代理,并且适合任意平台,非常适合作为家庭影院的IPTV服务!可玩性超高,更多详情点击查看。

License

Notifications You must be signed in to change notification settings

kfcx/Streaming-Media-Server-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

242 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

builds Netlify Status
Python version Docker pulls GitHub stars MIT license

Documentation: English version | 中文版

stream.png

目录

项目树形图

.
├── app
│   ├── __init__.py
│   ├── main.py
│   ├── log
│   ├── api
│   │   ├── __init__.py
│   │   ├── a4gtv
│   │   │   ├── __init__.py
│   │   │   ├── endecrypt.py
│   │   │   ├── generateEpg.py
│   │   │   ├── tasks.py
│   │   │   ├── tools.py
│   │   │   └── utile.py
│   │   └── v2
│   │       ├── __init__.py
│   │       └── endpoints
│   │           ├── __init__.py
│   │           ├── more.py
│   │           └── sgtv.py
│   ├── assets
│   │   ├── EPG.xml
│   │   ├── diyepg.txt
│   ├── common
│   │   ├── __init__.py
│   │   ├── costum_logging.py
│   │   ├── diyEpg.py
│   │   ├── gitrepo.py
│   │   └── header.py
│   ├── conf
│   │   ├── __init__.py
│   │   ├── config.ini
│   │   └── config.py
│   ├── db
│   │   ├── __init__.py
│   │   ├── DBtools.py
│   │   └── dbMysql.py
│   └── scheams
│       ├── __init__.py
│       └── basic.py
├── main.py
├── requirements.txt
├── Dockerfile
├── README.md
├── Procfile
└── LICENSE

核心功能

  • 高效流媒体(具有缓冲区)
  • 代理任意视频网站的视频流
  • 生成m3u文件
  • 生成m3u8文件
  • 异步下载流
  • 流媒体转发
  • 生成EPG节目单 每日实时更新
  • 分布式处理ts片
  • Redis缓存参数
  • MySql缓存数据
  • 正向代理请求
  • 自定义节目频道
  • 自定义电视台标
  • 自定义清晰度
  • 支持反向代理或使用CDN(负载均衡)

程序接口指南

https://stream.naihe.cf/docs

播放效果

原理介绍

如下图所示:

文字详解

图中多台服务器是一种理想情况下实现,实际python程序、redis和mysql都可以在同一台服务器中实现

  • ① 客户端请求m3u8文件
    • 1-> 查看内存是否缓存,否则服务器执行图流程2
    • 2-> BackgroundTasks任务:执行图流程3,分布式下载数量根据设置的缓冲区大小决定
    • 3<- 返回m3u8文件
  • ② 客户端请求ts片
    • 1-> 查看本地是否缓存,否则服务器执行图流程2
    • 2-> BackgroundTasks任务:执行图流程3
    • 3-> 查看内存是否已下载完成状态,下载完执行图流程4,否则循环判断等待
    • 4<- 返回ts文件
  • ③ 还有很多技术细节就不一一展开,只列出以上部分

该项目根据分析4gtv网站的接口,通过算法得到生成ts视频的一些关键参数,省去请求网站从而得到m3u8文件的通信时长等开销,针对海外视频网站被墙隔离,支持以下几种观看方式:

  • 通过具有缓冲区的中转服务观看(调用api接口 /online.m3u8)
  • 通过CDN反向代理观看(调用api接口 /channel.m3u8?&host=xxx)
  • 使用科学上网软件观看(调用api接口 /channel2.m3u8)

使用方式

💡提示:最好将本项目部署至美国地区的服务器,否则可能会出现奇怪的BUG。

推荐大家使用Digitalocean的服务器,主要是因为免费。

DigitalOcean Referral Badge

使用我的邀请链接注册,你可以获得$200的credit,当你在上面消费$25时,我也可以获得$25的奖励。

我的邀请链接:

https://m.do.co/c/45e25f5e4569

根据以下通用命令部署本项目

python部署:

python版本>=3.8+

git clone https://github.com/239144498/Streaming-Media-Server-Pro.git

安装依赖

pip install -r requirements.txt

运行

python3 main.py

(docker部署)更多使用教程详情 https://www.cnblogs.com/1314h/p/16651157.html

现已支持频道

  • 在diychannel.txt文件添加自定义频道

License

GNU-3.0 © naihe

About

这是一个强大的IPTV源后端服务,具有视频缓冲区功能,程序内置了很多独家频道,不够?你还可以自定义添加电视源;超多功能接口,还可以添加你的代理,并且适合任意平台,非常适合作为家庭影院的IPTV服务!可玩性超高,更多详情点击查看。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages