开源IPTV源服务程序使用教程
Streaming-Media-Server-Pro
前言
我的目标是将程序打造成属于每个人的直播源服务,且对每个人完全开源免费!可作为家庭影院电视、视频等流媒体的提供商,兼容全平台,只需下载视频播放器调用接口链接即可享用,不多说开始喽。
部署教程
免费体验接口:http://stream.naihe.cf/program.m3u
大家使用接口体验即可,不要造成服务器太大流量压力,影响其他人的体验感受,谢谢配合。
该教程是我呕心沥血写成,使用教程包括程序部署和每个接口使用说明等,尽量保证每个人都会使用,部署总结概括需要做到以下及几点:
- 安装python(必装)
- 安装PostgreSql或者MySQL数据库(推荐安装)
- 安装Redis数据库(可选安装)
- 一定的耐心(看完下面详细的教程)
先说明我的配置
服务器1:1G内存+10G存储,mysql数据库
服务器2:redis数据库 200M,托管在服务商中
分布式下载5台,托管在服务商中
下载 ts + 上传数据库 ~ 1s时间
以上仅供参考,实际1台服务器即可使程序正常运行。
服务器位置最好在香港、日本等物理距离近的地方,尽量不要选择国内主机,否则网络请求被墙,本地搭建要后台挂梯子工具
第一步
安装Mysql(建议选择安装)
要求版本5.1.6及以上
部署教程自行百度,如果不安装将使用不了视频缓冲区功能(online.m3u8接口将失效),不安装就跳到第二步
开启mysql后看下面
执行以下sql命令,不会就百度
创建数据库
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()
);
设置定时删除事件
SET GLOBAL event_scheduler = ON; # 开启事件调度器
use media;
DROP event IF EXISTS auto_delete;
CREATE EVENT auto_delete
ON SCHEDULE EVERY 30 minute # xx分钟根据数据库的存储和查询性能综合决定
DO
TRUNCATE video;
在config.ini配置文件中替换你的ip、port等参数
第二步
安装Redis(可选安装)
部署教程自行百度,该数据库用于缓存参数,以及方便多服务器共享数据,帮助重启服务数据不丢失。
我在程序中专门设置了内存缓存参数,所以也可以不安装,但缺点重启服务数据丢失。
不安装就跳到第三步
开启Redis后看下面
在config.ini配置文件中替换你的ip、port等参数
第三步
config.ini文件配置(重要必选)
config.ini在程序路径.app/assets/config.ini
根据安装数据库实际情况配置参数,例如MySQL,在config.ini更改为你的参数即可,PostgreSql数据库类似填写,不懂就不填。
[default]
# defaultdb 选择参数:mysql | postgresql | 留空则不连接数据库
defaultdb =
[mysql]
# 将下列5行改为你的参数
host = 192.168.1.x # ip地址
user = root # 用户名
password = 123456789 # 密码
port = 3306 # 端口
database = media # 数据库名
设置外网访问:你的ip+端口 或者 域名 + 端口
# 你的外网映射端口号,默认8080
port = 8080
# 修改192.168.1.x为你的ip或域名
localhost = http://192.168.1.x:%(port)s
视频下载选项,部署了分布式下载选online,否则选local,该前提是已安装数据库
# downchoose参数:local | online
downchoose = local
部署分布式代码下载,你需要点击跳转部署(前提:需要在线托管服务,或者主机)
免费下载code托管:
pythonanywhere:https://www.pythonanywhere.com
heroku:https://www.heroku.com
免费redis:https://console.upstash.com
设置视频缓冲区,安装了数据库看这里
# 视频缓冲区大小,local推荐2-3,online推荐4-5
# 实际根据网络带宽和计算机性能决定
vbuffer = 3
# 分布式视频下载器
# local示例["https://"+localhost+"/url3?url=", ...]
# online示例["https://www.example1.com/url3?url=", ...]
# 有多个分布式下载链接使用方法如下,否则参数不要改
downurls = ["%{localhost}s/url3?url=",
"https://www.example1.com/url3?url=",
"https://www.example2.com/url3?url=",...]
可选项
程序默认使用我提供的EPG节目单(每日会自动更新),如果你需要创建该脚本,需要在config.ini配置文件提供xmlowner、xmlrepo、xmlaccess_token这三个参数。
# 存放节目单厂库
xmlowner = 用户名
xmlrepo = 仓库名
xmlaccess_token = token
第四步
安装Python(必选)
安装教程自行百度,该项是程序的核心支撑服务,一定要安装
安装Python后看下面,使用docker部署点这里
命令终端执行
git clone https://github.com/239144498/Streaming-Media-Server-Pro.git
安装python环境依赖
pip install -r requirements.txt
额外功能
该程序支持自定义源,如果你有自己的源,可以添加到该程序中,在app/assets/diyepg.txt文件中添加你的频道,如下图:

