这个项目能做什么
next-video 让 Next.js 应用能够导入视频文件,并通过 React Video 组件渲染。自动设置命令会安装包、创建 /videos 目录、更新 Next.js 配置和 .gitignore、添加 TypeScript 导入类型、配置基于监听的同步脚本,并可以准备 Mux 凭据和演示页面。手动设置使用 next.config 中的 withNextVideo、video.d.ts 类型引用,以及 next-video sync 命令。Turbopack 用户可以配置 @videos 路径别名。
视频源文件应保留在 Git 之外,而生成的 JSON 资产元数据文件则应提交。sync 命令上传并处理本地视频,可在开发期间监听新文件,并创建到远程资产的映射。也可以导入远程视频 URL;对于运行时提供的字符串 URL,该包为 App Router 和 Pages Router 都提供了可选的 /api/video 请求处理程序。该路由默认不进行身份验证,如果在生产环境中暴露,应加以保护。现有 Mux 资产可使用 next-video adopt 通过 playback ID 接入,支持交互或非交互模式。
Mux 是默认服务提供商,提供仓库外存储、CDN 分发、HLS 自适应、自动海报、时间轴悬停缩略图、流式格式支持、AI 生成字幕和视频分析。其他支持的提供商包括 Vercel Blob、Backblaze、Amazon S3 和 Cloudflare R2,它们具有不同的环境变量、配置选项和功能集;不具备视频处理能力的提供商需要 Web 兼容的 MP4 文件。
播放器层支持来自 player.style 的主题组件、仅播放器导入、轻量级背景视频组件、自定义 poster 和 blurDataURL 属性、类似 next/image 的插槽式 poster 元素,以及通过 as 属性实现完全自定义的播放器。资产元数据存储也可以自定义,方法是替换默认的 JSON 文件加载、保存和更新 hooks。
评论
0 评分人数达到10人后显示
登录后参与讨论。