M3U8视频合并 神速 只需5秒 就能看电影
本帖最后由 choosegx 于 2021-4-5 13:06 编辑每当夜深人静的时候,
太过孤独,就想看电影
而通过软件合并M3U8 实在是太久了
而我们时间 不多了
M3U8 文件简介
m3u8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist)
看的视频会 缓存一些TC文件。按照特定的排序就可以 用浏览器播放的
文件格式如下所示
#EXTM3U 开头文件
#EXT-X-TARGETDURATION:15
#EXT-X-DISCONTINUITY
#EXTINF:10, 时间长短
#EXT-X-BYTERANGE:1117063@0 这句可以不要的
/storage/emulated/0/BaiduNetdisk/我的资源/.D91/ts_0 这个是文件地址 一般都是递增的
#EXTINF:10,
#EXT-X-BYTERANGE:385787@1117063 这句不要
/storage/emulated/0/BaiduNetdisk/我的资源/.D91/ts_1这是TS1
#EXTINF:10,
#EXT-X-BYTERANGE:385787@1117063 这句不要
/storage/emulated/0/BaiduNetdisk/我的资源/.D91/ts_2这是Ts2......Ts3 ts4
#EXTINF:10,
代码
https://static.52pojie.cn/static/image/hrline/line1.png
# a game
import os,re
global list_a
wjlb =input("输入文件地址")
os.chdir(wjlb)
wjdz = os.path.join(os.path.dirname(os.getcwd()),os.path.split(os.getcwd()))wjdz = f"{wjdz}.m3u8"
#文件合并后将在文件父目录 生成的 播放器地址,生成完毕后直接用 浏览器 或者用播放器打开就能用了
a = """#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0"""
c = "\n#EXTINF:9.000000,\n" #这个是时间步长 9.000000
b = "\n#EXT-X-ENDLIST"
e = "file://" #abcd都是M3U8的格式
#获取 文件内的所有文件序列
def hqlist(wjlb):
os.chdir(wjlb)
list_a = os.listdir()
kk = pxlist(list_a) #进行排序文件
list_a = pj(wjlb,kk) #保存原地址,和新地址,方便取用
return list_a
#把获取的文件 按需排列,这里观察原路径得知 最后的数字才是有用的
def pxlist(lis):
newlist = [] #存储新序列的表格
list1 = [] #老文件
for i in lis: #取出表格
k = []
j = re.findall("\d+",i)
if bool(j):
k.append(int(j[-1])) #这个“-1”是取最后一个数字 这个看他的排列顺序没种不一样的
k.append(i)
newlist.append(k)
newlist = sorted(newlist,key = lambda newlist:newlist)
for i in newlist:
list1.append(i)
return list1
#文件读写
def loadwj(read_a,write_a):
with open(read_a, "rb") as f:
with open(write_a,"wb") as g:
g.write(f.read())
#文件地址的合并 主要m3u8的文件写入
def pj(a,b):
d = []
for i in b:
c = os.path.join(a,i)
d.append(c)
return d
def main():
with open (wjdz,"w") as f:
f.write(a)
for i in hqlist(wjlb):
f.write(c)
f.write(e)
f.write(i)
f.write(b)
main()
代码是用的Python 下载QPython3L 使用
你用其他程序也行 你不嫌麻烦的话 也可以手打
输入 复制文件地址的目录 ,就会在 文件的上级目录生成新文件
用浏览器 播放器打开都行 。大小 也就100多KB文件
测试了优酷链接,m3u8后缀链接,ts后缀链接都没有成功。
默认我的是gbk的编码,添加了默认编码,其他的没有改动
提示是winerror123系统文件或者目录命名错误,第8行。
有运行成功或者操作成功的发个图看看,我以为这个是用来以m3u8列表合并提取后续ts视频文件的,结果好像和我想的不太一样。 Harkgreen 发表于 2020-8-1 13:29
其实用cmd命令也能合并吧?原来快播的东西我就合过
这东西主要是快,M3U8播放的播放列表 最大 100kb , 用CMD合并 要等几分钟 ,现在都快餐文化 。
关键这其实 还有作用 ,就是藏东西。可以把视频文件拆分 500多份碎片 这个太过孤独有点东西 哈哈哈不会用。但是这代码命名挺有意思的。哈哈哈哈 全世界都在学佩顿 哈哈,不会用 第一句话戳中我心了,但我是看云盘上{:1_907:} 正在学py,受教了 这代码有点迷 好家伙 谢谢分享 高手利害了,学习下。