news 2026/8/13 12:36:27

m3u8视频下载实战:从HLS流媒体到本地MP4的完整方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
m3u8视频下载实战:从HLS流媒体到本地MP4的完整方案

这次我们来看一个非常实用的技术操作:如何将央视CCTV等在线视频的m3u8格式流媒体下载并缓存到本地。对于需要离线观看、素材保存或进一步处理的用户来说,这是一个高频需求。网上教程很多,但要么工具复杂,要么步骤繁琐。本文的目标是提供一个清晰、可执行、一步到位的解决方案,让你用最简单的方法,把m3u8链接变成本地视频文件。

整个过程的核心在于理解m3u8的本质并找到合适的工具链。m3u8本身是一种基于HTTP Live Streaming (HLS)协议的播放列表文件,里面包含了视频分片(.ts文件)的地址。所谓的“破解”或下载,实质上是解析这个列表,并批量下载、合并这些分片。我们将避开需要复杂编程或安装庞大IDE的方法,聚焦于使用轻量级、高效的命令行工具和图形界面工具来完成。

本文将重点演示两种主流且高效的方法:一是使用功能强大的开源命令行工具ffmpeg,它几乎是处理多媒体格式的瑞士军刀;二是使用图形化工具,如N_m3u8DL-CLI或其衍生版本,它们对用户更友好。我们会从环境准备、工具获取、命令执行到最终合并验证,一步步拆解。无论你是技术开发者还是普通用户,都能找到适合自己的路径。

1. 核心能力速览

在开始动手之前,我们先快速了解整个方案的核心要点、所需工具和最终效果。

能力项说明
目标格式m3u8 (HLS流媒体)
输出格式常见的MP4、MKV等单文件视频
核心工具ffmpeg(命令行)、N_m3u8DL-CLI(图形化/命令行)
硬件门槛极低。主要依赖CPU进行下载和转码,普通电脑即可,无需独立显卡。
网络要求稳定网络连接,用于下载视频分片。
主要流程获取m3u8链接 -> 使用工具下载分片 -> 自动合并为单一文件
适合场景个人学习存档、合法授权的素材备份、离线观看、视频二次处理前的准备。
使用边界必须用于拥有下载权限或符合平台用户协议的内容。严禁用于盗版、破解付费内容、侵犯版权等非法用途。

2. 适用场景与使用边界

这个技术适合谁?

  • 学习者与研究者:需要保存公开课、技术讲座、纪录片等用于反复观看。
  • 内容创作者:在获得明确授权后,需要将某些在线视频作为素材进行本地剪辑。
  • 普通用户:希望将喜欢的节目缓存下来,在无网络环境(如旅途)中观看。
  • 开发者测试:需要本地的流媒体视频文件进行播放器开发或功能测试。

能解决什么问题?

  1. 离线化:将在线流媒体转换为本地文件,摆脱网络依赖。
  2. 格式统一:将分散的.ts分片合并为单个标准视频文件(如MP4),便于管理和播放。
  3. 质量保留:通常可以下载到原始流提供的最高清晰度。
  4. 批量化:通过脚本可以对多个m3u8链接进行批量下载任务。

不适合什么场景?

  1. 加密DRM内容:如果m3u8流使用了强加密(如Widevine),常规工具无法解密下载。本文方法仅适用于未加密或使用通用AES-128加密且密钥可获取的流。
  2. 实时直播流:对于正在直播的流,下载的是当前时刻的片段,并非完整的直播录像。需要配合其他录制手段。
  3. 动态变化的流:部分网站的m3u8链接有效期极短或动态生成,需要配合抓包工具实时获取。

法律与合规边界(必须阅读)重中之重:技术本身中立,但使用必须合法合规。

  • 版权尊重:仅下载你拥有观看权、或内容发布方明确允许下载的公开内容。许多平台用户协议禁止下载。
  • 禁止盗版:严禁用于下载付费影视剧、会员专享内容等,这侵犯了著作权。
  • 个人使用:下载的内容应限于个人学习、研究、欣赏,不得用于商业传播、贩卖。
  • 隐私保护:不要下载涉及他人隐私的内容。 本文所有操作演示均假设在合法授权或符合平台条款的范围内进行,请务必遵守相关法律法规。

3. 环境准备与前置条件

