出处不详,原版忘记在哪里找到的了,已做修改

首先说一下注意事项:

  • 手机直接连在电脑上,可以复制文件,但是不能够通过命令行访问。其原因大概是没有挂载盘符,导致其路径一直在/此电脑下面。

  • FFmpeg的安装等不再赘述,我这里已经安装好了。而且这里的FFmpeg已经加入环境变量,即全局可调用。如果没有加入环境变量,则需要通过安装路径/ffmpeg.exe或者进入安装文件夹,通过.\ffmpeg.exe来调用

应该是两个思路:

  • 删掉m3u8当中的ts文件路径,拼接文件名,然后用CMD的bat命令copy /b将这些文件合并,设定输出格式为MP4

  • 更改m3u8当中的ts文件路径为实际路径,然后用FFmpeg一行命令合并

第一种方式如下:

import os
import threading
import time
import json# 读取m3u8文件
def read_file():f=open('D:/X-code/download/video/index.m3u8')text_list=f.readlines()files = []for i in text_list:if i.find('#EX')==-1: #有#EXfind返回0,无-1files.append(i)# 收集ts文件路径和在视频当中对应的位置f.close()tmp = []for file in files[0:len(files)]:tmp.append(file.replace("\n","").replace("/storage/emulated/download/video_35222/",""))# 删掉ts文件的路径os.chdir("D:/X-code/download/video/")  # 用于改变当前工作目录到指定的路径shell_str = '+'.join(tmp)# 将处理结果连接起来# 由于忘记那时候处理的文件的样子# 所以此时并不清楚为何要将处理结果连接起来# 似乎是为了生成FFmpeg的命令return shell_str# 返回生成的命令def thread(shell_str):time.sleep(2)# windows窗口命令——(copy/b)文件无缝拼接隐藏shell_str = 'copy /b ' + shell_str + ' 1.mp4'# os模块中的system()函数可以方便地运行其他程序或者脚本os.system(shell_str)print('---子线程结束---')# 好像是一个子线程的操作?# 不太清楚,忘记当时是怎么处理的了def gather():shell_str=files=read_file()# 读取文件,生成命令t1 = threading.Thread(target=thread(shell_str))# 执行命令t1.setDaemon(True)t1.start()t1.join(timeout=1)#不填就是等待子线程结束# 似乎是为了将手机缓存的文件路径,改为电脑上的路径
def altpath():f=open('D:/X-code/download/index.m3u8',mode='r')text_list=f.readlines()f.close()tmp = []for i in text_list:tmp.append(i.replace("storage/emulated/download/video_35222/","D:/X-code/download/"))f=open('D:/X-code/download/index.m3u8',mode='w')f.writelines(tmp)f.close()if __name__ == "__main__":altpath()#gather()

第二种方式:

ffmpeg -allowed_extensions ALL -i index.m3u8 -c copy 1.mp4
# 这个命令是用FFmpeg来合并
# 用FFmpeg的话,直接修改m3u8文件当中ts的实际路径
# 然后在该文件夹下进入命令行,一行命令即可

一些参考文献:

windows窗口命令——(copy/b)文件无缝拼接隐藏

(copy/b)无缝拼接命令+实例应用

Python+FFmpeg/CMD根据m3u8合并ts文件相关推荐

  1. 根据m3u8合并ts文件

    前言 本文使用Python3.6根据m3u8文件里的ts文件顺序进行ts文件的合并,最终将生成一个完整的ts文件.如果你的电脑上没有安装Python,我已经将Python文件打包成了exe文件,地址见 ...

  2. 下载m3u8文件中的视频,使用FFMpeg解密合并.ts文件

    1.查看m3u8文件内容 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:13 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:ME ...

  3. FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法

    环境:centos7 开发语言:php 框架:视频转码服务系统 生成ASE加密文件需要用到的命令: #!/bin/sh BASE_URL=${1:-'.'} openssl rand 16 > ...

  4. m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)

    关于本地文件的m3u8格式 从网站上下载的m3u8文件格式是这样的 如果想用ffmpeg文件在线处理,直接把其中的XXXXXX.ts和key.key文件替换成全路径的就可以,比如这样: 然后直接用ff ...

  5. python合并ts文件教程

    python合并ts文件教程 前言 基本开发环境 相关使用模块 正文 1.获取正确的播放顺序 2.合并ts文件 完整代码 前言 此教程为只是合并ts文件,前提必须已经下载好m3u8文件和ts文件才能进 ...

  6. tsd3dmapper软件使用方法_TS文件连接器:如何快速合并TS文件?

    吴川 华南区技术负责人 概要 TS是"Transport Stream"的缩写,它是一种音视频封装格式,格式全称为MPEG2-TS.当我们想合并多个TS文件,或者想将TS文件与其他 ...

  7. 多线程下载m3u8影视资源 通过ffmpeg合并ts文件为mp4

    需要用到的ffmpeg,下载地址:Download FFmpeg  下载以后的目录. 合并.转换.切片都用到了ffmpeg.exe,其它两个我暂时没用到. <dependency>< ...

  8. 爬虫python下载电影_python爬虫:抓取下载电影文件,合并ts文件为完整视频

    目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...

  9. 如何对加密的m3u8、ts文件进行合并

    先来简要介绍一下什么是MPEG2-TS吧.MPEG2格式大家都通过对DVD的接触而多多少少了解了一些,DVD节目中的MPEG2格式,确切地说是MPEG2-PS,全称是ProgramStream,而TS ...

最新文章

  1. 小白都能看懂的神经网络教程:从原理到优化如此简单
  2. SSM-Spring-19:Spring中JdbcTemplate
  3. NSTableView使用笔记(一)
  4. android黑科技系列——静态分析技术来破解Apk
  5. AntD02 Table组件的使用
  6. 2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - H. 等差数列
  7. 哆啦A梦消除连连看游戏源码项目完整版
  8. 阿里高级技术专家箫逸:如何画好一张架构图?
  9. 避免畸形儿受孕时间有10忌
  10. python bool 转vc int_史上最全的 Python 3 类型转换指南
  11. C++---------之--------【虚析构函数】
  12. 说一下php的自动加载,php的_autoload函数实现自动加载类的使用
  13. 本周小结!(二叉树系列之四)
  14. cnvd与cnnvd区别_漏洞都是怎么编号的CVE/CAN/BUGTRAQ/CNCVE/CNVD/CNNVD
  15. 对union的遍历运算
  16. Crosses and Crosses POJ - 3537 (博弈)
  17. 李嘉诚的语录,经典名人名言-李嘉诚
  18. R语言遍历字符串再拼接复原
  19. WinEdt编译提示pdf文件打不开,Cannot Run pdf
  20. android 沉浸式开源库,Android沉浸式状态栏

热门文章

  1. UE4_DataTable 实现Id自增与设置RowName
  2. 矩形换位算法C语言实现,关于C#:任意大小的矩形矩阵的运行时有效换位
  3. 老司机 iOS 周报 #54 | 2019-01-28
  4. 多个IEXPLORE.EXE专杀方案
  5. 2022年P气瓶充装上岗证题目模拟考试平台操作
  6. mysql latid1_mysql数据库触发器详解-阿里云开发者社区
  7. java进阶复习资料(参考网站中较全)
  8. Nexus 6P 解锁+刷机教程
  9. winfrom-绘制十字线
  10. win10 LTSC 2019,发现默认打开图片的程序是“画图”,图片查看器无法正常启动