/Streaming-Media-Server-Pro

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

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

builds Netlify Status
Python version Docker pulls GitHub stars MIT license

Documentation: English version | 中文版

  在互联网快速发展的今天,有成千上万个用户都有观看电视的需求,而我, 想打造一个让每个人都拥有自己的电视频道的目标,每个人都可以根据自己的喜欢去筛选喜欢的节目, 并且拥有免费且流畅的观看体验。


  NEW 最新版来了,新增对任意视频网站的视频流代理功能,解决了播放不同视频网站的跨域等问题。

  最新版对程序结构性进行了重构,网络请求改为异步+生成器方式,性能得到大幅提高;并且新增了日志管理和channel3接口,程序所有功能已基本完善,各位可否点亮star⭐。


目录

项目树形图

.
├── 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

公益视频网站

后端对接的项目接口,可以在线观看接口内的所有电视。

https://player.naihe.cf

核心功能

  • 代理任意视频网站的视频流【NEW
  • 生成m3u文件
  • 生成m3u8文件
  • 视频中转(具有缓冲区)
  • 异步下载视频
  • 流媒体转发
  • 生成EPG节目单 每日实时更新
  • 分布式处理ts片段
  • Redis缓存参数
  • MySql或PostgreSql缓存视频
  • 正向代理请求
  • 自定义增加节目频道
  • 自定义电视台标
  • 清晰度可自定义
  • 反向代理或套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)

使用方式

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

现已支持频道

  • 民视第一台
  • 民视**台
  • 民视
  • 大爱电视
  • 中视
  • 中视经典台
  • 华视
  • 三立综合台
  • 客家电视台
  • 八大综艺台
  • 中视菁采台
  • TVBS精采台
  • 爱尔达娱乐台
  • 靖天综合台
  • 靖天日本台
  • 新唐人亚太台
  • 中天综合台
  • ARIRANG阿里郎频道
  • LiveABC互动英语频道
  • 达文西频道
  • ELTV生活英语台
  • Nick Jr. 儿童频道
  • 尼克儿童频道
  • 靖天卡通台
  • 靖洋卡通Nice Bingo
  • i-Fun动漫台
  • MOMO亲子台
  • CN卡通
  • 东森购物一台
  • 镜电视新闻台
  • 东森新闻台
  • 华视新闻
  • 民视新闻台
  • 三立财经新闻iNEWS
  • TVBS新闻
  • 东森财经新闻台
  • 中视新闻
  • 中天新闻台
  • 寰宇新闻台
  • SBN全球财经台
  • TVBS
  • 东森购物二台
  • 民视综艺台
  • 猪哥亮歌厅秀
  • 靖天育乐台
  • KLT-靖天国际台
  • Nice TV 靖天欢乐台
  • 靖天资讯台
  • 中天全民最大党
  • TVBS欢乐台
  • 韩国娱乐台 KMTV
  • Lifetime 娱乐频道
  • 电影原声台CMusic
  • TRACE Urban
  • MTV Live HD 音乐频道
  • Mezzo Live HD
  • CLASSICA 古典乐
  • 博斯高球台
  • 博斯运动一台
  • 博斯无限台
  • 博斯网球台
  • TRACE Sport Stars
  • 智林体育台
  • 时尚运动X
  • 车迷TV
  • GINX Esports TV
  • TechStorm
  • Pet Club TV
  • 民视旅游台
  • 滚动力rollor
  • 亚洲旅游台
  • 幸福空间居家台
  • Love Nature
  • History 历史频道
  • Smithsonian Channel
  • 爱尔达生活旅游台
  • LUXE TV Channel
  • TV5MONDE STYLE HD 生活时尚
  • 中天美食旅游
  • 公视戏剧
  • 民视影剧台
  • 龙华戏剧台
  • HITS频道
  • 龙华日韩台
  • 八大精彩台
  • 靖天戏剧台
  • 靖洋戏剧台
  • CI 罪案侦查频道
  • 视纳华仁纪实频道
  • 影迷数位纪实台
  • 金光布袋戏
  • ROCK Extreme
  • 采昌影剧台
  • 靖天映画
  • 靖天电影台
  • 龙华电影台
  • 影迷数位电影台
  • amc最爱电影
  • CinemaWorld
  • CATCHPLAY Beyond
  • CATCHPLAY电影台
  • My Cinema Europe HD 我的欧洲电影
  • 好消息2台
  • 好消息
  • 大爱二台
  • 人间卫视
  • 半岛国际新闻台
  • VOA美国之音
  • CNBC Asia 财经台
  • DW德国之声
  • CNN头条新闻台
  • CNN国际新闻台
  • 国会频道1
  • 国会频道2
  • 经典电影台
  • 经典卡通台
  • 精选动漫台
  • 华语戏剧台
  • 华语综艺台
  • 在diychannel.txt文件添加更多频道

📋 打赏名单 Donation List

非常感谢「 这些用户 」对本项目的赞助支持!

❤ 打赏 Donation

  如果你觉得本项目对你有帮助,请考虑打赏本项目,以激励我投入更多的时间进行维护与开发。 If you find this project helpful, please consider supporting the project going forward. Your support is greatly appreciated.

Every time you spend money, you're casting a vote for the kind of world you want. -- Anna Lappe

  你在GitHub给的star或者赞助是我长期维护此项目的动力所在,由衷感谢每一位支持者,“每一次你花的钱都是在为你想要的世界投票”。 另外,将本项目推荐给更多的人,也是一种支持的方式,用的人越多更新的动力越足。

License

GNU-3.0 © naihe