如何合并使用 DVB-S2 接收器录制的传输流 (ts)?

问题描述

有时我会用接收器 (DVB-S2) 录制纪录片,我想保留并重新编码。视频和音频数据被记录为传输流 (*.ts)。问题是,我的接收器(以及我所知道的大多数)拆分了这些文件(通常约为 3.8 Gb,甚至在 NTFS 上)。通常在 Linux (Bash) 下合并这些文件应该很容易:

cat 000.ts 001.ts ... 00n.ts > merged.ts

对于某些设备,这可以完美地工作,但是来自其他接收器(和我当前的接收器)的 ts 文件在 ts 文件合并后总是会产生一点间隙(可以在合并的文件中听到和看到)。有没有不同的方法来合并 ts 文件而没有这个间隙?

我当前的接收器产生这样的文件

     bytes  name
     65536  000.dvr
4099398656  000.ts
     65536  001.dvr
2131926016  001.ts
     32768  info3.dvr

感谢您的帮助。

编辑:

我也试过这样的 ffmpeg:

ffmpeg -f concat -i file_list.txt -safe 0 -c copy output.ts

但它并没有解决问题。音频流中的可听间隙消失了,但在合并位置的视频流中存在块伪影。现在音频和视频轨道也不同步。

使用命令:

ffmpeg -i "concat:000.ts|001.ts" -c copy output.ts

同步被保留,但在合并站点仍然有可见的块伪影。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...