开发动机:最近用手机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的碎片视频在手机里是隐藏的,需要将隐藏文件显示出来才可以将文件导出到电脑里,在安卓手机里将隐藏文件夹前面的.重命名去掉就可以了),第二个参数为要转换后文件的名字。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

m3u8转换到mp4 python_python实现m3u8格式转换为mp4视频格式相关推荐

  1. 如何将优酷KUX格式转换为MP4格式?

    先来给各位普及一下什么是kux格式,kux视频格式是优酷视频为了保护版权而推出的一种格式,就和爱奇艺的qsv格式.腾讯视频的qlv格式一样,只能用指定的播放器进行播放,而且一般的转换器也没办法进行转换 ...

  2. 快速将qsv格式转换为mp4的实用技巧

    有时候我们会遇到一些格式比较特殊的视频,使用我们安装的视频播放器无法播放,不得已,只能将它们删掉了!在二十一世纪了,所以小编绝对不能够允许这样的事情发生.虽然是开玩笑的,但是小编确实听说很多人因为手中 ...

  3. 如何将视频从QSV格式转换为MP4格式

    <为了你我愿意热爱整个世界>是爱奇艺独播的,那么用其他视频播放器要怎么观看?想要用其他的视频播放器观看爱奇艺下载的视频,需要利用视频格式转换器把爱奇艺QSV格式视频转换为MP4格式视频.那 ...

  4. 如何将KUX格式转换为MP4格式 1

    KUX是优酷下载的视频格式,别的视频播放器是无法观看优酷下载的视频.如果没有优酷播放器要怎么打开它下载的视频观看?我们可以转换优酷下载的视频格式.那么如何将KUX格式转换为MP4格式?这个时候视频格式 ...

  5. mpg格式转换为mp4格式

    如何将mpg格式转换为mp4格式?mpg的全称是Moving Pictures Experts Group,也被称为mpeg,是运动图像压缩算法的国际标准,简单的说mpg就是一种视频格式,mpg格式说 ...

  6. mpg格式转换为mp4格式的方法

    遇到mpg格式转换为mp4格式的问题,很多小伙伴都是一头雾水,不知道如何下手,可以借鉴转换过人的经验,就像读书一样站在巨人的肩膀上前行,可以帮助我们少走很多的弯路.如今是互联网时代,获取知识的渠道特别 ...

  7. Computer:将视频的avi格式转换为MP4格式多种方法集合

    Computer:将视频的avi格式转换为MP4格式多种方法集合 目录 将视频的avi格式转换为MP4格式多种方法集合 1.线下软件工具转换

  8. 电脑不支持MOV怎么办 怎么快速将mov格式转换为MP4

    现在网上视频素材的质量参差不齐,而且下载的渠道很多.所以不少视频下载到本地后,都因为编码不规范而不能导入premiere中.一些MOV格式的视频也是这样,premiere是不支持的而且对该格式的兼容性 ...

  9. mpg格式转换为mp4格式,如何操作?

    mpg格式转换为mp4格式,如何操作?MPG是一种常见的视频压缩格式,通常用于存储和传输音视频数据.MPG格式广泛应用于数字电视.DVD.视频流媒体.视频编辑软件等各个方面.许多电视节目.电影.音乐视 ...

  10. 电脑不支持MOV怎么办 怎么快速将mov格式转换为MP4 1

    现在网上视频素材的质量参差不齐,而且下载的渠道很多.所以不少视频下载到本地后,都因为编码不规范而不能导入premiere中.一些MOV格式的视频也是这样,premiere是不支持的而且对该格式的兼容性 ...

最新文章

  1. TCP协议的特点和TCP报文段格式
  2. 盘点:2020年最酷的12家机器学习初创公司
  3. H3CTE京东翰林讲师分享实验2 网络设备基本调试
  4. TCP/IP协议的一个具体实现Socket
  5. 【JavaSE04】Java中循环语句for,while,do···while
  6. 后 BERT 时代的那些 NLP 预训练模型
  7. Oracle性能监控脚本(sql)
  8. mysql 1129 错误Host is blocked because of many connection errors; unblock with 'mysqladmin flush-host
  9. 使用PowerShell脚本部署定时器到MOSS2010(原创)
  10. python 生成器_Python生成器
  11. pane Java_ToolPane.java
  12. java生成背景透明的png图片,Java生成背景透明的png图片
  13. leapftp怎么上传,小编教你leapftp怎么上传文件
  14. python可以做回归分析吗_使用python进行回归分析
  15. office安装找不到office.zh cn的解决办法
  16. 七日杀服务器直连教程,七日杀IP直连的方法
  17. VMware解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
  18. 谷歌官方回应了,99 部手机行为艺术「捉弄」谷歌地图后续
  19. 学习java框架-J2EE体系-Spring-IOC-AOP-Bean-事务-
  20. ssm基于微信小程序的游泳馆管理系统 uinapp

热门文章

  1. 1bit和1byte_Bit和Byte的区别及单位换算
  2. 如何搭建合理的BOM
  3. 一对一视频直播APP开发要点
  4. php计算两个地点的距离
  5. 有了繁难字库生僻字不用造(一)
  6. javaWeb的线下服装店管理平台、基于ssm(springboot版本也有)+mysql线下服装销售系统
  7. 2020.7.24 T3终章-剑之魂(jz暑假训练day9)
  8. C# 获取类的属性名
  9. 阿里云acp报名了可以退吗?阿里云acp认证所需具备的知识
  10. NMAKE参考之二——运行NMAKE