工欲善其事,必先利其器。开始之前,请确保你的操作环境满足以下条件。

3.1 操作系统

  • Windows 10/11:主流选择,图形化工具支持好。
  • macOS:完美支持,通常通过Homebrew安装工具。
  • Linux:原生支持,是命令行工具的最佳运行环境。

3.2 必备工具获取

我们将主要使用两款工具,请根据你的喜好和系统选择安装。

1. ffmpeg (推荐)这是一个开源、跨平台的音视频处理全能工具。我们将用它来直接下载和合并m3u8。

  • Windows
    1. 访问 FFmpeg 官网 。
    2. 点击 “Windows builds from gyan.dev” 或 “BtbN Windows Builds”。
    3. 下载对应的压缩包(例如ffmpeg-release-full.7z)。
    4. 解压到一个你喜欢的目录,例如D:\Tools\ffmpeg
    5. bin文件夹的路径(例如D:\Tools\ffmpeg\bin)添加到系统的环境变量PATH中。
    6. 打开命令提示符(CMD)或 PowerShell,输入ffmpeg -version,如果显示版本信息则安装成功。
  • macOS:使用 Homebrew 安装最简单:打开终端,输入brew install ffmpeg
  • Linux (Ubuntu/Debian):打开终端,输入sudo apt update && sudo apt install ffmpeg -y

2. N_m3u8DL-CLI (图形化选择)这是一个专门为下载m3u8流媒体开发的工具,使用C#编写,有图形界面,对用户更友好。

  • 下载:在GitHub上搜索 “N_m3u8DL-CLI” 或 “nilaoda/N_m3u8DL-CLI”,进入项目发布页。
  • Windows:直接下载最新的N_m3u8DL-CLI.zip压缩包,解压即可使用,内含图形界面程序。
  • macOS/Linux:需要安装 .NET Core 运行时,然后使用其命令行版本。对于大多数用户,Windows图形版是首选。

3.3 获取m3u8链接

这是最关键的一步。你需要找到想要下载的视频的m3u8播放列表地址。常见方法有:

  • 浏览器开发者工具 (F12)
    1. 在播放视频的页面按F12打开开发者工具。
    2. 切换到 “Network” (网络) 标签页。
    3. 在筛选器(Filter)中输入m3u8
    4. 刷新页面或开始播放视频,列表中会出现.m3u8文件的请求。
    5. 点击该请求,在 “Headers” 或 “Preview” 标签页中找到完整的请求URL,即为m3u8链接。
  • 浏览器插件:一些插件如 “Stream Video Downloader” 可以自动检测页面中的媒体流,包括m3u8。
  • 手机抓包:对于手机APP,可以使用HttpCanary(安卓)或Stream(iOS)等抓包工具捕获网络请求。

注意:部分网站的m3u8链接可能带有鉴权参数(如tokenexpires),这些参数通常有过期时间。下载时需使用完整的、未过期的链接。

4. 方法一:使用 ffmpeg 下载与合并(命令行)

ffmpeg方法非常直接,一条命令即可完成下载、解码、合并、转封装的全过程。它稳定、高效,是许多后台服务的首选。

4.1 基础下载命令

打开命令行(CMD、PowerShell 或终端),使用以下基本命令结构:

ffmpeg -i "你的m3u8链接地址" -c copy -bsf:a aac_adtstoasc output.mp4

命令参数解释

  • -i “url”:指定输入文件,这里就是你的m3u8链接。
  • -c copy:这是一个关键参数。它表示“流复制”,不对视频和音频进行重新编码,只是将下载的原始数据流(通常是h264视频和aac音频)直接复制到输出文件中。这速度极快,且能保证画质无损。
  • -bsf:a aac_adtstoasc:比特流过滤器。对于AAC音频流,有时需要这个参数来修正ADTS头,确保MP4容器兼容性。如果下载其他格式(如.mkv),可能不需要。
  • output.mp4:你希望输出的文件名。

操作示例: 假设你抓取到的m3u8链接是https://example.com/video/playlist.m3u8,你想保存为央视纪录片.mp4

  1. 打开命令行,导航到你希望保存视频的目录(例如cd D:\Videos)。
  2. 执行命令:
    ffmpeg -i "https://example.com/video/playlist.m3u8" -c copy -bsf:a aac_adtstoasc "央视纪录片.mp4"
  3. 回车后,ffmpeg会开始工作。你会看到它显示下载速度、当前时间戳等信息。等待其完成,显示“video:xxxxkB audio:xxxxkB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: x.xxxxxx%”类似的提示,即表示成功。

