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实现多线程下载, 因为有点麻烦我就不实现了, 欢迎各位大佬补充说明。

相关推荐
九流下半7 小时前
window wsl 环境下编译openharmony,HarmonyOS 三方库 FFmpeg
windows·ffmpeg·harmonyos·编译·openharmony·三方库
aqi0011 小时前
FFmpeg开发笔记(七十四)Windows给FFmpeg集成二维码图像的编解码器
ffmpeg·音视频·直播·流媒体
肥or胖12 小时前
Visual Studio 2022 上使用ffmpeg
ide·ffmpeg·visual studio
王者鳜錸1 天前
基于Selenium和FFmpeg的全平台短视频自动化发布系统
selenium·ffmpeg·音视频
aqi001 天前
FFmpeg开发笔记(七十三)Windows给FFmpeg集成MPEG-5视频编解码器
ffmpeg·音视频·直播·流媒体
DogDaoDao2 天前
HEVC/H.265 码流分析工具 HEVCESBrowser 使用教程
ffmpeg·音视频·h.265·hevc·码流分析工具·elecard·hevcsbrowser
hjjdebug4 天前
ffplay6 播放器关键技术点分析 1/2
c++·ffmpeg·音视频
泰勒朗斯4 天前
ffmpeg 中config 文件一些理解
windows·microsoft·ffmpeg
泰勒朗斯4 天前
ffmpeg下编译tsan
ffmpeg