快速搭建去中心化视频分享平台peertube

这篇具有很好参考价值的文章主要介绍了快速搭建去中心化视频分享平台peertube。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

## 简介

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模式,请使用海外服务器,或者获取相关牌照以及解决版权问题。本教程不提供源码以及其他技术指导。

全文链接:快速搭建去中心化视频分享平台peertube - 爱示范搭建一个p2p在线视频分享平台peertube 支持hls,webtorrent,直播串流,视频转码,https://2demo.top/345.html文章来源地址https://www.toymoban.com/news/detail-405632.html

到了这里,关于快速搭建去中心化视频分享平台peertube的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索 Hyperledger Fabric: 去中心化的企业级区块链平台

    项目地址:https://gitcode.com/hyperledger/fabric Hyperledger Fabric 是一个由 Linux 基金会发起的开源项目,旨在构建企业级分布式账本和区块链解决方案。它提供了一种模块化的架构,允许用户根据特定需求定制身份验证、智能合约(链码)和数据隐私等关键功能。 模块化架构 Hyperledge

    2024年04月09日
    浏览(53)
  • 完全免费的基于区块链和 IPFS 的去中心化博客平台

    xLog是一个基于Crossbell区块链的博客解决方案,专注于Web3数据由用户掌控。Crossbell是一个基于Web3技术的去中心化博客平台,用户可以在该平台上发布文章并进行交流和创作。社区提供多种交流平台和有奖创作活动。 xLog是基于 Crossbell 区块链的一个应用产品。底层技术框架是

    2023年04月25日
    浏览(57)
  • 去中心化社交媒体:分析 Facebook 在区块链平台上的角色

    在当今数字时代,社交媒体已经成为人们日常生活中不可或缺的一部分。然而,随着人们对数据隐私和信息控制的关注不断增加,传统的中心化社交媒体平台也面临着越来越多的质疑和挑战。为了应对这些挑战,越来越多的人开始探索去中心化社交媒体平台,其中包括运用区

    2024年04月16日
    浏览(34)
  • 什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?

    图1 三类网络拓扑结构 所谓“中心化”和“去中心化”,最早是用来刻画网络拓扑结构的术语。1964年,美国兰德公司发布了一份关于分布式通信的报告,提出了三种网络结构(如图1)。其中,(a)类结构被称为“中心化星型网络”,(b)类结构被称为“去中心化网络”,(

    2024年02月11日
    浏览(39)
  • 中心化与去中心化的详细介绍

    **去中心化(decentralization)**是指在一个系统或组织中,权力、控制和决策权不是集中在单一的中心机构或个人手中,而是分散到多个节点或参与者中。相反,**中心化(centralization)**是指权力、控制和决策权集中在单一的中心机构或个人手中。以下是一些去中心化和中心化

    2024年02月05日
    浏览(37)
  • 中心化交易所和去中心化交易所优势分别在哪

    块链资产数字货币的特征:去中心化、无修改法式、分布式机制等。目前市场数字货币交易所涵盖中心化和去中心化两种。目前市场上交易所大部分为去中心化,区块链的精神理念就是去中心化,并且去中心化交易所安全系数不高,不安全。中心化交易所被盗的风险系数高,

    2024年02月16日
    浏览(47)
  • Multichain跨链无法到账,DApp真去中心化or伪去中心化?

    团队出问题,DApp就用不了,multichain被不少人质疑伪去中心化,甚至更有人开始质疑web3,那么这到底是怎么回事呢? 跨链桥问题让DApp的去中心化引发质疑 事情是这样的,5月24下午0xscope发推称与multichain有关的钱包地址将3.17M 的MULTI转入到gateio,而此前DC用户反馈自己的跨链资

    2024年02月08日
    浏览(56)
  • 【激励机制】一种去中心化和中心化的reputation的博弈论自洽激励

    先上一幅Swarm Learning 的架构图镇楼 我们希望实现 激励的可协调 ,也就是让每个节点可以可信地分享reputation的信息 我们引进 可转移支付 方案,让节点可信地共享reputation信息 我们还通过密码学的方法整合reputation信息 1.如果节点报告reputation信息,别人就会掌握有利的信息,

    2023年04月12日
    浏览(30)
  • Rollup去中心化

    前序博客有: Rollup Decentralization 所有Rollup项目的目标应为: 构建技术栈 将运营和治理去中心化,并交给社区 从而可实现去中心化世界。“去中心化”一词激发了一种开放、无许可的理念,以及一大批具有更快乐哲学的参与者。 大多数L1区块链系统都是从 Honest Majority 诚实的

    2024年02月08日
    浏览(42)
  • 去中心化模型

    文章目录 前言 一、去中心化是什么? 二、比特币如何实现去中心化 三、去中心化优点及意义 总结 比特币引用了一个去中心化的模型,这个模型有何意义? 在说“货币”时,我们讨论的是数字世界中的价值表示。而在互联网上的数字世界中,人们曾设计出各种各样的电子现

    2023年04月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包