如何简单粗暴的下载m3u8视频并转换为mp4格式

m3u8文件介绍

M3U(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)这种文件格式是音视频文件的列表文件,是纯文本文件。你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到网络地址进行在线播放。m3u8就是以utf-8编码的m3u文件

打开m3u8文件可以看到像下面这样

复制代码
 1 #EXTM3U
 2 #EXT-X-VERSION:3
 3 #EXT-X-MEDIA-SEQUENCE:11785
 4 #EXT-X-TARGETDURATION:11
 5 #EXTINF:10.560,
 6 cctv1_2md/1602814775_5190881.ts
 7 #EXTINF:10.560,
 8 cctv1_2md/1602814786_5190882.ts
 9 #EXTINF:10.880,
10 cctv1_2md/1602814797_5190883.ts
11 #EXTINF:10.880,
12 cctv1_2md/1602814808_5190884.ts
13 #EXTINF:10.560,
14 cctv1_2md/1602814818_5190885.ts

每个字段含义如下:

复制代码
1 #EXTM3U //必需,表示一个扩展的m3u文件
2 #EXT-X-VERSION:3 //hls的协议版本号,暗示媒体流的兼容性
3 #EXT-X-MEDIA-SEQUENCE:xx //首个分段的sequence number
4 #EXT-X-ALLOW-CACHE:NO //是否缓存
5 #EXT-X-TARGETDURATION:5 //每个视频分段最大的时长(单位秒)
6 #EXT-X-DISCONTINUITY //表示换编码
7 #EXTINF:<duration> //每个切片的时长

2021.06.10补充

复制代码
 1 #EXT-X-STREAM-INF:RESOLUTION=1920x1080,FRAME-RATE=30,CODECS="avc1.640028,mp4a.40.2" 
 2 https://xxx.com/index.m3u8
 3 格式
 4 #EXT-X-STREAM-INF:<attribute-list>
 5  <URI>
 6 
 7 说明
 8 #EXT-X-STREAM-INF:代表不同的播放流,
 9 后面是属性列表,如上面的FRAME-RATE=30
10 下面一行是链接地址

转换成mp4的方法

需要借助ffmpeg(在最初的时候,我是自已下载好所有的分片文件,然后再用ffmpeg去合并,后面才发现ffmpeg还提供下载功能,这确实省心不少)

ffmpeg官网只提供源码,不提供编译好的版本。但有三方提供的编译好的二进制文件。

下载链接:

https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z

https://myfreetime.cn/software/ffmpeg-4.3.1-2020-10-01-full_build.zip

下载完成后解压,执行命令行程序ffmpeg.exe,运行以下命令

复制代码
1 ffmpeg.exe -i http://xxx.com/test.m3u8 D:\output.mp4

life runs on code

相关推荐
SEONIB_Explorer2 小时前
跨境电商新手零门槛教程:AI 一键生成 TikTok/Ins 投放短视频,5 步 60 秒出片
人工智能·音视频·跨境电商·视频制作·veonib
AI创界者9 小时前
【AI视频生成】ComfyUI + LTX-Video 2.3 整合包:超低显存实现高帧率AI视频渲染与工作流详解
人工智能·aigc·音视频
开开心心就好11 小时前
Word双击预览图片插件弥补Word功能缺失
人工智能·python·智能手机·ocr·电脑·word·音视频
Yeauty14 小时前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg
tedcloud1231 天前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
潜创微科技1 天前
8K HDMI 2.1 多源切换芯片方案,一颗芯片搞定长线不黑屏
音视频
音视频牛哥1 天前
一款优秀的视频直播软件应具备哪些核心功能?结合 SmartMediaKit 谈实时音视频系统的能力边界
音视频·视频直播·低延迟rtsp播放器·gb28181接入·rtsp服务器·低延迟rtmp播放器·鸿蒙next rtsp
AI小码1 天前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程
嵌入式-老费1 天前
esp32开发与应用(边采样边播放音频)
音视频
中微极客1 天前
Veo视频生成与Gemini Agent平台集成实践
数据库·人工智能·oracle·音视频