2024/06/24: [问题提出]
几年前,我从互联网上下载了一些视频。
我获得了很多文件:
- 一系列文件
.ts
- 单个文件
playlist.m3u8
在我的示例中:一系列 318 个文件,名称从segment1_1_av.ts
到segment318_1_av.ts
.ts
我尝试使用 Powershell 的以下命令行合并一系列文件:
ffmpeg -i playlist.m3u8 -c copy out.ts
它似乎失败了,因为playlist.m3u8
当我(使用记事本)编辑时playlist.m3u8
,我获得:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-ALLOW-CACHE:YES
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment1_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment2_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment3_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment4_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment5_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment6_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment7_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment8_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment9_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment10_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment11_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment12_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment13_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment14_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment15_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment16_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment17_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment18_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment19_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment20_1_av.ts
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment21_1_av.ts
[…]
#EXTINF:10.000,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment317_1_av.ts
#EXTINF:6.520,
http://arteptweb-vh.akamaihd.net/i/am/ptweb/069000/069800/069809-001-A_0_VOF_AMM-PTWEB_XQ.seC11KAAU2.smil/segment318_1_av.ts
#EXT-X-ENDLIST
我不知道该修改什么playlist.m3u8
。您能告诉我更正playlist.m3u8
应该包含什么内容,或者应该是什么样子吗?这样我就可以手动更正playlist.m3u8
我已有的。
注意:这些.ts
文件都在我的硬盘上(它们不在http://arteptweb-vh.akamaihd.net上,该互联网地址如今已经过时了)。
附言:我用的是Win10。
2024年6月26日:
我遵循了JayCravens的建议(从他的第二种方法开始,因为它对我来说不那么抽象……):
- 我将 playlist.m3u8 文件重命名为 playlist.m3u
- 我修改了playlist.m3u的内容:
#EXTM3U #EXT-X-PLAYLIST-TYPE:事件 #EXT-X-VERSION:4 #EXT-X-MEDIA-SEQUENCE:1 #EXTINF:10.00,segment1_1_av.ts
// 文件 2 和 317 的列表在此处。
#EXTINF:6.520,segment318_1_av.ts #EXT-X-ENDLIST
注意:我只让(我不知道我是否正确?):
#EXTINF:6.520,segment318_1_av.ts #EXT-X-ENDLIST
在 #EXTINF:10 的位置 ,segment318_1_av.ts
- 完成:ffmpeg -i playlist.m3u -codec copy output.mkv
→ 结果: 我得到了一个 output.mkv 文件。当我(使用 VLC)播放此 output.mkv 文件时:我快速查看了它,它对我来说似乎很完美……
但是,我用 Powershell 注意到了两件用红色写的东西:
[NULL @ 000002c0bd2bad40] 缓冲期内引用的 SPS 0 不存在
[h264 @ 000002c0bd29c0c0] 缓冲期内引用的 SPS 0 不存在