m3u8转MP4(网页视频下载)(超细教程, 有手就行)

准备工作

什么是m3u8文件

记事本打开m3u8文件:

复制代码
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxx/key.key"
#EXTINF:3.336667,
#EXTINF:1.668333,
clvHz13123499.ts
#EXTINF:2.035367,
clvHz13123500.ts
#EXT-X-ENDLIST
53544be5255000000.ts
#EXTINF:3.962289,
53544be5255000001.ts
#EXTINF:4.295967,
53544be5255000002.ts
#EXTINF:4.170833,
53544be5255000003.ts
#EXTINF:3.420078,
53544be5255000004.ts
#EXTINF:4.170833,
53544be5255000005.ts
#EXTINF:3.837167,
53544be5255000006.ts
#EXTINF:4.629622,
53544be5255000007.ts
#EXTINF:4.129133,
53544be5255000008.ts
#EXT-X-DISCONTINUITY

m3u8将完整视频分割成多个片段, 并将其网址依次存放在m3u8文件中, 其中每个ts文件都储存了约3秒的视频资源, 我们要做的就是通过ffmpeg获取这些ts文件并处理, 合并他们, 得到完整视频

什么是ffmpeg

我也不知道喵

如何下载ffmpeg

教程自己看喵:ffmpeg下载安装教程及介绍-CSDN博客

开始m3u8转mp4

在此之前, 请确保已经完成了上述准备工作, 特别是ffmpeg安装与其环境变量的添加

下载m3u8文件到本地

浏览器中打开你的动漫/电影播放页面, 如下

右击网页空白处并选择"++检查" (或直接F12, 有时要Fn+F12)++

转到++network++功能

++刷新网页++

在++filer++ 功能筛选**++m3u8++** , 一般选择++最后一个++m3u8文件

按上述教程++复制其URL(++网址)

新建标签页, 在新建标签页中, 粘贴++刚复制的网址并打开++

打开该链接之后,该网页会自动将m3u8文件下载到本地 "下载" 文件中并关闭该网页, 我们可ctrl+j查看

通过ffmpeg实现m3u8转mp4

这个比较easy, 运行指令即可

对应位置打开cmd

桌面空白处单击鼠标右键, 选择"在终端打开"

输入以下指令并回车

复制代码
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp,https" -i [m3u8文件路径] -c copy [视频文件导出位置/名称(记得带.mp4后缀)]
指令的tips & 注意点
  • 将"m3u8文件路径"替换为刚下载的文件的文件地址, 将"视频文件导出位置"替换为mp4文件名

示例:

复制代码
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp,https" -i "C:\Users\27669\Downloads\index (1).m3u8" -c copy out.mp4
  • 建议将m3u8拷贝到桌面, 这样的话"m3u8文件路径"部分直接换成m3u8文件名就ok了, 就不用写m3u8文件的绝对路径了(盘符开头,特别长的那个路径叫做绝对路径)
  • m3u8与mp4文件一定带上后缀, 否则会识别失败
  • 要下载多个视频时, 记得改变导出文件名, 文件名重复的话, 原文件会被删除

用此方法下载网页视频的tips

因为操作繁琐, 下载速度满, 用此方法下载网页视频实属下下策。

那么如何选择合适的下载网页视频的方式呢?

先用扩展:专业视频下载器

它可以自动转化大部分m3u8文件 , 操作简单, 下载速度快

再者, 通过网页源代码获取视频url/src

取其src="http:\\....\...mp4"中的网址部分, 如选中部分。

浏览器打开此网址

右击视频选择另存为即可下载

最后, 使用本教程ffmpeg方法

如果上述两方法均失败, 那么就只好选择此方法了

结语

这么详细的教程就连萝卜看完了也能会了下载网站小视频了吧喵

不得不说这个方法下载视频比较慢(毕竟单线程), 我用此方法下载了一个234mb的mp4文件,耗时约5分钟。当然,下载速度也可能与设备与网络环境有关。

如果你想加速下载过程, 你可以用python中的ThreadPoolExecutor实现多线程下载, 因为有点麻烦我就不实现了, 欢迎各位大佬补充说明。

相关推荐
VidDown4 小时前
自动给视频挑一张能看的封面:帧评分、构图与批量生成
python·ffmpeg·音视频·视频
可乐鸡翅yeah_18 小时前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放
可乐鸡翅yeah_1 天前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
开开心心就好2 天前
本地文件搜索工具推荐,占用小速度还快
智能手机·ffmpeg·ocr·word·音视频·网络攻击模型·安全架构
我科绝伦(Huanhuan Zhou)2 天前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
RS迷途小书童2 天前
Python+FFmpeg提取大疆无人机MP4内嵌mov_text遥测SRT字幕并做完整性校验
python·ffmpeg·大疆·srt字幕·dji
开开心心就好2 天前
视频压缩工具推荐,画质效果很能打
智能手机·ffmpeg·ocr·word·排序算法·音视频·散列表
可乐鸡翅yeah_3 天前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
redfred3 天前
HyperFrames 部署教程:5.6 万 Star 开源「写 HTML 出视频」框架,Windows 从零上手(CLI 三条命令 + 7 个避坑)
ffmpeg·开源·自动化·html·音视频
Arcai10243 天前
PostgreSQL数据备份和恢复完全指南
数据库·postgresql·ffmpeg·备份一体机·备份软件·smartstor·智备科技