如何将多个ts文件合并成一个ts文件

使用IDM从某网站下载的视频包含多个ts文件, 如何将多个ts文件合并成一个ts文件呢?

百度经验上有一种方法是通过copy命令实现ts文件的合并, 命令如下:

copy /b  F:\f\*.ts  E:\f\new.ts

这种方法有两个缺点:

  • 文件夹下的所有ts文件都会被合并
  • 文件夹下的ts文件的命名必须按照字母顺序排列, 否则合并文件后视频片段会产生混乱.

因为 ts文件合并的本质就是将ts文件的内容按照视频片段的顺序拼接在一起. 因此, 我编写了一个python脚本用于将ts文件合并在一起. 代码的核心部分如下:

...
        with open(outfile, 'wb') as fout:
            for fn in self.infiles:
                with open(fn, 'rb') as fin:
                    data = fin.read()
                    fout.write(data)
...

脚本可从GitHub进行下载.感兴趣的朋友可以自行尝试.

附一张软件截图:

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
将不同来源(硬盘、CD(包括DTS)、VCD、DVD)的各种音视频、图像转码mp4(或3gp、f4v)文件,供电脑或移动终端播放。 1、支持各种音视频来源的转码器 支持硬盘、CD(包括DTS)、VCD、DVD上的音视频的转码。 2、支持各种音视频格式 无需任何解码插件即可以支持当前所见的所有媒体格式,包括MPEG-1、MPEG-2PS、MPEG-2TS,MPEG-2PVA,VOB、MPEG-4/MP4、 AVI、DivX/Xvid、RM/RMVB、ASF/WMV/WMA、Quicktime、FLAC、Ogg、MP3、WAVE、MonkeyAPE等。 3、支持多个文件合并一个文件 可以将多个音视频文件合并一个文件输出。 可以给一个视频文件添加片头、片尾。 4、支持多音轨技术 保留源文件的多音轨,而不是像其它转码器只能保留第一个音轨。 5、支持转码字幕 转码过程中能保留源文件中的字幕,同时可以添加多个外挂字幕。 6、支持可见即可得的视频编辑 可以对音视频进行剪辑,裁剪; 可以调节视频的亮度、对比度、色度、饱和度; 可以缩放音量,最高到原音量的5倍; 可以添加文字或图片水印,支持各种效果; 可以添加字幕文件; 支持对音视频进行加密处理。加密处理的音视频必须经解密后方可播放。 7、支持各种移动终端的音视频转码器,输出mp4、3gp、f4v格式 支持家用电脑、Android手机、iPhone手机、iPod、iPad、AppleTV、PSP、PS3等设备。 内置了目前主流的各种设备的转码参数,也可以自己添加预定义的转码参数。 8、支持CUDA硬件加速技术 CUDA是NVIDIA提供的一种GPU加速技术,能利用硬件性能提升编码运算速度 使用CUDA硬件加速技术,转化速度提升3倍左右。 9.支持添加文件、目录、光驱,支持文件、目录拖放操作; 10、支持转码时进行视频预览 11、支持多语言 目前支持简体中文、英文。 12、支持自动更新 系统会自动检测是否有更新版本。   【3.3版本更新说明】 1.音频的采样率默认与源文件一致,提升转码速度。 2.改变转码器的默认码率计算方法。解决高清视频转码模糊的问题。 3.解决了部分媒体文件转码到99%出错的问题。
可以使用 FFmpeg 的 concat 功能将一个文件夹中的多个 ts 文件合并一个。具体操作如下: 1. 在命令行中进入 ts 文件所在的文件夹。 2. 运行以下命令,使用 find 命令找到所有的 ts 文件,并将它们的路径输出到 filelist.txt 文件中: ``` find . -name "*.ts" -type f -print0 | sort -z | xargs -0 cat > filelist.txt ``` 其中,. 表示当前文件夹,-name "*.ts" 表示文件名以 .ts 结尾,-type f 表示只查找文件而不是文件夹,-print0 表示以 null 字符作为文件名的分隔符,sort -z 表示以 null 字符作为分隔符进行排序,xargs -0 cat 表示将文件名作为参数传递给 cat 命令,cat 命令将所有文件内容合并输出到标准输出中,最后将标准输出重定向到 filelist.txt 文件中。 3. 创建一个文本文件,用于列出要合并ts 文件的路径。例如,可以创建一个名为 filelist.txt 的文本文件,并在其中列出要合并ts 文件的路径,如下所示: file '/path/to/file1.ts' file '/path/to/file2.ts' file '/path/to/file3.ts' 注意:每个文件路径前面要加上 file 关键字,并用单引号括起来,路径中间不能有空格。 4. 运行以下命令,使用 concat 功能将文件合并一个: ``` ffmpeg -f concat -i filelist.txt -c copy output.ts ``` 其中,-f concat 表示使用 concat 功能,-i filelist.txt 表示输入文件列表,-c copy 表示复制流而不进行重新编码,output.ts 表示输出文件名。 5. 等待命令执行完毕,即可得到合并后的 output.ts 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

falwat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值