【IPFS应用开发】基于IPFS的视频播放器

本系列文章是针对 https://blog.csdn.net/weixin_43668031/article/details/83962959 内容的实现所编写的。开发经历包括思考过程、重构和推翻重来。

基于IPFS的视频播放器

    • 想写一个真正的、基于IPFS的,可以播放IPFS上的视频的程序
    • 支持多种数据加载格式
    • 同时支持单文件和切片播放
    • 发布
    • 演示

想写一个真正的、基于IPFS的,可以播放IPFS上的视频的程序

实际上,目前互联网上尚未出现广泛使用的基于IPFS(InterPlanetary File System)的视频播放器。尽管IPFS技术因其去中心化、分布式存储的特性而备受关注,但在视频播放领域的应用仍相对有限。鉴于这一现状,想要创作一个基于IPFS的视频播放器的想法非常具有创新性和前瞻性。

通过开发这样的播放器,您将能够为用户提供一种全新的视频观看体验,同时推动IPFS技术在媒体和娱乐领域的应用。这将是一个充满挑战但同样充满机遇的项目,使用xgplayer和video.js作为基底,这样方便改造。
ipfs player就孕育而生了 https://github.com/ipfs-app/ipfs-player

支持多种数据加载格式

目前支持3种数据加载方式

内建files.json的方式:
在这里插入图片描述
浏览器路径中指定files.json的hash:
在这里插入图片描述
浏览器路径中指定files.json的路径:
在这里插入图片描述

同时支持单文件和切片播放

单个文件,例如mp4播放:
在这里插入图片描述
使用ts切片时,url将指向m3u8
在这里插入图片描述
在这里插入图片描述

发布

目前发布与github ,https://github.com/ipfs-app/ipfs-player 截止此稿前 版本已经迭代到0.3.2版本了,还原试用

演示

Demo1(内建式files.json,播放单个mp4): /ipfs/bafybeibwh5xkfbsndltam66jc5srfpuscwxtxhych2qtnwqnrfj7mxacqa
Demo2(加载外部files.json hash,播放m3u8) /ipfs/bafkreiaaqgt3iqszfg22qgalatm3vxxiappw4tfh5ujeoes4i7gjk7w4ge
Demo3(video.js播放器,内建式files.json,播放单个mp4) /ipfs/bafybeiarkzootyfqxay2ojyyouqkrwflna6oqdujatuhhrw6vmyeoffy7i

更多演示视频:ipfs-video.dlimba.top

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7某天的samba服务搭建操作记录(还没成功)

#CentOS7 yum软件仓库阿里云 samba服务器配置失败 sensors成功了 (花了200元组装H61测试机,75元的主板只有一块能用,垃圾板但又不完全能用) 2024.5月的某天记录如下: https://blog.csdn.net/dszgf5717/article/details/53732182 …

一篇文章讲透数据结构之树

一.树 1.1树的定义 树是一种非线性的数据结构,它是有n个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根在上,叶在下的。 在树中有一个特殊的结点,称为根结点,根结点…

Humanoid Whole-body Control

系列文章目录 前言 我们拟举办的研讨会旨在为生物力学和机器人学这两个学科架起一座桥梁,尤其侧重于人体运动分析和仿人机器人的全身控制。将人体运动转化为仿人机器人是一个新兴的跨学科领域。在过去二十年里,传统的双足行走步态生成和基于动态模型优化…

VSCode插件Data Previewer

此插件支持直接在vscode 里对csv,xlsx等数据做可视化、统计探索 1. 安装 2. 使用效果 2.1. yaml文件 2.2. xml文件 2.3. csv文件 可以对文件进行各种分析,如此多的选项 散点图 线图 参考文献 GitHub - RandomFractals/vscode-data-preview: Data Pre…

通过DLL方式链接glfw3.dll

主要是CMakeLists.txt文件变化 cmake_minimum_required(VERSION 3.10) project(glfwTest) set(CMAKE_CXX_STANDARD 11) aux_source_directory(. SRC_SOURCES) set(GLFW_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) set(GLFW_LIBRARY_DIR ${CMAKE_SOURCE_DIR}/lib/glfw) add_ex…

关于Maven环境变量配置的报错The JAVA_HOME environment variable is not defined correctly的解决

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

40号渐变灰色背景证件照要求,手机拍照轻松拍干部照片

灰色渐变背景的证件照是一种常见的照片类型,在干部档案、事业单位工作人员信息采集、履历及升迁公示等阶段会用到,按照规范需要使用40号渐变灰色背景。很多朋友不清楚40号灰色是哪种灰色,以及照片的尺寸要求,下面就重点介绍40号渐…

