处理

# 解析伪装成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)

最新文章

  1. [BZOJ3874][AHOI2014] 宅男计划
  2. java之DatagramSocket、DatagramPackage丶MulticastSocket 广播学习
  3. 【转】keil+stm32+jlink利用swd方式进行printf输出
  4. 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中
  5. typicalapp.js
  6. 以Python角度学习Javascript(一)
  7. 在Windows2012下安装SQL Server 2005无法启动服务的解决办法
  8. Project Management - 2) Estimate Your Work
  9. 4个好用的JS联动选择插件
  10. MyEclipse 2014去除derby
  11. 【Electron】Electron开发入门(六):项目生成setup安装程序
  12. 关于使用Ajax请求json数据,@RequestMapping返回中文乱码的几种解决办法
  13. Visual Studio图形调试器详细使用教程(基于DirectX11)
  14. 20175307《Java程序设计》第8周学习总结
  15. GO入门——6. struct与方法
  16. CentOS6.5优化脚本以及检测优化脚本
  17. Oracle 增加、修改、删除字段
  18. excel导出: mac safari对application/x-msdownload的支持不佳
  19. 高效使用jquery之一:请使用'On'函数
  20. CSUOJ 1956 数字和

热门文章

  1. 中国数字化是怎么转型成新范式TOP 50的?
  2. SpringBoot课程学习(四)
  3. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
  4. siteServer CMS知识点
  5. springboot H2 linux下搭建使用
  6. Kafka 之producer拦截器(interceptor)
  7. 基于YOLO和PSPNet的目标检测与语义分割系统(python)
  8. 基于.NetCore开发博客项目 StarBlog - (19) Markdown渲染方案探索
  9. 怎么样子盒子能撑起父盒子?浮动,BFC,边距重叠
  10. MongoDB 数据库的学习