admin管理员组文章数量:1530975
2024年7月10日发(作者:)
python实现将m3u8格式转换为mp4视频格式
开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,
于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8格式的,且这个格
式的视频都切成了碎片,存在电脑里不方便查看,于是想把它转换为其他可以直接打开播
放的完整视频,到网上找了一些工具,都不怎么好用,后来发现一个手机端的“缓冲合并
工具”,倒是可以用,但是合并的视频顺序是乱的,碎片的视频顺序还需要用户手动调整,
感觉太耽误时间了,于是自己打算写一个转换工具。
直接上代码:(程序的文件名为:convert_)
[python] view plain copy
print?
1. # -*- coding:utf-8 -*-
2. import sys
3. import os
4. from glob import glob
5. #获取需要转换的路径
6. def get_user_path(argv_dir):
7. if (argv_dir):
8. return argv_dir
9. elif (argv_dir):
10. return argv_dir
11. else:
12. return False
13. #对转换的TS文件进行排序
14. def get_sorted_ts(user_path):
15. ts_list = glob((user_path,'*.ts'))
16. #print(ts_list)
17. boxer = []
18. for ts in ts_list:
19. if (ts):
20. #print(xt(me(ts)))
21. file,_ = xt(me(ts))
22. (int(file))
23. ()
24. #print(boxer)
25. return boxer
26. #文件合并
27. def convert_m3u8(boxer,o_file_name):
28. #cmd_arg = str(ts0)+"+"+str(ts1)+" "+o_file_name
29. tmp = []
30. for ts in boxer:
31. (str(ts)+'.ts')
32. cmd_str = '+'.join(tmp)
33. exec_str = "copy /b "+cmd_str+' '+o_file_name
34. #print("copy /b "+cmd_str+' '+o_file_name)
35. (exec_str)
36. if __name__=='__main__':
37. #print([1:])
38. argv_len = len()
39. if argv_len == 3:
40. o_dir,o_file_name =[1:]
41. #print(o_dir+":"+o_file_name)
42. user_path = get_user_path(o_dir)
43. #print(user_path)
44. if not user_path:
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
文件。
print("您输入的路径不正确,:-(");
else:
if ((user_path,o_file_name)):
print('目标文件已存在,程序停止运行。')
exit(0)
(user_path)
#convert_m3u8('','',o_file_name)
boxer = get_sorted_ts(user_path)
convert_m3u8(boxer,o_file_name)
#print(())
else:
print("参数个数非法");
注:代码不多,原理也很简单,就是把各个碎片视频按照顺序合并为一个视频
使用方法如下:
python convert_ m3u8视频的目录 要转换后文件的名字
其中第一个参数为m3u8视频的目录(m3u8的碎片视频在手机里是隐藏的,需要将
隐藏文件显示出来才可以将文件导出到电脑里,在安卓手机里将隐藏文件夹前面的.重命
名去掉就可以了),第二个参数为要转换后文件的名字。
版权声明:本文标题:python实现将m3u8格式转换为mp4视频格式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1720570354a831602.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论