安装conda虚拟环境错误集合

1.AttributeError: module colorama has no attribute init 在网上搜了一下,有好多答案,但不对; 解决方案 重新下载colorama包替换conda包环境中对应的文件夹,然后重新启动miniconda,搞定; 不定期更新 &a…

C++编程:模板初阶

目录 一、泛型编程 1、通用版交换函数的实现: 2、模板的引入 二、函数模板 1、函数模板的定义和使用 2、函数模板的实例化 三、类模板 1、类模板的定义和实例化 模板是C的一项强大特性,犹如中国古代四大发明中的活字印刷术与造纸术融为一体一般&a…

linux 利用 ~$() 构造数字

2024.6.1 题目 <?php //flag in 12.php error_reporting(0); if(isset($_GET[x])){$x $_GET[x];if(!preg_match("/[a-z0-9;|#\"%&\x09\x0a><.,?*\-\\[\]]/i", $x)){system("cat ".$x.".php");} }else{highlight_file(__F…

牛客网刷题 | BC103 金字塔图案

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi学习了循环&am…

AI发展的探索与未来展望

随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;技术已经成为当今社会最热门的话题之一。从简单的自动化任务到复杂的决策支持系统&#xff0c;AI技术正以前所未有的速度改变着我们的世界。本文将深入探讨AI技术的发展历程、当前应用、面临的挑战以及未来的…

C++:细谈Sleep和_sleep

ZINCFFO的提醒 还记得上上上上上上上上上上上上上上上上上上&#xff08;上的个数是真实的&#xff09;篇文章吗&#xff1f; 随机应变——Sleep()和_sleep() 但在ZINCFFO的C怪谈-02中&#xff1a; 我不喜欢Sleep...... 奤&#xff1f;媜煞鷥&#xff01; 整活&#xff01;…

Java的JDK环境变量配置(Windows)

只写了需要配置的环境变量 注&#xff1a;从JDK1.5开始&#xff0c;配置Java环境变量时&#xff0c;不再需要配置CLASSPATH&#xff0c;只需要配置JAVA_HOME和Path 1、配置JAVA_HOME 找到自己的JDK位置&#xff0c;我这里是 C:\dev\java\jdk-17.0.119在环境变量-系统变量中&…

电商商城管理系统

前言&#x1f440;~ 将近一个月没更新了&#xff0c;最近忙着学校的大作业&#xff0c;一个是微信小程序的、一个是互联网编程的&#xff0c;也是忙完了这个大作业&#xff0c;这个大作业前端使用了vue、后端使用了java&#xff0c;接下来展示一些效果图&#xff0c;如果有需要…

计算机组成考试测试题

1.下列陈述中正确的是 ( ) 。 A.在DMA周期内&#xff0c;CPU不能执行程序 B.中断发生时&#xff0c;CPU首先执行入栈指令将程序计数器内容保护起来 C.DMA传送方式中,DMA控制器每传送一个数据就窃取一个指令周期 D.输入输出操作的最终目的是要实现 CPU与外设之间的数据传输 res…

负数二进制转成十进制

如果a ’1‘*32&#xff0c;由于a的第0位是’1‘&#xff0c;那么a为负数 转成十进制的负数分成三步&#xff1a; 1.num int&#xff08;a,2) -1 2.num num^0xffffffff ,其中有八个f 3.num -num a 11111111111111111111111111111111 num int(a,2)-1 num num^0xfffffff…

深度学习复盘与论文复现A

文章目录 一、查漏补缺复盘1、python中zip()用法2、Tensor和tensor的区别3、计算图中的迭代取数4、nn.Modlue及nn.Linear 源码理解5、知识杂项思考列表6、KL散度初步理解 二、处理多维特征的输入1、逻辑回归模型流程2、Mini-Batch (N samples) 三、加载数据集1、Python 魔法方法…

javascript读取本地目录

在JavaScript中&#xff0c;直接读取本地目录的能力受到浏览器安全限制&#xff0c;因为出于隐私和安全考虑&#xff0c;浏览器的JavaScript环境通常不允许直接访问用户的文件系统。然而&#xff0c;随着Web技术的发展&#xff0c;一些现代浏览器引入了File System API或Web Fi…

TPL0401B使用教程

1.前言 前面做程控放大器的时候&#xff0c;有除开AD602&#xff0c;还有一个AD620&#xff0c;性能更好&#xff0c;不过是通过外部电阻来控制放大倍数的&#xff0c;不过要是接滑动变阻器就太不优雅了&#xff0c;而且单片机怎么控制滑动变阻器&#xff1f;&#xff08;难不…