m3u8文件后缀jpg,png等处理方法及视频合并
2024-09-08 17:16:06
处理
# 解析伪装成png的ts
def resolve_ts(src_path, dst_path):
'''
如果m3u8返回的ts文件地址为
https://p1.eckwai.com/ufile/adsocial/7ead0935-dd4f-4d2f-b17d-dd9902f8cc77.png
则需要下面处理后 才能进行合并
原因在于 使用Hexeditor打开后,发现文件头被描述为了PNG
在这种情况下,只需要将其中PNG文件头部分全部使用FF填充,即可处理该问题
:return:
'''
if not os.path.exists(dst_path):
os.mkdir(dst_path)
file_list = sorted(os.listdir(src_path), key=lambda x: int(x.split('.')[0]))
for i in file_list:
origin_ts = os.path.join(src_path, i)
resolved_ts = os.path.join(dst_path, i)
try:
infile = open(origin_ts, "rb") # 打开文件
outfile = open(resolved_ts, "wb") # 内容输出
data = infile.read()
outfile.write(data)
outfile.seek(0x00)
outfile.write(b'\xff\xff\xff\xff')
outfile.flush()
infile.close() # 文件关闭
outfile.close()
except:
pass
"""
else:
# 删除目录
shutil.rmtree(src_path)
# 将副本重命名为正式文件
os.rename(dst_path, dst_path.rstrip('2'))
"""
print('resolve ' + origin_ts + ' success')
合并
def merge(path, filename='output'):
'''
进行ts文件合并 解决视频音频不同步的问题 建议使用这种
:param filePath:
:return:
'''
os.chdir(path)
cmd = f'ffmpeg -i index.m3u8 -c copy {filename}.mp4'
os.system(cmd)
最新文章
- [BZOJ3874][AHOI2014] 宅男计划
- java之DatagramSocket、DatagramPackage丶MulticastSocket 广播学习
- 【转】keil+stm32+jlink利用swd方式进行printf输出
- 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中
- typicalapp.js
- 以Python角度学习Javascript(一)
- 在Windows2012下安装SQL Server 2005无法启动服务的解决办法
- Project Management - 2) Estimate Your Work
- 4个好用的JS联动选择插件
- MyEclipse 2014去除derby
- 【Electron】Electron开发入门(六):项目生成setup安装程序
- 关于使用Ajax请求json数据,@RequestMapping返回中文乱码的几种解决办法
- Visual Studio图形调试器详细使用教程(基于DirectX11)
- 20175307《Java程序设计》第8周学习总结
- GO入门——6. struct与方法
- CentOS6.5优化脚本以及检测优化脚本
- Oracle 增加、修改、删除字段
- excel导出: mac safari对application/x-msdownload的支持不佳
- 高效使用jquery之一:请使用'On'函数
- CSUOJ 1956 数字和
热门文章
- 中国数字化是怎么转型成新范式TOP 50的?
- SpringBoot课程学习(四)
- Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
- siteServer CMS知识点
- springboot H2 linux下搭建使用
- Kafka 之producer拦截器(interceptor)
- 基于YOLO和PSPNet的目标检测与语义分割系统(python)
- 基于.NetCore开发博客项目 StarBlog - (19) Markdown渲染方案探索
- 怎么样子盒子能撑起父盒子?浮动,BFC,边距重叠
- MongoDB 数据库的学习