4.2 进阶参数与优化

  • 指定输出格式:如果你想输出为.mkv格式(容器更通用),直接改后缀名即可:output.mkv。MKV格式通常不需要-bsf:a aac_adtstoasc参数。
  • 设置用户代理 (User-Agent):有些服务器会检查请求头。你可以模拟浏览器请求:
    ffmpeg -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" -i "m3u8_url" -c copy output.mp4
  • 限制下载速度/重试ffmpeg本身参数有限。对于网络不稳定的情况,更推荐使用下一节的方法二工具,它有更完善的重试和分段下载机制。
  • 仅下载特定分辨率:如果m3u8是“多码率自适应”类型(包含多个不同清晰度的流),ffmpeg默认会选择它认为“最好”的。你可以通过-map参数手动选择。首先用ffmpeg -i url查看所有流信息,然后使用-map 0:v:0 -map 0:a:0这样的格式指定具体的视频和音频流。

4.3 验证输出

下载完成后,用你常用的本地播放器(如VLC、PotPlayer、Windows媒体播放器)打开生成的output.mp4文件,检查视频是否能正常播放、音画是否同步、时长是否正确。

5. 方法二:使用 N_m3u8DL-CLI 下载(图形化/命令行)

对于不熟悉命令行的用户,或者需要更强大下载管理功能(如多线程、断点续传、自动合并)的场景,N_m3u8DL-CLI是更好的选择。它的图形界面(GUI)版本叫N_m3u8DL-RE(或类似名称)。

5.1 图形界面 (GUI) 使用步骤

  1. 下载并解压:从GitHub发布页下载N_m3u8DL-CLI的Windows压缩包,解压。
  2. 运行程序:找到解压文件夹中的N_m3u8DL-RE.exe(或类似的可执行文件),双击运行。
  3. 主界面介绍:你会看到一个简洁的界面,主要包含“输入m3u8链接”、“选择保存路径”、“设置线程数”等选项。
  4. 基本操作
    • 在 “M3U8 URL” 输入框内,粘贴你获取到的完整m3u8链接。
    • 在 “Save Dir” 选择视频保存的文件夹。
    • 在 “File Name” 输入你想要的文件名(不含后缀)。
    • 线程数 (Thread Count):可以适当提高(如16或32)以加速下载,但不宜过高以免被服务器封禁。
    • 其他设置:通常保持默认即可。“Auto Merge” 默认开启,下载完成后会自动合并分片。
  5. 开始下载:点击 “GO!” 或 “Start” 按钮。程序会开始解析m3u8文件,显示可用的清晰度选项(如果有),然后开始多线程下载.ts分片。底部日志框会显示实时进度。
  6. 完成与输出:下载并合并完成后,在指定的保存目录下,你会得到最终的.mp4.ts文件(取决于设置)。图形界面工具通常会自动清理下载过程中的临时分片文件。

5.2 命令行 (CLI) 版本使用

如果你在macOS/Linux,或喜欢命令行,可以使用其CLI版本。基本命令格式如下:

./N_m3u8DL-CLI “你的m3u8链接” --workDir ./downloads --saveName “我的视频”

常用参数

  • --workDir:指定临时文件和最终文件的保存目录。
  • --saveName:指定输出文件名(不含后缀)。
  • --threadCount:下载线程数,例如--threadCount 16
  • --enableDelAfterDone:下载完成后删除临时分片文件。
  • --useKeyFile--useKeyBase64:如果流是AES-128加密的,并且你通过其他方式获取到了密钥(key),可以用这些参数指定密钥文件或Base64编码的密钥。

5.3 对比与选择

  • ffmpeg:优势是简单粗暴,一条命令搞定,系统资源占用相对单一,适合集成到脚本中。劣势是对复杂网络状况(如需要重试、分块)的处理不如专用工具,且如果链接失效,整个任务会失败。
  • N_m3u8DL-CLI:优势是功能专一,多线程下载速度快,支持断点续传、自动重试、清晰度选择,对用户更友好。劣势是需要单独下载一个工具。

