mirror of
https://github.com/okxlin/appstore.git
synced 2026-02-22 10:57:39 +08:00
feat:添加streaming-media-server-pro到列表
This commit is contained in:
parent
bd256e4b2c
commit
46d209590d
@ -12,7 +12,7 @@ additionalProperties:
|
||||
shortDescZh: 一个开源、自托管书签和链接共享平台
|
||||
shortDescEn: An open source, self-hosted bookmarks and link sharing platform
|
||||
type: tool
|
||||
crossVersionUpdate: false
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://demo.slash.yourselfhosted.com/
|
||||
|
||||
2
apps/streaming-media-server-pro/2023-01-03/.env.sample
Normal file
2
apps/streaming-media-server-pro/2023-01-03/.env.sample
Normal file
@ -0,0 +1,2 @@
|
||||
CONTAINER_NAME="streaming-media-server-pro"
|
||||
PANEL_APP_PORT_HTTP="40115"
|
||||
10
apps/streaming-media-server-pro/2023-01-03/data.yml
Normal file
10
apps/streaming-media-server-pro/2023-01-03/data.yml
Normal file
@ -0,0 +1,10 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40115
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
@ -0,0 +1,35 @@
|
||||
# Config配置教程链接
|
||||
# Configuration tutorial view link: https://www.cnblogs.com/1314h/p/16651157.html
|
||||
[default]
|
||||
# mysql:视频缓存到mysql,否则缓存到本地
|
||||
defaultdb =
|
||||
# local:本地多线程下载 online:远程分布式下载
|
||||
downchoose = local
|
||||
port = 8080
|
||||
localhost =
|
||||
vbuffer = 3
|
||||
downurls = ["%(localhost)s/url3?url="]
|
||||
|
||||
[advanced]
|
||||
host1 = https://4gtvfreepc-cds.cdn.hinet.net
|
||||
host2 = https://4gtvfree-cds.cdn.hinet.net
|
||||
tvglogo = fsHEAD_FRAME
|
||||
proxies =
|
||||
debug = False
|
||||
|
||||
[mysql]
|
||||
host = 127.0.0.1
|
||||
user = root
|
||||
password = 123456789
|
||||
port = 3306
|
||||
database = media
|
||||
|
||||
[redis]
|
||||
host = 127.0.0.1
|
||||
port = 6379
|
||||
password = 123456789
|
||||
|
||||
[other]
|
||||
xmlowner =
|
||||
xmlrepo =
|
||||
xmlaccess_token =
|
||||
@ -0,0 +1,18 @@
|
||||
version: '3'
|
||||
services:
|
||||
streaming-media-server-pro:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:8080"
|
||||
volumes:
|
||||
- ./data/assets:/code/app/assets
|
||||
image: 239144498/streaming:2023-01-03
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
180
apps/streaming-media-server-pro/README.md
Normal file
180
apps/streaming-media-server-pro/README.md
Normal file
@ -0,0 +1,180 @@
|
||||
<div align="center">
|
||||
|
||||
[Streaming-Media-Server-Pro](https://github.com/239144498/Streaming-Media-Server-Pro)
|
||||
-------------
|
||||
[](https://github.com/239144498/Streaming-Media-Server-Pro/actions/workflows/docker-image.yml)
|
||||
[](https://app.netlify.com/sites/nowtv/deploys)
|
||||
[](https://www.python.org/downloads/release/python-380/)
|
||||
[](https://hub.docker.com/r/239144498/streaming)
|
||||
[](https://github.com/239144498/Streaming-Media-Server-Pro/stargazers)
|
||||
[](https://github.com/239144498/Streaming-Media-Server-Pro/blob/main/LICENSE)
|
||||
|
||||
Documentation: [English version](https://github.com/239144498/Streaming-Media-Server-Pro/blob/main/README_EN.md) | 中文版
|
||||
|
||||
</div>
|
||||
|
||||
[更新日志](https://github.com/239144498/Streaming-Media-Server-Pro/wiki/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97)
|
||||
---
|
||||
|
||||
- 我创建了`IPTV频道`群组,可供交流、测试、反馈, **加入可直接访问 [https://t.me/+QmBC4d4jtgo2M2M9](https://t.me/+QmBC4d4jtgo2M2M9) ,或者扫码加入:**
|
||||
|
||||
<a href="https://t.me/+QmBC4d4jtgo2M2M9"><img src="https://ik.imagekit.io/naihe/github/img.png" alt="stream.png" border="0" width="220px" height="220px" /></a>
|
||||
|
||||
|
||||
|
||||
目录
|
||||
-------------------
|
||||
- [Streaming-Media-Server-Pro](#streaming-media-server-pro)
|
||||
- [更新日志](#更新日志)
|
||||
- [目录](#目录)
|
||||
- [项目树形图](#项目树形图)
|
||||
- [核心功能](#核心功能)
|
||||
- [程序接口指南](#程序接口指南)
|
||||
- [播放效果](#播放效果)
|
||||
- [原理介绍](#原理介绍)
|
||||
- [文字详解](#文字详解)
|
||||
- [使用方式](#使用方式)
|
||||
- [python部署:](#python部署)
|
||||
- [安装依赖](#安装依赖)
|
||||
- [运行](#运行)
|
||||
- [现已支持频道](#现已支持频道)
|
||||
- [License](#license)
|
||||
|
||||
项目树形图
|
||||
---
|
||||
|
||||
```
|
||||
.
|
||||
├── 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节目单](https://agit.ai/239144498/demo/raw/branch/master/4gtvchannel.xml) 每日实时更新
|
||||
- 分布式处理ts片
|
||||
- Redis缓存参数
|
||||
- MySql缓存数据
|
||||
- 正向代理请求
|
||||
- 自定义节目频道
|
||||
- 自定义电视台标
|
||||
- 自定义清晰度
|
||||
- 支持反向代理或使用CDN(负载均衡)
|
||||
|
||||
程序接口指南
|
||||
---
|
||||
[https://stream.naihe.cf/docs](https://stream.naihe.cf/docs)
|
||||
<img src="https://ik.imagekit.io/naihe/github/apilist.png" title="api列表"/>
|
||||
|
||||
播放效果
|
||||
---
|
||||
|
||||
<img src="https://ik.imagekit.io/naihe/github/1.png" title="播放效果" alt=""/>
|
||||
|
||||
<img height="600" src="https://ik.imagekit.io/naihe/github/4.png" title="节目单&频道表" alt=""/>
|
||||
|
||||
原理介绍
|
||||
---
|
||||
如下图所示:
|
||||
<img src="https://ik.imagekit.io/naihe/github/%E5%8E%9F%E7%90%86%E7%A4%BA%E6%84%8F%E5%9B%BE.jpg" title="原理图"/>
|
||||
|
||||
文字详解
|
||||
---
|
||||
图中多台服务器是一种理想情况下实现,实际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。
|
||||
|
||||
|
||||
> 根据以下通用命令部署本项目
|
||||
### python部署:
|
||||
python版本>=3.8+
|
||||
``` code
|
||||
git clone https://github.com/239144498/Streaming-Media-Server-Pro.git
|
||||
```
|
||||
### 安装依赖
|
||||
``` code
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
### 运行
|
||||
``` code
|
||||
python3 main.py
|
||||
```
|
||||
|
||||
**(docker部署)更多使用教程详情 https://www.cnblogs.com/1314h/p/16651157.html**
|
||||
|
||||
现已支持频道
|
||||
---
|
||||
- [x] 在diychannel.txt文件添加自定义频道
|
||||
|
||||
License
|
||||
---
|
||||
[GNU-3.0 © naihe](https://github.com/239144498/Streaming-Media-Server-Pro/blob/main/LICENSE)
|
||||
|
||||
20
apps/streaming-media-server-pro/data.yml
Normal file
20
apps/streaming-media-server-pro/data.yml
Normal file
@ -0,0 +1,20 @@
|
||||
name: Streaming-Media-Server-Pro
|
||||
tags:
|
||||
- 工具
|
||||
title: 一个强大的IPTV源后端服务,具有视频缓冲区功能
|
||||
type: 工具
|
||||
description: 一个强大的IPTV源后端服务,具有视频缓冲区功能
|
||||
additionalProperties:
|
||||
key: streaming-media-server-pro
|
||||
name: Streaming-Media-Server-Pro
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 一个强大的IPTV源后端服务,具有视频缓冲区功能
|
||||
shortDescEn: A powerful IPTV source backend service with video buffer function
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/239144498/Streaming-Media-Server-Pro
|
||||
github: https://github.com/239144498/Streaming-Media-Server-Pro
|
||||
document: https://github.com/239144498/Streaming-Media-Server-Pro
|
||||
2
apps/streaming-media-server-pro/latest/.env.sample
Normal file
2
apps/streaming-media-server-pro/latest/.env.sample
Normal file
@ -0,0 +1,2 @@
|
||||
CONTAINER_NAME="streaming-media-server-pro"
|
||||
PANEL_APP_PORT_HTTP="40115"
|
||||
10
apps/streaming-media-server-pro/latest/data.yml
Normal file
10
apps/streaming-media-server-pro/latest/data.yml
Normal file
@ -0,0 +1,10 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40115
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
@ -0,0 +1,35 @@
|
||||
# Config配置教程链接
|
||||
# Configuration tutorial view link: https://www.cnblogs.com/1314h/p/16651157.html
|
||||
[default]
|
||||
# mysql:视频缓存到mysql,否则缓存到本地
|
||||
defaultdb =
|
||||
# local:本地多线程下载 online:远程分布式下载
|
||||
downchoose = local
|
||||
port = 8080
|
||||
localhost =
|
||||
vbuffer = 3
|
||||
downurls = ["%(localhost)s/url3?url="]
|
||||
|
||||
[advanced]
|
||||
host1 = https://4gtvfreepc-cds.cdn.hinet.net
|
||||
host2 = https://4gtvfree-cds.cdn.hinet.net
|
||||
tvglogo = fsHEAD_FRAME
|
||||
proxies =
|
||||
debug = False
|
||||
|
||||
[mysql]
|
||||
host = 127.0.0.1
|
||||
user = root
|
||||
password = 123456789
|
||||
port = 3306
|
||||
database = media
|
||||
|
||||
[redis]
|
||||
host = 127.0.0.1
|
||||
port = 6379
|
||||
password = 123456789
|
||||
|
||||
[other]
|
||||
xmlowner =
|
||||
xmlrepo =
|
||||
xmlaccess_token =
|
||||
18
apps/streaming-media-server-pro/latest/docker-compose.yml
Normal file
18
apps/streaming-media-server-pro/latest/docker-compose.yml
Normal file
@ -0,0 +1,18 @@
|
||||
version: '3'
|
||||
services:
|
||||
streaming-media-server-pro:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:8080"
|
||||
volumes:
|
||||
- ./data/assets:/code/app/assets
|
||||
image: 239144498/streaming:latest
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
BIN
apps/streaming-media-server-pro/logo.png
Normal file
BIN
apps/streaming-media-server-pro/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
Loading…
Reference in New Issue
Block a user