uc浏览器缓存的视频需合并为mp4才能通用:先确认缓存路径下存在.m3u8和连续数字命名的.ts文件,再根据是否含aes加密选择手机端合并app、电脑端ffmpeg转封装或n_m3u8dl-cli解密处理。

你在UC浏览器网页上点开一个视频,页面右上角弹出“缓存”按钮,点击后看似下载完成,但打开手机文件管理器却只看到一个.m3u8文件和一堆以数字命名的.ts小文件,根本没法直接播放或发给朋友——这是因为UC浏览器把网页视频按HLS协议拆成了流式分片,必须合并成MP4才能通用。
先确认缓存文件是否完整
打开手机文件管理器,进入UC浏览器默认缓存路径:【/storage/emulated/0/UCDownloads/VideoData/】(部分机型可能是/Android/data/com.UCMobile/files/videocache/)。找到最新生成的随机数字命名文件夹,里面必须同时存在以下两类文件:一个以.m3u8结尾的文本索引文件,以及至少5个以上以0.ts、1.ts、2.ts…连续数字命名的.ts视频片段。如果只有.m3u8而无.ts,说明缓存未完成,需重新触发缓存并等待进度条走满再操作。
用记事本类APP打开.m3u8文件,向上滑动查看开头几行——若出现#EXT-X-KEY:METHOD=AES-128字样,且后面跟着URI="xxx.key",说明视频被加密,后续步骤必须包含解密环节;若无此行,则为明文分片,可跳过解密直接合并。
方法一:手机端一键合并(免电脑、适合新手)
安装「缓存视频合并」APP(v1.5.0及以上),打开后点击菜单→选择“全盘扫描M3U8”。APP会自动遍历手机存储,列出所有UC缓存的.m3u8条目。点击目标项→再次呼出菜单→选“合并视频”。弹窗中保持默认输出名,点“合并”,进度条跑完即生成MP4文件。该MP4默认保存在/sdcard/CacheMerge/目录下,长按即可分享或连接电脑导出。
注意:此工具不支持AES加密视频,扫描到带key的.m3u8时会直接跳过,不会报错也不会生成无效文件。
方法二:电脑端FFmpeg转封装(无损、最快、需修正路径)
第一步:用USB线将手机连电脑,打开文件管理器,将整个VideoData文件夹复制到电脑桌面(例如命名为UC_Video_20260907)。
第二步:在该文件夹内,用记事本打开.m3u8文件,按Ctrl+H调出替换功能,把所有file:///storage/emulated/0/UCDownloads/VideoData/XXXXXX/(其中XXXXXX是原手机里的随机数字文件夹名)批量替换成./(英文句点+正斜杠,表示当前目录)。替换后保存文件。
第三步:在该文件夹空白处按住Shift+右键→选择“在此处打开Powershell窗口”(Win10/11)或“在此处打开命令窗口”(Win7)。输入命令:ffmpeg -i "video.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4(请将video.m3u8替换成你实际的.m3u8文件名)。
第四步:回车执行,等待终端显示video:100%和Exiting normally。此时文件夹里会出现output.mp4,双击即可用系统播放器验证。
方法三:处理带AES密钥的加密视频(必须解密才可播放)
方法一和方法二均无法处理含#EXT-X-KEY的.m3u8。此时需用N_m3u8DL-CLI工具:
① 确认.m3u8同目录下存在0.key(或类似命名)密钥文件,用十六进制编辑器或在线hex查看器打开它,确认内容是16字节纯ASCII密钥(如c4ee0740eefe7cd0);
② 下载N_m3u8DL-CLI(需Python 3.7+),将.m3u8、所有.ts、.key三个文件放在同一文件夹;
③ 打开终端进入该目录,执行:n_m3u8dl --enableDelAfterDone --saveName "decrypted" --key "c4ee0740eefe7cd0" "video.m3u8"(密钥值必须与.key文件内容完全一致,包括大小写和有无空格);
④ 工具运行结束后,生成decrypted.mp4即为已解密的完整视频。