建议:初次尝试或处理重要内容时,使用N_m3u8DL-CLI 图形界面,更直观可控。对于熟练用户或批量脚本处理,使用ffmpeg更便捷。

6. 处理加密的m3u8流

有时你获取的m3u8文件内容中,会包含#EXT-X-KEY标签,指示分片使用了AES-128加密。例如:

#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/key.key",IV=0x...

这意味着你需要解密密钥才能正确播放和下载。

情况一:密钥URI可公开访问如果URI指向的是一个可以直接下载的key.key文件,那么N_m3u8DL-CLIffmpeg通常能自动处理。N_m3u8DL-CLI在图形界面下可能会自动下载该密钥。对于ffmpeg,如果密钥是标准格式且可访问,-c copy命令也可能成功。

情况二:需要手动提供密钥如果密钥无法自动获取,你需要通过其他途径(如抓包找到密钥请求)获得密钥内容。假设你得到了一个16字节(32位十六进制字符串)的密钥:0123456789abcdef0123456789abcdef

  • 使用 N_m33u8DL-CLI
    • 将密钥保存为一个文件,比如video.key
    • 在命令行中使用--useKeyFile ./video.key参数。
    • 或者在图形界面中,寻找 “Key” 或 “Decryption” 相关的设置栏,填入密钥文件路径或Base64编码的密钥。
  • 使用 ffmpegffmpeg处理自定义密钥相对麻烦,通常需要将密钥信息写入一个特殊的文件,然后通过-decryption_key参数指定。操作复杂,此时更推荐使用N_m3u8DL-CLI

重要提醒:处理加密流时,务必确保你拥有获取和使用该密钥的合法权利。用于解密受版权保护内容的行为可能构成侵权。

7. 批量下载任务与自动化

如果你需要下载一系列视频(比如一个课程的所有章节),手动一个个操作效率低下。这里提供简单的自动化思路。

7.1 使用脚本调用 ffmpeg (Windows Batch示例)

创建一个文本文件,重命名为download.bat,用记事本编辑,内容如下:

@echo off REM 定义一个视频链接和名称的列表 set “list[1]=https://example.com/ep1.m3u8 第一集.mp4” set “list[2]=https://example.com/ep2.m3u8 第二集.mp4” set “list[3]=https://example.com/ep3.m3u8 第三集.mp4” REM 循环下载 for /f “tokens=1,* delims= ” %%a in (‘set list[‘) do ( echo 正在下载: %%b ffmpeg -i “%%a” -c copy -bsf:a aac_adtstoasc “%%b” echo 完成: %%b ) echo 所有任务完成! pause

注意:这个批处理脚本假设你的链接和文件名用空格分隔,且链接中不含空格。实际情况可能需要更复杂的解析,比如将列表保存在一个单独的list.txt文件中,每行“链接 文件名”。

7.2 使用 Python 脚本

对于更灵活的控制,可以使用Python。确保已安装requests库(用于可能的额外请求)和subprocess库(用于调用ffmpeg)。

import subprocess import os # 视频任务列表: (m3u8_url, output_filename) video_tasks = [ (“https://example.com/ep1.m3u8”, “episode_01.mp4”), (“https://example.com/ep2.m3u8”, “episode_02.mp4”), # ... 添加更多 ] def download_video(url, output_name): “”“使用ffmpeg下载视频”“” # 构建命令 cmd = [ ‘ffmpeg’, ‘-i’, url, ‘-c’, ‘copy’, ‘-bsf:a’, ‘aac_adtstoasc’, output_name ] print(f“开始下载: {output_name}”) try: # 执行命令,并实时打印输出 result = subprocess.run(cmd, check=True, capture_output=True, text=True, timeout=3600) # 超时1小时 print(f“成功: {output_name}”) return True except subprocess.CalledProcessError as e: print(f“下载失败 {output_name}: {e.stderr}”) return False except subprocess.TimeoutExpired: print(f“下载超时: {output_name}”) return False if __name__ == “__main__”: success_count = 0 for url, name in video_tasks: if download_video(url, name): success_count += 1 print(f“批量下载结束。成功: {success_count}/{len(video_tasks)}”)

将上述代码保存为batch_download.py,在命令行中运行python batch_download.py即可。

