FFMS / ffms2

An FFmpeg based source library and Avisynth/VapourSynth plugin for easy frame accurate access
Other
582 stars 105 forks source link

Add DTS audio support. #316

Closed MinorMole closed 6 years ago

MinorMole commented 6 years ago

Add DTS audio support. (DTS aka Digital Theater Systems)

Thank you so much.

dwbuiten commented 6 years ago

It already supports this. What makes you think otherwise?

MinorMole commented 6 years ago

@dwbuiten The FFIndex return unsupported when the MKV file contains DTS audio. I tried to remux file without DTS audio and it was fine. (No problem with PCM or AAC and I tried many different files)

FFIndex: Audio format change detected. This is currently unsupported. Channels: 2 -> 2; Sample rate: 48000 -> 48000; Sample format: Unknown -> Unknown

MediaInfo of the DTS audio.

Audio ID : 2 Format : DTS Format/Info : Digital Theater Systems Format profile : MA / Core Codec ID : A_DTS Duration : 1 h 45 min Bit rate mode : Variable / Constant Bit rate : 1 472 kb/s / 255 kb/s Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 kHz Frame rate : 93.750 FPS (512 SPF) Bit depth : 24 bits Compression mode : Lossless / Lossy Stream size : 1.10 GiB (96%) Language : Japanese Default : No Forced : No

dwbuiten commented 6 years ago

Seems odd. It should be supported just fine. I'll find a sample and try this weekend.

MinorMole commented 6 years ago

@dwbuiten Here is my sample (I remuxed the audio to the shortest video I can find.)

https://drive.google.com/open?id=1Sdcc_xK-2vqoZ5eLp8uv7qjzb7KCEMJl

Thank for checking this out. 👍

dwbuiten commented 6 years ago

Looks like our printing code was a little outdated. Updated this in 36267006185050c6d44967acadabd06a6d1c7f85 and now it shows:

Indexing error: Audio format change detected. This is currently unsupported. Channels: 2 -> 2; Sample rate: 48000 -> 48000; Sample format: s32p -> s16p

At least that's a little more clarity on what is happening. It's possible the DTS-HD MA extension is dropping off and just outputting the core at some point. Will look further.

dwbuiten commented 6 years ago

Looking closer, it seems the last 2253 of 593598 total DTS frames are 16-bit (core only?), so this bug is actually a duplicate of #22, which is our oldest bug.

That's recently come up as a TODO before the next FFMS2 release.

In the meantime, you can just chop off the last 22-30 seconds of audio when you mux, which seems to e nothing but silence anyway. I'm guessing you remuxed some Blu-ray .m2ts directly (without the .mpls info), and the last 20-30 seconds are some other feature or slideshow that has silence + 16-bit core-only DTS.

Closing this for now as a duplicate of #22.