开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8格式的,且这个格式的视频都切成了碎片,存在电脑里不方便查看,于是想把它转换为其他可以直接打开播放的完整视频,到网上找了一些工具,都不怎么好用,后来发现一个手机端的“缓冲合并工具”,倒是可以用,但是合并的视频顺序是乱的,碎片的视频顺序还需要用户手动调整,感觉太耽误时间了,于是自己打算写一个转换工具。
直接上代码:(程序的文件名为:convert_m3u8.py)
# -*- coding:utf-8 -*- import sys import os from glob import glob #获取需要转换的路径 def get_user_path(argv_dir): if os.path.isdir(argv_dir): return argv_dir elif os.path.isabs(argv_dir): return argv_dir else: return False #对转换的TS文件进行排序 def get_sorted_ts(user_path): ts_list = glob(os.path.join(user_path,'*.ts')) #print(ts_list) boxer = [] for ts in ts_list: if os.path.exists(ts): #print(os.path.splitext(os.path.basename(ts))) file,_ = os.path.splitext(os.path.basename(ts)) boxer.append(int(file)) boxer.sort() #print(boxer) return boxer #文件合并 def convert_m3u8(boxer,o_file_name): #cmd_arg = str(ts0)+"+"+str(ts1)+" "+o_file_name tmp = [] for ts in boxer: tmp.append(str(ts)+'.ts') cmd_str = '+'.join(tmp) exec_str = "copy /b "+cmd_str+' '+o_file_name #print("copy /b "+cmd_str+' '+o_file_name) os.system(exec_str) if __name__=='__main__': #print(sys.argv[1:]) argv_len = len(sys.argv) if argv_len == 3: o_dir,o_file_name =sys.argv[1:] #print(o_dir+":"+o_file_name) user_path = get_user_path(o_dir) #print(user_path) if not user_path: print("您输入的路径不正确,:-("); else: if os.path.exists(os.path.join(user_path,o_file_name)): print('目标文件已存在,程序停止运行。') exit(0) os.chdir(user_path) #convert_m3u8('2.ts','4.ts',o_file_name) boxer = get_sorted_ts(user_path) convert_m3u8(boxer,o_file_name) #print(os.getcwd()) else: print("参数个数非法");
注:代码不多,原理也很简单,就是把各个碎片视频按照顺序合并为一个视频文件。
使用方法如下:
python convert_m3u8.py m3u8视频的目录 要转换后文件的名字
其中第一个参数为m3u8视频的目录(m3u8的碎片视频在手机里是隐藏的,需要将隐藏文件显示出来才可以将文件导出到电脑里,在安卓手机里将隐藏文件夹前面的.重命名去掉就可以了),第二个参数为要转换后文件的名字。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 谭咏麟《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- 炉石传说40轮盘术最新卡组代码在哪找 标准40轮盘术卡组代码分享
- 炉石传说亲王贼怎么玩 2024亲王贼最新卡组代码分享
- 炉石传说30.6.2补丁后有什么卡组 30.6.2最强卡组最新推荐
- 模拟之声慢刻CD《蔡琴名曲回顾遇听》[原抓WAV+CUE]
- BruceLiu-WAVES(MusicbySatie)(2024)2CD[24Bit-96kHz]FLAC
- KonstantinKrimmel-MythosSchubertLoewe(2024)[24Bit-96kHz]FLAC
- 2024雷蛇高校挑战赛 嘤式分解助力收官之战
- 海信发布110吋世俱杯官方定制AI电视 引领智能观赛
- 海信发布27英寸显示器大圣G5 Pro:采用自研超解析芯片、友达原厂模组
- 蔡琴《机遇》1:1母盘直刻日本头版[WAV分轨][1.1G]
- 陈百强《与你几分钟的约会》XRCD+SHMCD限量编号版[低速原抓WAV+CUE][994M]
- 陈洁丽《监听王NO.1 》示范级发烧天碟[WAV+分轨][1.1G]
- 单色凌.2014-小岁月太着急【海蝶】【WAV+CUE】
- 陈淑桦.1988-抱紧我HOLD.ME.NOW【EMI百代】【WAV+CUE】