合并ts文件

合并ts文件

文件在手机中的存储:

├── fe2cd5a64fe78a69f90a7c0a2b08a240e1444082.ts
├── ff5b590b44e676dc0a72d127fd165adaa0a478ec.ts
├── ff7085e695211f5e0b8cd239d51ad7870889c14b.ts
├── ....
├── ffec91db3441fd42adab27d0dbe26f424fc23a1d.ts
├── index.m3u8
├── index.m3u8.play
├── task.info

1) 根据猎豹浏览器中的download.db,使用sqlite3打开文件,查看对应文件在手机浏览器中的真实路径.

2) 通过手机插上U盘/移动硬盘,将文件拷贝到电脑

3) 根据index.m3u8.play中的ts片段文件,生成一个总的ts文件.

可以使用C/OC/python等,读取index.m3u8.play文件,生成类似下面的shell语句,即可合并为一个ts文件.

windows:

 copy /b “1.ts”+“2.ts”+…+”n.ts” /y “combine.ts”

mac:

  cat 1.ts 2.ts > combine.ts

相关程序代码:

    //读文件

    NSString *fullFilePath = @"/xxx/index.m3u8.play";

    NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:fullFilePath ];

    NSData *data3 = [handle readDataToEndOfFile];

    NSString *temp = [[NSString alloc]initWithData:data3 encoding:NSUTF8StringEncoding];

    NSArray *tempArray = [temp componentsSeparatedByString:@"\n"];

    NSMutableArray *fileMArray = [NSMutableArray array];

    for (NSInteger index = 0 ; index < tempArray.count; index++) {
NSString *fileContentLine = tempArray[index];
if ([fileContentLine hasSuffix:@".ts"]) {
[fileMArray addObject:fileContentLine];
}
}
NSString *fileNames = [fileMArray componentsJoinedByString:@" "]; //写入文件 NSString *toPath = @"/yyy/combineTSFile.sh";
NSFileHandle *handle2 = [NSFileHandle fileHandleForWritingAtPath:toPath]; NSLog(@"%s [LINE:%d] fileNames=%@", __func__, __LINE__,fileNames); NSData *data = [fileNames dataUsingEncoding:NSUTF8StringEncoding];
[handle2 writeData:data];
[handle2 synchronizeFile];
[handle2 closeFile];

4) 将ts文件转换为mp4文件

ffmpeg -i combine.ts -acodec copy -vcodec copy -bsf aac_adtstoasc output.mp4

合并ts文件的更多相关文章

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

    1.获取m3u8文件 2.代码 """@author :Eric-chen@contact :sygcrjgx@163.com@time :2019/6/16 15:32 ...

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

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

  3. 合并.ts文件 无需软件

    cmd 命令直接输入: copy /b D:\temp\*.ts D:\new.ts D盘temp目录的ts文件 合并 并输出到 D盘 new.ts文件

  4. 如何合并ts文件?

    答: 使用ffmpeg工具,使用方法如下: ffmpeg -i <m3u8 file name> <output file name> 注意:要先将m3u8文件中描述的ts文件 ...

  5. Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8

    见范例 ffmpeg -i "concat:file001.ts|file002.ts|file003.ts|file004.ts......n.ts" -acodec copy ...

  6. python合并大量ts文件成mp4格式(ps:上限是450,亲测)

    import os #exec_str = r'copy /b ts/c9645620628078.ts+ts/c9645620628079.ts ts/1.ts' #os.system(exec_s ...

  7. 网络视频m3u8解密及ts文件合并

    网络视频m3u8解密及ts文件合并 参考了两篇博客: https://blog.csdn.net/weixin_41624645/article/details/95939510 https://bl ...

  8. 合并ts到mp4

    这个比较好用. copy /b d:\xxx\download_ts\*   d:\xxx\download_ts\new.mp4 用python ffmpeg也可以,不过我合出来有卡顿或者掉声问题, ...

  9. 加密的m3u8、ts文件合并

    加密后的ts文件不能直接合并或播放,需要使用key对每个ts文件进行解密. 分为两种情况: (1).如果ts文件已经全部下载好,则可以直接在本地通过ffmpeg快速解密合并. (2).如果ts文件没有 ...

随机推荐

  1. @property的使用方法

    参看廖大神的博客 使用@property 有时间整理一下. python 没有私有成员变量的概念,通常在变量前面加单/双下划线来表示私有变量(非共有变量). 通常在python中,以单下划线开始的成员 ...

  2. 【转载,整理】Linux性能监控

    一. 比较全的linux性能检测网站 1. 很好的网站,原文:http://os.51cto.com/art/201402/430050.htm 监测 cpu.内存.网络.IO等命令及工具   2.  ...

  3. LINQ中in的实现方法-LINQ To Entities如何实现查询 select * from tableA where id in (1,2,3,4)

    如果用in是字符串类型无问题,可以直接这样用 ).Where(entity => urls.Contains((entity.NavigateUrl == null ? "" ...

  4. 怎么部署 .NET Core Web项目 到linux

    .NET Core is free, open source, cross platform and runs basically everywhere. STEP 0 - GET A CHEAP H ...

  5. Spring Security教程(三):自定义表结构

    在上一篇博客中讲解了用Spring Security自带的默认数据库存储用户和权限的数据,但是Spring Security默认提供的表结构太过简单了,其实就算默认提供的表结构很复杂,也不一定能满足项 ...

  6. eclipse 安装properties编辑器,显示中文

    如图添加,地址为: propedit.sourceforge.jp/eclipse/updates/ 选择红框,只安装这个即可 然后一直安装,再接受同意,最后重启eclipse就安装好了 重启后发现文 ...

  7. node webkit(nw.js) 设置自动更新

    原理:把更新的文件放在服务器上,设置一个客户端版本号,每次打开客户端的时候,通过接口获取服务器上的版本,如果高于本地的版本就下载服务器上的代码,低于或等于就不更新 <script> var ...

  8. error occurred during the file system check

    fsck -c 然后一路:y reboot 问题解决!!!

  9. 使用Windows 10专业版 进行VS2017开发 遇到 HTTP Error 400. The request hostname is invalid

    使用IIS Express 支持非localhost访问 只要使用域名或者本机IP地址都无法进行 iisexpress 调试  公网ip,还是127.0.0.1都出现上面那个错误 主要是新的系统环境 ...

  10. Java 编程下简介 Class 与类加载

    即使有一个类并对它一无所知,但其实它本身就包含了许多信息,Java 在需要使用到某个类时才会将类加载,并在 JVM 中以一个 java.lang.Class 的实例存在.从 Calss 实例开始,可以 ...