返回项目列表
PROJECT / 发布 2026-06-04 12:27 / 更新 2026-07-21 21:36

UGC 内容社区

已上线的个人 UGC 社区项目,围绕内容创作、审核分发、视频与直播消费,以及评论、关注、收藏、通知和私聊构建完整社区体验。

UGC内容社区视频直播实时互动
UGC 内容社区首页推荐页

项目简介

这是我持续开发并已经上线的个人 UGC 社区项目:https://ugc.flf.one/

项目最初从视频和文章内容社区开始,逐步补齐投稿审核、推荐分发、评论弹幕、关注收藏、通知私聊等能力,现在也已经加入直播。

普通用户可以从推荐页浏览文章、视频和直播,进入详情页继续观看或参与互动;创作者可以保存草稿、上传内容并提交审核,也可以开通直播间,通过 OBS 开播。

内容浏览与推荐

首页是内容消费的主要入口,集中展示文章和视频,也为正在直播的房间提供推荐入口。推荐内容会结合标签、作者、发布时间和互动热度组织,而不是简单按固定顺序展示。

UGC 内容社区首页推荐页

视频详情页包含视频播放、清晰度切换、弹幕、点赞与点踩、收藏、关注、播放数据和相关推荐。用户可以在观看过程中快速反馈,也可以通过关注和收藏把一次浏览沉淀为后续关系或个人内容资产。

UGC 内容社区视频播放与弹幕页面

评论区用于承载围绕内容的公开讨论,支持根评论、回复、分页展开、时间或热度排序,以及评论点赞、点踩和删除等常用交互。

UGC 内容社区评论互动区

直播体验

直播是项目在视频和社区互动基础上的进一步延伸。目前已经跑通从主播准备开播、OBS 推流、直播状态同步,到观众观看和实时互动的完整流程。

主播开通直播间后,可以设置本场直播的标题、封面、分区和公告,获取 OBS 推流地址与串流密钥。推流开始或结束后,直播状态会随媒体服务器回调更新;主播也可以在工作台查看当前场次、调整直播信息或主动下播。

观众进入直播间后可以观看实时画面、查看在线人数、发送公屏消息并参与礼物互动展示。直播间同时提供主播侧弹幕助手,方便主播在推流时单独查看进场和公屏消息。当前礼物能力主要用于互动效果和消息展示,不涉及充值、余额扣减或礼物订单体系。

播放侧会根据场景提供 WebRTC、HTTP-FLV 和 HLS 候选地址,在低延迟和播放兼容性之间进行适配。直播间的在线人数、近期弹幕和开播时间也会参与热度计算,让正在直播的内容能够进入社区推荐候选。

UGC 内容社区直播间与实时互动

创作与审核

项目不仅提供内容浏览,也覆盖了从创作到公开展示的主要流程:

  1. 创作者保存文章或视频草稿,并继续编辑内容信息。
  2. 视频支持分片上传、合并和上传记录,减少大文件上传失败带来的重复操作。
  3. 视频上传完成后进入转码和封面处理,生成适合播放的内容资源。
  4. 文章和视频提交后进入审核流程,审核通过才会进入公开内容和推荐候选。
  5. 审核驳回时保留原因,创作者可以修改后重新提交。

这条流程把“上传成功”和“内容正式发布”分开处理,避免未完成或未审核的内容直接出现在公开页面。

社区互动

围绕内容和用户关系,项目还实现了这些社区能力:

  • 关注关系:关注、取关、关注状态、关注列表、粉丝列表和互关关系。
  • 收藏夹:创建收藏夹、收藏内容、移动收藏条目和分页查看收藏内容。
  • 浏览历史:按内容类型查看、搜索、删除单条记录或清空历史。
  • 站内通知:接收点赞、收藏、评论和关注等互动提醒,并管理未读状态。
  • 全局搜索:搜索文章、视频、题目和用户,并按不同维度排序。
  • 标签建议:在投稿和内容筛选时提供标签补全,帮助内容分类和分发。

公开评论之外,项目也提供一对一私聊。用户可以查看会话和历史消息、发送文字或图片、处理已读未读状态,并通过实时连接接收新消息和在线状态变化。

UGC 内容社区一对一私聊页面

登录是创作和互动的身份基础。除了常规登录流程,项目还支持邮箱魔法链接:用户提交邮箱后通过邮件完成验证,验证成功即可继续登录或创建账号。

UGC 内容社区邮箱魔法链接登录

实现特点

  • 内容和直播共用用户关系与社区入口,文章、视频和直播不会形成彼此割裂的功能区。
  • 视频上传、对象存储、转码和封面处理按异步流程衔接,避免长耗时任务阻塞内容提交。
  • WebSocket 用于私聊和直播公屏等实时消息,普通查询与状态管理仍通过 HTTP 完成。
  • Redis 保存在线成员、近期消息和直播热度等高频运行状态,并为实时广播和推荐提供数据。
  • 直播使用 SRS 接收 OBS 推流,并向网页端提供多种播放协议,兼顾低延迟和浏览器兼容性。

这个项目对我来说并不是一次静态页面展示,而是一套持续迭代、实际部署并由自己使用的社区系统。现在已经覆盖内容创作、审核发布、推荐消费、视频互动、直播、用户关系和实时沟通等主要场景。