如何使用 ffmpeg 或其他基于 Linux 的工具从 DTS-HD MA 音轨中提取 DTS 核心?

如何使用 ffmpeg 或其他基于 Linux 的工具从 DTS-HD MA 音轨中提取 DTS 核心?

我正在尝试使用在 Linux 专用服务器上运行的 ffmpeg 从 DTS-HD MA 轨道中提取 DTS 核心。

我试过了:

ffmpeg -i input.mkv -vn -sn c:a copy output.dts

Note switches -vn and -sn disable video and subtitle track copying respectively.

这显然复制了整个 DTS 核心和 H MA 轨道。

如果 ffmpeg 是错误的工具,请说明替代方案,最好是 Linux 友好的。

谢谢

答案1

现在有 dca_core 比特流过滤器,因此使用:

ffmpeg -i DTS-HD_MA.dts -bsf:a dca_core -c:a copy TS-Core.dts

答案2

根据这一页eac3to可以做你想做的事情:

eac3to input.dtshd output.dts -core

由于它不支持很多容器,我建议ffmpeg先运行命令来提取音频流。

但请注意:要eac3to解码 DTS-HD,您需要商业软件的 DLL,要么是“Sonic Cinemaster Audio Decoder 4.3”,要么是“Arcsoft TotalMediaTheatre”的各个版本(推荐)。据我所知,这并不完全合法,所以我不会直接链接它。

答案3

除了 Anssi Hannula 在 ffmpeg 邮件列表上的回复之外,我还发现了两种从 DTS-HD MA 中提取 DTS 核心的替代方法,这两种方法对 Linux 友好。

复用器

可从Doom9 论坛。可以通过命令行使用文件运行.meta,文件本身可以从中生成,tsMuxerGUI或者您可以直接使用 GUI。

应用程序是 32 位的,因此在 64 位系统上安装起来比较困难。或者,你可以使用第三方存储库来减轻负担,例如对于 Debian,请尝试 deb-multimedia.org

制作MKV

可以使用以下说明为 Linux(例如基于 Debian 的系统)进行编译:MakeMKV 论坛。运行 MakeMKV,选择源.mkv文件,然后选择 DTS 核心音频流。您不能取消选择视频流。

ffmpeg 与 tsMuxeR 与 MakeMKV

ffmpeg在我的 Debian 机器上速度最快,其次是tsMuxerMakeMKV。后者要求您除了复制音频外还复制视频流。结果输出是一个.mkv包含视频流和 DTS 核心音频的文件。

ffmpeg和 MakeMKV 方法似乎都生成了相同的位完美输出文件,但文件tsMuxer大小和 md5 哈希值略有不同:

MakeMKV approach  1103097108   7b0c0fb9f8db27e9bf7aef351eb4fbda   
tsMuxer_approach  1103097236   021552f6ae4387b15635f9d0f0a9d7f0
ffmpeg_approach   1103097108   7b0c0fb9f8db27e9bf7aef351eb4fbda

所以综合起来,Anssi Hanula 使用 ffmpeg 的方法是最有效的。

相关内容