Code Monkey home page Code Monkey logo

redrainl / streaming-media-server-pro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 239144498/streaming-media-server-pro

1.0 0.0 0.0 304 KB

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

Home Page: https://stream.naihe.cf/docs

License: GNU General Public License v3.0

Python 99.37% Dockerfile 0.50% Procfile 0.13%

streaming-media-server-pro's Introduction

builds Netlify Status

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


  新版本已发布,增加了自定义添加频道功能,你想看的都可以加进来;程序稳定性更高!只需修改config.ini配置参数即可运行;你们期待的教程重磅来袭!

项目树形图

.
|-- Dockerfile
|-- LICENSE
|-- Procfile
|-- README.md
|-- app
|   |-- __init__.py
|   |-- assets
|   |   |-- EPG.xml
|   |   |-- config.ini
|   |   `-- diyepg.txt
|   |-- common
|   |   |-- __init__.py
|   |   |-- diyEpg.py
|   |   |-- endecrypt.py
|   |   |-- generateEpg.py
|   |   |-- gitrepo.py
|   |   `-- tools.py
|   |-- main.py
|   |-- modules
|   |   |-- DBtools.py
|   |   |-- __init__.py
|   |   |-- dbMysql.py
|   |   `-- dbPostgresql.py
|   |-- routers.py
|   |-- settings.py
|   `-- utile.py
|-- main.py
`-- requirements.txt

核心功能

  • 生成m3u文件
  • 生成m3u8文件
  • 视频中转(具有缓冲区)
  • 异步下载视频
  • 流媒体转发
  • 生成EPG节目单 每日实时更新
  • 分布式处理ts片段
  • Redis缓存参数
  • MySql或PostgreSql缓存视频
  • 正向代理请求
  • 自定义增加节目频道
  • 自定义电视台标
  • 清晰度可自定义
  • 反向代理或套CDN请求(负载均衡)

REST API 接口指南

https://stream.naihe.cf/docs

实现效果:

ios软件观看效果

原理介绍

如下图所示:

文字详解

图中多台服务器是一种理想情况下实现,实际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)

使用方式

Mysql操作

创建数据库
CREATE DATABASE media
创建video表
create table media.video(
    vname varchar(30) not null,
    CONSTRAINT video_pk PRIMARY KEY (vname),
    vcontent  MEDIUMBLOB NOT NULL,
    vsize varchar(20) NULL,
    ctime  timestamp(0) default now()
);
CIL执行,设置定时事件
SET GLOBAL event_scheduler = ON;

use video;

DROP event IF EXISTS auto_delete;
CREATE EVENT auto_delete
ON SCHEDULE EVERY 30 minute     # xx分钟根据数据库的存储和查询性能综合决定
DO
TRUNCATE video;

python部署:

git clone https://github.com/239144498/Streaming-Media-Server-Pro.git
安装依赖
pip install -r requirements.txt
运行
python3 main.py

更多教程详情 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 历史频道
  • HISTORY 2 频道
  • 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.

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

streaming-media-server-pro's People

Contributors

239144498 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.