8. 常见问题与排查方法

在操作过程中,你可能会遇到一些问题。下表列出了常见现象、原因及解决办法。

问题现象可能原因排查方式解决方案
ffmpeg 命令未找到ffmpeg未安装或未正确添加到系统PATH环境变量。在命令行输入ffmpeg -version重新安装ffmpeg,并确保其bin目录已加入系统PATH。
下载速度极慢或卡住1. 网络问题。
2. 服务器限速。
3. 链接失效。
1. 检查网络。
2. 尝试用浏览器直接打开m3u8链接,看能否访问。
3. 查看ffmpeg或下载工具的日志。
1. 更换网络环境。
2. 使用N_m3u8DL-CLI并增加重试次数和超时时间。
3. 重新获取有效的m3u8链接。
提示 “403 Forbidden” 或 “404 Not Found”1. m3u8链接已过期。
2. 需要特定的请求头(如Referer, User-Agent)。
3. 需要Cookie验证。
检查链接是否完整,是否包含动态token。用浏览器开发者工具查看成功请求时的Headers。1. 重新抓取最新链接。
2. 在ffmpeg中使用-headers参数,或在N_m3u8DL-CLI中设置请求头。
3. 在工具中填入从浏览器复制的Cookie。
合并后的视频没有声音或音画不同步1. 音频流格式问题。
2. 原始流本身存在问题。
3. 合并过程出错。
1. 用ffprobe(ffmpeg套件)检查原始流信息。
2. 尝试不使用-c copy,而是重新编码(耗时长,不推荐)。
1. 尝试不同的输出容器,如将.mp4改为.mkv
2. 在ffmpeg命令中尝试移除-bsf:a aac_adtstoasc
3. 使用N_m3u8DL-CLI下载,其合并逻辑可能更健壮。
N_m3u8DL-CLI 提示 “无法解析m3u8”1. 链接不是有效的m3u8文件。
2. 链接需要额外的请求参数。
3. 内容被加密且工具无法自动获取密钥。
将m3u8链接在浏览器中打开,查看其内容是否是文本格式,并包含#EXTM3U开头和#EXTINF等标签。1. 确认链接正确。
2. 尝试将链接复制到下载工具(如IDM)看是否能识别。
3. 手动处理加密流(见第6节)。
下载到一半程序崩溃或退出1. 内存不足(处理极高码率视频时)。
2. 磁盘空间不足。
3. 网络中断导致工具内部错误。
检查系统资源管理器和磁盘剩余空间。1. 关闭其他占用内存的程序。
2. 清理磁盘空间。
3. 使用支持断点续传的N_m3u8DL-CLI,重新开始任务可能会从断点继续。
播放器无法打开合并后的文件1. 文件未完整合并(损坏)。
2. 播放器解码器不支持。
1. 检查文件大小是否合理。
2. 换用VLC、PotPlayer等万能播放器尝试。
1. 重新下载合并。
2. 使用ffmpeg对已合并的文件进行一次简单的流复制转封装:ffmpeg -i broken.mp4 -c copy fixed.mp4

9. 最佳实践与使用建议

为了更顺利、高效地完成m3u8视频下载,遵循以下建议可以避免很多麻烦。

  1. 先测试,后批量:拿到m3u8链接后,先用工具下载一小段(可以通过在ffmpeg命令后加-t 60参数来只下载前60秒),验证整个流程是否畅通、输出文件是否正常,然后再进行长时间或批量下载。
  2. 管理好临时文件N_m3u8DL-CLI在下载过程中会产生大量的.ts临时分片文件。确保工作目录(--workDir)有足够空间,并启用--enableDelAfterDone选项在完成后自动清理。
  3. 注意网络礼仪:不要使用过高的线程数(如上百线程)疯狂下载,这会对源服务器造成压力,也可能导致你的IP被暂时封禁。通常16-32个线程是合理的范围。
  4. 链接有效性:m3u8链接,尤其是那些带有查询参数(?token=xxx&expires=xxx)的,通常有效期很短(几分钟到几小时)。最好在抓取后尽快开始下载。
  5. 输出文件命名:建议在文件名中包含来源、日期等信息,便于后期管理,例如CCTV_纪录片_20231027.mp4
  6. 版权意识常驻:再次强调,本技术仅应用于你拥有合法权利下载的内容。对于明确禁止下载的网站和内容,请尊重规则。技术的价值在于赋能合法需求,而非助长侵权。
  7. 探索更多工具:除了本文介绍的两种,还有其他优秀工具如youtube-dl(现为yt-dlp)、annie等,它们也支持m3u8,并且功能更全面。如果你经常需要从各种网站下载视频,可以研究一下这些工具。