让程序跑起来
python main.py
用Docker怎么运行?
正在写教程,敬请关注。
完整配置信息
# 根据前面步骤要求修改
# 先看教程,不懂就不要乱改参数,后果将导致程序运行出错!
[default]
# defaultdb 可选参数:mysql | postgresql | 不连接数据库则留空
defaultdb =
# downchoose 可选参数:local | online
downchoose = local
# 你的外网映射端口号,默认8080
port = 8080
# 修改192.168.1.x为你的ip或域名
localhost = http://192.168.1.211:%(port)s
# vbuffer视频缓冲区大小,local推荐2-3,online推荐4-5,实际根据带宽和计算机性能决定
vbuffer = 3
# 以下3个参数不懂就不要动
downurls = ["%(localhost)s/url3?url="]
host1 = 4gtvfreepc-cds.cdn.hinet.net
host2 = 4gtvfree-cds.cdn.hinet.net
[mysql]
host = 192.x.91.34
user = root
password = 123456789
port = 3306
database = media
[postgresql]
host = 192.x.91.34
user = root
password = 123456789
port = 5432
database = media
[redis]
host = 192.x.91.34
port = 6379
password = 123456789
[other]
# 存放节目单厂库
xmlowner =
xmlrepo =
xmlaccess_token =
# 接口限制指定ip才能用,默认使用我提供的接口
接口使用教程
正在写教程,敬请关注。
开源IPTV源服务程序使用教程的更多相关文章
- Creator开源游戏、插件、教程、视频汇总
Creator开源游戏.插件.教程.视频汇总 来源 http://forum.cocos.com/t/creator/44782 王哲首席客服 17-03-17 4 史上最全,没有之一. ...
- 给potplayer配置iptv源,看所有你想看的电视
目录 一.展示: 二.下载 三.播放 一.展示: 二.下载 Github 上的开源项目:iptv-org/iptv 传送门: https://github.com/iptv-org/iptv 该项目包 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- 开源库Magicodes.ECharts使用教程
目录 1 概要 2 2 Magicodes.ECharts工作原理 3 2.1 架构说明 3 2.1.1 Axis 4 2.1.2 CommonD ...
- GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]
Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手 粘贴时有一个版权问题 本文原 ...
- NetBSD是个开源到源码的系统
How to get NetBSD NetBSD is an Open Source operating system, and as such it is freely available for ...
- Android 开源项目源码解析(第二期)
Android 开源项目源码解析(第二期) 阅读目录 android-Ultra-Pull-To-Refresh 源码解析 DynamicLoadApk 源码解析 NineOldAnimations ...
- 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
分享一个百度智能手环开源项目的设计方案资料. 项目简介 百度云智能手环的开源方案是基于Apache2.0开源协议,开源内容包括硬件设计文档,原理图.ROM.通讯协议在内的全套方案,同时开放APP和云服 ...
- Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果 ...
随机推荐
- 搭建SVN服务器-腾讯云
检查服务器SVN服务器 svn --version 出现版本号说明已安装 安装SVN yum install subversion 创建版本库 svnadmin create /opt/svn/rep ...
- javascript写无缝平移的轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 一图读懂k8s informer client-go
概述 为什么要有k8s informer 我们都知道可以使用k8s的Clientset来获取所有的原生资源对象,那么怎么能持续的获取集群的所有资源对象,或监听集群的资源对象数据的变化呢?这里不需要轮询 ...
- tomcat JDK环境变量配置及tomcat多项目的配置
1.解压JDK tar xzf jdk-8u171-linux-i586.tar.gz -C /usr/local -->mv /usr/local/jdk1.8.0_171 /usr/loca ...
- raid划分及创建
RAID 的划分 RAID 0 - RAID 0是最早出现的,是数据分条技术.组建磁盘阵列中最简单的一种形式,可以提高整个磁盘的性能和吞吐量,利用率100%,缺点:一但磁盘损坏,raid0将失效,数据 ...
- Jenkins+Svn+Docker搭建持续集成环境 自动部署
一.准备工作: 两台服务器:192.168.206.212,192.168.206.213 自己新建一个maven项目 其中两台机子做下面的软件配置 212机子: 安装expect并配置: 安装jen ...
- 正在运行中的docker容器设置自动重启
# demo : 你的容器名称 docker update –-restart=always demo
- RASP | 远程Java应用的RASP调试教程
远程Java应用的RASP调试教程 介绍 Java RASP是基于Java Agent技术实现的,而Java Agent代码无法独立启动,必须依赖于一个Java运行时程序才能运行. 如何调试一个Jav ...
- Linux查看内网服务器的出口IP
查看内网服务器的出口IPcurl ifconfig.me [root@vpnserver ~]# curl ifconfig.me111.10.100.100 [root@vpnserver ~]#
- ubuntu20.04安装测试uhttpd
uhttpd是openwrt上运行一个高效小型Http服务,支持cgi, lua等特性.可以直接通过snap方式安装,如果是16.04,18.04或者20.04,snap已经默认安装了:如果是其它版本 ...