# m3u8
**Repository Path**: mo3408/m3u8
## Basic Information
- **Project Name**: m3u8
- **Description**: 免费在线M3U8下载器 · M3U8转MP4 · 浏览器直接转换
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-03
- **Last Updated**: 2026-07-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: m3u8, 格式转换
## README
# 免费晚风棱镜M3U8下载器
[English](#english) | [中文](#中文) | [⭐ Star on Gitee](https://gitee.com/mo3408/m3u8)
---
演示:官网
## 🎬 M3U8 Downloader & Converter
A free, browser-based tool to download and convert M3U8/HLS video streams to MP4 and other formats. No server upload required - all processing happens locally in your browser using WebAssembly.
### ✨ Features
- **🆓 100% Free** - No registration, no hidden fees
- **🔒 Privacy First** - All processing done locally, nothing uploaded
- **⚡ Fast Conversion** - Powered by FFmpeg WebAssembly
- **📱 Cross-Platform** - Works on any modern browser
- **🌍 Bilingual** - Supports Chinese & English
### 📦 Supported Formats
| Output Format | Codec | Description |
|---------------|-------|-------------|
| **MP4** | H.264 + AAC | Best compatibility (recommended) |
| **WebM** | VP9 + Opus | Optimized for web |
| **AVI** | MPEG-4 | Legacy format |
| **MKV** | Copy | Fast, no re-encoding |
| **MOV** | H.264 + AAC | Apple device compatible |
### 🚀 Quick Start
```bash
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
```
### 🔧 Tech Stack
- **Vite** - Fast build tool
- **FFmpeg.wasm** - WebAssembly FFmpeg port
- **Vanilla JS** - No framework dependencies
- **CSS Variables** - Modern theming with dark mode support
### 📋 How It Works
1. **Load Engine** - First-time users load the FFmpeg WASM core (~31MB)
2. **Paste URL** - Enter your M3U8/HLS stream URL
3. **Select Format** - Choose output format and quality
4. **Convert** - Tool downloads segments and converts locally
5. **Download** - Save the converted video file
### ⚠️ Limitations
- **CORS Restrictions** - Some M3U8 URLs may not be accessible due to browser security policies
- **Memory Limits** - Large videos (>500MB) may cause browser memory issues
- **No DRM** - Cannot bypass DRM-protected streams
### 📚 Tutorials & Guides
| Article | Description |
|---------|-------------|
| [How to Download M3U8 Video](https://www.m3u8converter.com/blog/how-to-download-m3u8-video.html) | Complete tutorial for beginners |
| [M3U8 to MP4 Guide](https://www.m3u8converter.com/blog/m3u8-to-mp4-guide.html) | Compare different methods |
| [What is HLS Streaming?](https://www.m3u8converter.com/blog/what-is-hls-streaming.html) | Technical deep dive |
| [Merge TS Files to MP4](https://www.m3u8converter.com/blog/merge-ts-files-to-mp4.html) | 3 ways to merge segments |
| [Best M3U8 Downloaders 2026](https://www.m3u8converter.com/blog/best-m3u8-downloader-2026.html) | Tool comparison |
👉 [View all articles](https://www.m3u8converter.com/blog/)
### 📜 License
MIT License - Use freely for personal and educational purposes.
---
## 🎬 M3U8视频下载转换器
免费的纯浏览器端 M3U8/HLS 视频下载转换工具,支持转换为 MP4 等多种格式。无需上传服务器,所有处理在浏览器本地完成。
### ✨ 主要特性
- **🆓 完全免费** - 无需注册,无隐藏收费
- **🔒 隐私安全** - 本地处理,视频不上传
- **⚡ 快速转换** - FFmpeg WebAssembly 驱动
- **📱 跨平台** - 支持所有现代浏览器
- **🌍 双语支持** - 中文/英文界面
### 📦 支持格式
| 输出格式 | 编码 | 说明 |
|----------|------|------|
| **MP4** | H.264 + AAC | 兼容性最佳(推荐)|
| **WebM** | VP9 + Opus | 网页优化格式 |
| **AVI** | MPEG-4 | 传统格式 |
| **MKV** | 直接复制 | 快速,无需重编码 |
| **MOV** | H.264 + AAC | Apple 设备兼容 |
### 🚀 快速开始
```bash
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
```
### 🔧 技术栈
- **Vite** - 快速构建工具
- **FFmpeg.wasm** - FFmpeg 的 WebAssembly 移植版
- **原生 JS** - 无框架依赖
- **CSS 变量** - 现代主题系统,支持深色模式
### 📋 工作原理
1. **加载引擎** - 首次使用加载 FFmpeg WASM 核心 (~31MB)
2. **粘贴链接** - 输入 M3U8/HLS 视频流链接
3. **选择格式** - 选择输出格式和质量设置
4. **开始转换** - 工具自动下载分片并本地转换
5. **下载视频** - 保存转换后的视频文件
### ⚠️ 使用限制
- **CORS 限制** - 部分 M3U8 链接可能因浏览器安全策略无法访问
- **内存限制** - 大视频(>500MB)可能导致浏览器内存不足
- **无法破解 DRM** - 不支持受 DRM 保护的流媒体
### 📚 教程与指南
| 文章 | 说明 |
|------|------|
| [如何下载 M3U8 视频](https://m3u8.snowytime.cn/blog/how-to-download-m3u8-video.html) | 完整教程,新手入门 |
| [M3U8 转 MP4 指南](https://m3u8.snowytime.cn/blog/m3u8-to-mp4-guide.html) | 多种方法对比 |
| [什么是 HLS 流媒体?](https://m3u8.snowytime.cn/blog/what-is-hls-streaming.html) | 技术原理介绍 |
| [TS 文件合并为 MP4](https://m3u8.snowytime.cn/blog/merge-ts-files-to-mp4.html) | 3 种合并方法 |
| [2026 最佳 M3U8 下载器](https://m3u8.snowytime.cn/blog/best-m3u8-downloader-2026.html) | 工具对比评测 |
👉 [查看全部文章](https://m3u8.snowytime.cn/blog/)
### 🔑 SEO 关键词
**中文**: m3u8下载器, m3u8转mp4, m3u8视频下载, m3u8转换器, 在线m3u8下载, TS合并MP4, 直播回放下载, 网页视频下载
**English**: M3U8 downloader, M3U8 to MP4, M3U8 converter, HLS downloader, download M3U8 video, convert M3U8 to MP4 online, merge TS files to MP4
### 📜 许可证
MIT 许可证 - 可自由用于个人和教育目的。
---
## 📁 Project Structure
```
├── index.html # Main HTML with SEO meta tags & structured data
├── vite.config.js # Vite config with CORS headers
├── vercel.json # Vercel deployment config
├── package.json # Dependencies
├── public/
│ ├── favicon.svg # Site favicon
│ ├── og-image.png # Social sharing image (Open Graph)
│ ├── robots.txt # Search engine crawler rules
│ └── sitemap.xml # XML sitemap for SEO
├── blog/ # SEO blog articles
│ ├── index.html # Blog listing page
│ ├── how-to-download-m3u8-video.html
│ ├── m3u8-to-mp4-guide.html
│ ├── what-is-hls-streaming.html
│ ├── merge-ts-files-to-mp4.html
│ └── best-m3u8-downloader-2026.html
└── src/
├── main.js # App entry & UI logic
├── style.css # Modern business theme CSS
├── theme.js # Dark/light mode toggle
├── i18n.js # Internationalization (zh/en)
├── ffmpeg-handler.js # FFmpeg WASM wrapper
├── m3u8-parser.js # M3U8 playlist parser
└── downloader.js # Segment downloader
```
## 🚀 Vercel Deployment | Vercel 部署
### One-Click Deploy 一键部署
[](https://vercel.com/new/clone?repository-url=https://github.com/your-username/m3u8-converter)
### Manual Deployment 手动部署
#### Step 1: Create `vercel.json` 创建配置文件
Create a `vercel.json` file in your project root with the following content. This is **required** for FFmpeg.wasm to work because it needs `SharedArrayBuffer`, which requires specific HTTP headers:
在项目根目录创建 `vercel.json` 文件。这是 **必须的**,因为 FFmpeg.wasm 需要 `SharedArrayBuffer`,需要特定的 HTTP 响应头:
```json
{
"headers": [
{
"source": "/(.*)",
"headers": [
{
"key": "Cross-Origin-Opener-Policy",
"value": "same-origin"
},
{
"key": "Cross-Origin-Embedder-Policy",
"value": "require-corp"
}
]
}
]
}
```
#### Step 2: Build & Deploy 构建部署
```bash
# Build the project 构建项目
npm run build
# Install Vercel CLI (if not installed) 安装 Vercel CLI
npm i -g vercel
# Deploy to Vercel 部署到 Vercel
vercel
# Or deploy to production 或直接部署到生产环境
vercel --prod
```
#### Step 3: Via Vercel Dashboard 通过 Vercel 控制台
1. Go to [vercel.com](https://vercel.com) and sign in
2. Click "Add New..." → "Project"
3. Import your GitHub repository
4. Framework Preset: **Vite**
5. Click "Deploy"
> ⚠️ **Important**: The `vercel.json` headers configuration is critical. Without it, `SharedArrayBuffer` will not be available and FFmpeg.wasm will fail to load.
>
> ⚠️ **重要**:`vercel.json` 中的 headers 配置是必须的。如果没有这些配置,`SharedArrayBuffer` 将不可用,FFmpeg.wasm 将无法加载。
---
## 🤝 Contributing | 贡献
We welcome contributions! Here's how you can help:
我们欢迎任何形式的贡献!您可以通过以下方式参与:
- ⭐ **Star this project** if you find it useful | 如果觉得有用请 Star
- 🐛 **[Report bugs](https://gitee.com/mo3408/m3u8/issues)** | 报告问题
- 💡 **[Request features](https://gitee.com/mo3408/m3u8/issues)** | 提交功能建议
- 🔧 **Submit pull requests** | 提交代码改进
---
## 📄 License
MIT License - feel free to use in personal and commercial projects.
---
Made with ❤️ using [FFmpeg.wasm](https://github.com/ffmpegwasm/ffmpeg.wasm)