10. 总结与下一步

通过本文的详细拆解,你应该已经掌握了将央视CCTV等m3u8流媒体视频下载到本地的核心方法。两种主要方法——ffmpeg的命令行极简主义和N_m3u8DL-CLI的图形化全能管理——覆盖了从技术爱好者到普通用户的不同需求场景。

最值得尝试的第一步,无疑是安装好ffmpegN_m3u8DL-CLI,然后打开浏览器开发者工具,找一个允许下载的公开视频(例如一些大学公开课、政府公开宣传片),尝试抓取它的m3u8链接并完成下载。这个“从抓到下”的完整流程走通,所有的概念就都落地了。

最容易踩的坑通常是环境配置(PATH没设对)和链接失效(token过期)。因此,务必按照第3节做好环境准备,并在抓取链接后迅速操作。对于加密流,如果自动解密失败,可能需要稍微深入研究一下网络抓包,找到密钥请求,但这已属于进阶内容。

掌握了基础下载后,你可以进一步探索:

  • 清晰度选择:如何从自适应码率的m3u8中下载指定分辨率。
  • 音轨与字幕:如何分离或选择特定的音频轨道和字幕。
  • 自动化监控:编写脚本定时检查并下载系列更新内容。
  • 转码与压缩:下载后使用ffmpeg进行视频压缩、格式转换、剪辑等后期处理。

希望这篇教程能成为你处理网络视频缓存的一个实用工具箱。建议收藏本文,以备不时之需。如果在实践过程中遇到新的问题,欢迎在评论区交流讨论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 12:35:32

手把手搭建全平台电视直播系统:基于M3U与IPV6源的原理与实战

最近在折腾家庭影音系统时,发现很多朋友还在为找不到稳定、高清的电视直播源而烦恼。网上的教程要么源已失效,要么操作复杂,对新手极不友好。本文将手把手带你部署一套属于自己的“电视直播神器”,不仅涵盖央视、卫视、港澳台及地…

作者头像 李华
网站建设 2026/8/13 12:33:42

680亿品牌全案市场,仅12%机构具备一体化能力

在680亿的品牌全案市场中,行业内对一体化服务能力的关注愈加显著。然而,经过调研发现,仅有12%的机构具备这一能力,这使得众多品牌在市场竞争中面临挑战。机构普遍存在对一体化服务认知不足、资源整合能力有限等问题需求。文章将探…

作者头像 李华
网站建设 2026/8/13 12:33:30

英特尔AI硬件生态解析:从CPU到NPU的本地AI部署实战指南

这次我们来看一个技术趋势分析:英特尔在AI时代的挑战与转型。这不是一个具体的开源项目,而是一个值得开发者关注的行业动态。如果你关心AI芯片、异构计算、本地大模型部署的硬件选择,或者正在评估CPU、GPU、NPU的算力性价比,这篇文…

作者头像 李华
网站建设 2026/8/13 12:32:32

AI应用开发进阶:从Function Call到MCP协议,解析Agent能力扩展技术演进

1. 项目概述:一次面试引发的深度技术辨析前几天和一位在阿里做AI应用架构的朋友聊天,他提到最近面试候选人时,发现很多人对“Agent Skills”、“MCP”和“Function Call”这几个概念的理解是模糊的、甚至是混淆的。这其实挺有意思的&#xff…

作者头像 李华
网站建设 2026/8/13 12:32:10

STM32传感器模块编程实践(二十一)DIY语音控制小车套件模型

文章目录 一.概要二.实验模型原理1.硬件连接原理框图2.各个传感器模块控制原理语音识别模块交互原理直流有刷电机控制原理 三.实验模型控制流程四.语音控制小车程序五.实验效果视频六.小结 一.概要 智能小车项目融合了机械、电子、控制、计算机等多学科知识,是提升…

作者头像 李华