## 简介
peertube 是一款开源的去中心化视频分享平台,你可以用peertube创建属于自己的实例,相较于传统的视频平台,peertube最大的优点就是采用webtorrent技术,网站管理员可以打开P2P功能,当多人观看同一个视频时,系统根据视频文件生成的种子就会在用户的设备浏览器上自动做种,在大量用户观看同一个视频时可以极大的减少服务器的带宽压力,同时用户的使用体验也能得到一定的提升。
本次教程采用的是腾讯云轻量服务器2C4G8M免费升配之后的4C4G8M轻量服务器,到月底之前都可以。
可以直接控制台对实例进行升级操作就行
## 准备
源码:[PeerTube](https://github.com/Chocobozzz/PeerTube)
设备:腾讯云轻量服务器4C4G8M
最低需求:2C1G
PS:PeerTube不需要太高的配置,但是比较吃带宽和存储。我这边选择腾讯云轻量的原因之一就是有个云硬盘的活动,1TB存储3年只要60不到。[腾讯云新春硬盘](https://curl.qcloud.com/BWeObZgj)
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_e8IhqvMSAd.png)
### 挂载云硬盘
进入轻量服务器控制台,挂载云硬盘
![](https://npm.elemecdn.com/2demo@0.0.3/msedge_CcwLiCIpQC.png)
然后格式化云硬盘
`sudo mkfs -t ext4 /dev/vdb`
创建一个挂载点
我这以/data为例,如果你只用于peertube可以挂载到你的网站根目录
`sudo mount /dev/vdb /data`
查看挂载结果可以使用
`sudo df -TH`
## docker安装
### 设置代理
因为采用的是国内的服务器,所以先设置一下GitHub的代理设置,我是用腾讯云香港服务器搭建的**tinyproxy**,简单易用。自行修改HTTP代理地址
GitHub设置proxy
```http
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
git config --global --unset http.proxy
git config --global --unset https.proxy
```
### 安装docker、docker-compose
```bash
curl -sSL https://get.daocloud.io/docker | sh
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
```
运行docker
`systemctl start docker`
假设我的域名是peertube.2demo.top
我的网站根目录为/www/wwwroot/peertube
### 获取配置文件
```bash
cd /www/wwwroot/peertube
curl https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env > .env
```
### 修改配置文件
选择适合你自己的文本编辑器对.env文件进行修改(我这用的是nano)
```bash
POSTGRES_PASSWORD= #postgresql 用户密码
PEERTUBE_DB_PASSWORD= #数据库密码
PEERTUBE_WEBSERVER_HOSTNAME= #网站域名如peertube.2demo.top
如果有邮件需求可以修改SMTP配置
PEERTUBE_SMTP_HOSTNAME=postfix
PEERTUBE_SMTP_PORT=25
PEERTUBE_SMTP_FROM=noreply@<MY DOMAIN>
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
PEERTUBE_ADMIN_EMAIL= #管理员邮箱必须有,密码在初次启动时会自动创建
```
### webserver
```bash
#配置NGINX
mkdir -p docker-volume/nginx
curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/nginx/peertube > docker-volume/nginx/peertube
#配置ssl证书
mkdir -p docker-volume/certbot
docker run -it --rm --name certbot -p 80:80 -v "$(pwd)/docker-volume/certbot/conf:/etc/letsencrypt" certbot/certbot certonly --standalone
```
### 初始启动
`docker-compose up`
启动完之后等一会,然后访问网站,能访问成功就可以退出了。
#### 获取管理员账号密码
```bash
docker-compose logs peertube | grep -A1 root
peertube_1 | [example.com:443] 2019-11-16 04:26:06.082 info: Username: root
peertube_1 | [example.com:443] 2019-11-16 04:26:06.083 info: User password: abcdefghijklmnop
```
管理员账号是前面设置的`PEERTUBE_ADMIN_EMAIL`邮箱,密码就是上面的`User password:`
## 配置
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_WPb1tFchWo.png)
### 网站信息
网站信息可以在管理页面中的**配置**--**信息**中进行修改,支持markdown格式
![网站信息](https://npm.elemecdn.com/2demo@0.0.3/chrome_DNC3ilwehh.png)
### 转码
HLS具有天然的p2p优势,所以我们可以选择利用ffmpeg对上传的视频进行切片。
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_vb3n6MMnsC.png)
我选择的分辨率是480P,720P,1080P。
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_dqFddbhanq.png)
转码线程数选择的是自动,可以最大化利用服务器性能,但是有可能会对网页的稳定性造成一定的影响。
### 直播串流
我安装的是4.x版本,支持直播串流了,不过需要后台打开设置才行。
![直播串流](https://npm.elemecdn.com/2demo@0.0.3/chrome_tf2cTV3eJS.png)
### 自定义修改
你可以在**配置——高级**中的自定义项对实例进行微调。
可以客制化CSS以及JS
### 联邦
你可以在**配置——联邦**中关注其他peertube实例或者是频道,当你关注之你的网站也可以显示其他实例的视频。(需要被关注实例同意)
## 使用界面
### 用户页面
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_CpCrXQDqjK.png)
### 上传界面
![上传界面](https://npm.elemecdn.com/2demo@0.0.3/chrome_O3Q39DctuI.png)
上传视频可以修改标题,标签,频道,类别,许可,语言,是否公开,是否含有敏感内容,是否转码。
需要注意的是必须等视频上传完毕之后才能发布,中途不能中断否则就要重新上传并撰写发布信息。
### 播放页面
只有同一个视频同一个分辨率才能进行p2p分享。
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_lQI0yTqQh9.jpg)
想要下载视频可以视频上右键,点击复制磁力链接然后用bt软件进行下载(webtorrent模式),
你也可以选择分享实例上的视频,可以通过iframe放到其它网站上。自定义配置也够丰富
![](https://npm.elemecdn.com/2demo@0.0.3/chrome_Qy8ymiqZcY.png)
PS:如果你的视频网站需要商业运用或者是UCG模式,请使用海外服务器,或者获取相关牌照以及解决版权问题。本教程不提供源码以及其他技术指导。文章来源:https://www.toymoban.com/news/detail-405632.html
全文链接:快速搭建去中心化视频分享平台peertube - 爱示范搭建一个p2p在线视频分享平台peertube 支持hls,webtorrent,直播串流,视频转码,https://2demo.top/345.html文章来源地址https://www.toymoban.com/news/detail-405632.html
到了这里,关于快速搭建去中心化视频分享平台peertube的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!