¿Cómo extraigo el núcleo DTS de una pista DTS-HD MA usando ffmpeg o una herramienta alternativa basada en Linux?

2

Estoy tratando de extraer el núcleo DTS de una pista MA de DTS-HD usando ffmpeg ejecutándose en un servidor dedicado de Linux.

He intentado:

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

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

Obviamente, esto copia todo el núcleo DTS y la pista HD MA a través.

Si ffmpeg es la herramienta incorrecta, indique una alternativa, preferiblemente compatible con Linux.

Gracias

fswings
fuente

Respuestas:

5

Ahora hay un filtro de flujo de bits dca_core, así que use:

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

Paul B. Mahol
fuente
¿Puedes agregar desde qué versión de ffmpeg es válida?
fswings
1
@fswings Fue agregado en commit ff982e0 Hace dos días, necesitará una compilación reciente de la rama maestra de git actual.
llogan
Creo que vale la pena agregar a esta respuesta y también actualizarla una vez que se publique; de ​​lo contrario, muchas personas lo sacarán de su repo de distribución y se preguntarán por qué no funciona.
fswings
@fswings Se recomienda que los usuarios generales utilicen una compilación de la rama maestra de git actual. Por lo general, es tan fácil como descargar un binario a través de enlaces en FFmpeg Descargar página. Los lanzamientos están dirigidos a los distribuidores, y las nuevas funciones no se vuelven a portar a los lanzamientos existentes.
llogan
3

De acuerdo a esta página , eac3to puedes hacer lo que estás tratando de:

eac3to input.dtshd output.dts -core

Como no admite muchos contenedores, sugiero que ejecute su ffmpeg comando primero para extraer el flujo de audio.

Tenga en cuenta sin embargo: para eac3to para decodificar DTS-HD, necesitará DLL de software comercial, ya sea "Sonic Cinemaster Audio Decoder 4.3" o varias versiones de "Arcsoft TotalMediaTheatre" (recomendado). AFAIK, esto no es completamente legal, por lo que no lo vincularé directamente.

Daniel B
fuente
Gracias Daniel, estaba buscando algo más linux amigable. Eso no quiere decir que soy reacio a Windows, por supuesto.
fswings
3

Además de la respuesta de Anssi Hannula en la lista de correo de ffmpeg, encontré dos métodos alternativos para extraer el núcleo DTS de un MA de DTS-HD que son compatibles con Linux.

tsMuxeR

Disponible desde el Foro de doom9 . Se puede ejecutar a través de la línea de comandos usando un .meta archivo, que a su vez puede ser generado desde el tsMuxerGUI o puedes usar la GUI directamente.

La aplicación es de 32 bits, lo que puede dificultar la instalación en sistemas de 64 bits. Alternativamente, puede reducir la carga utilizando repositorios de terceros, por ejemplo. para Debian prueba deb-multimedia.org

MakeMKV

Se puede compilar para Linux (por ejemplo, sistemas basados ​​en Debian) usando las instrucciones en el Foro MakeMKV . Ejecuta MakeMKV, selecciona la fuente .mkv Archivo y luego simplemente seleccione el flujo de audio del núcleo DTS. No se puede deseleccionar el flujo de video

ffmpeg vs. tsMuxeR vs. MakeMKV

ffmpeg fue más rápido en mi caja de Debian, seguido de tsMuxer y luego MakeMKV. Este último requiere que copie un flujo de video además del audio. La salida resultante es un .mkv Archivo que contiene una transmisión de video y el audio central de DTS.

Ambos ffmpeg y el enfoque MakeMKV parecía producir los mismos archivos de salida de bits perfectos, mientras que tsMuxer fue ligeramente diferente como lo muestran los tamaños de archivo y los hashes md5:

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

Entonces, en resumen, el método de Anssi Hanula usando ffmpeg es el más efectivo.

fswings
fuente