# VideoParser - 企业级视频解析工具 **Repository Path**: luckyblank/video-parse ## Basic Information - **Project Name**: VideoParser - 企业级视频解析工具 - **Description**: 基于 Java SpringBoot + Vue2 + Element UI + MySQL + Redis 构建的企业级视频解析网站,支持抖音、快手、B站、小红书、YouTube 等主流视频平台的无水印视频地址解析。同时支持全网视频搜索,目前已经集成第一影视网、飘花电影网的视频采集。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-11 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VideoParser - 企业级视频解析工具 基于 **Java SpringBoot + Vue2 + Element UI + MySQL + Redis** 构建的企业级视频解析网站,支持抖音、快手、B站、小红书、YouTube 等主流视频平台的无水印视频地址解析。同时支持全网视频搜索,目前已经集成**第一影视网、飘花电影网、星辰影院、小小影视、西瓜电影**等平台视频采集。 > **声明:本工具仅供学习交流使用,禁止商用,请勿解析侵权视频。** ## 功能特性 - **多平台解析**:支持抖音、快手、B站、小红书、YouTube(可配置白名单) - **无水印提取**:精准提取视频真实播放地址(mp4/m3u8) - **批量解析**:支持一次最多20条链接批量解析 - **视频采集&播放:**已经集成第一影视网、飘花电影网的视频采集 - **历史记录**:自动保存解析历史,支持查看和删除 - **后台管理**:解析日志、IP封禁/解封、平台配置、仪表盘监控 ## 技术栈 | 层级 | 技术选型 | |---|------------------------------------------| | 后端 | Java 17 + Spring Boot 2.7 + MyBatis-Plus | | 前端 | Vue 2.7 + Element UI 2.15 + ECharts 5 | | 存储 | MySQL 8.0 + Redis 7 | | 部署 | 本地部署 | | 安全 | JWT + BCrypt + 请求签名 + Redis限流 | ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 16+ - MySQL 8.0+ - Redis 7+ - 本地部署 ### 本地开发 **前置事项:** 1.`application.yml`中的代理端口改成自己的代理端口(访问Youtube、有些网站采集需要开启代理) ```yaml proxy: host: 127.0.0.1 port: 10808 ``` 2.`application-dev.yml`中的数据库、Redis账号密码改成自己的 ```yaml spring: datasource: username: root password: 123456 redis: host: localhost port: 6379 password: ``` --- **1. 启动 MySQL 和 Redis** ```bash # 执行数据库初始化脚本 mysql -u root -p < video-parse-backend/src/main/resources/db/video_parse.sql ``` **2. 启动后端** ```bash cd video-parse-backend mvn spring-boot:run ``` **3. 启动前端** ```bash cd video-parse-frontend npm install npm run serve ``` 访问 http://localhost:8081 即可使用。 服务说明: - 前端访问:http://localhost:8081 - 后端接口:http://localhost:8080 - 管理后台:http://localhost:8081/admin/login 默认管理员账号:`admin` / `admin123456` ## 项目结构 ``` video-parse/ ├── video-parse-backend/ # Spring Boot 后端 ├── video-parse-frontend/ # Vue2 前端 ``` ## 项目一览 #### 前台 | 在线解析 | 批量解析 | 全网搜 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | ![image-20260411214402679](https://qny.luckyblank.cn/image-20260411214402679.png) | ![image-20260411214508348](https://qny.luckyblank.cn/image-20260411214508348.png) | ![image-20260411214602952](https://qny.luckyblank.cn/image-20260411214602952.png) | #### 后台 | 仪表盘 | 解析日志 | 视频数据 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | ![image-20260411215336970](https://qny.luckyblank.cn/image-20260411215336970.png) | ![image-20260411215355846](https://qny.luckyblank.cn/image-20260411215355846.png) | ![image-20260411215424732](https://qny.luckyblank.cn/image-20260411215424732.png) | | 爬取配置 | IP管理 | 平台配置 | | ![image-20260411215436475](https://qny.luckyblank.cn/image-20260411215436475.png) | ![image-20260411215444418](https://qny.luckyblank.cn/image-20260411215444418.png) | ![image-20260411215453880](https://qny.luckyblank.cn/image-20260411215453880.png) | ## 扩展 ### 1、什么视频平台适合集成? 适合**页面地址有规律**(详情页->播放页->获取真实m3u8地址)、**页面ID数字型**(便于递增爬取) 示例: ```plai # 主网站 https://m.xigua01.com # 1、进入详情页 https://m.xigua01.com/voddetail/129871.html # 2、进入播放页。这里一般就能拿到m3u8的视频真实地址 https://m.xigua01.com/vodplay/129871-1-4.html ``` 规律: 详情页:`主网址` + `/voddetail/${页面ID}` + `.html` 播放页:`主网址` + `/vodplay/${页面ID}` +`渠道`+ `视频集数` + `.html` > 说明:129871-1-4,表示的是页面ID[129871]第[1]个渠道第[4]集,我一般就直接用的第一个渠道。 > > 最好是选择数字型页面ID,便于梯度爬取。比如:这里面的页面ID是`129871`每次抓取`100`条就可以在这个ID的基础上依次递增。 ### 2、集成skywalking 启动增加一下jvm参数。 > 请自行配置好skywalking的地址+javaagent 项目中采用的`skywalking-agent.jar`的版本`v9.5.0` 下载链接:https://archive.apache.org/dist/skywalking/java-agent/9.5.0/apache-skywalking-java-agent-9.5.0.tgz ```shell --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED -Dskywalking.plugin.toolkit.log.transmit_formatted_message=false -Dskywalking.agent.service_name=video-parse -Dskywalking.collector.backend_service=192.168.3.54:11800 -javaagent:D:/skywalking-agent/skywalking-agent.jar ``` ###