[FFmpeg-user] CD-DTS

Ionel GARDAIS igardais at yahoo.fr
Sun Dec 22 16:08:59 CET 2013

Le 22 déc. 2013 à 13:59, Carl Eugen Hoyos <cehoyos at ag.or.at> a écrit :

> Ionel GARDAIS <igardais <at> yahoo.fr> writes:
>>> Does the resulting wav file play with ffplay?
>> ffplay does not build as I don't have the SDL compiled …
> The alternative is:
> $ ffmpeg -i out.wav out2.wav
> (and play out2.wav with any media player)

You are right.
Given the following sequence :

$ ./ffmpeg -i input.aac -acodec dts -strict -2 -ar 44100 output.dts.44100.dts
$ ./ffmpeg -f s16le -ac 2 -ar 44100 -i output.dts.44100.dts -acodec copy test.dts.44100.wav
$ ./ffmpeg -i test.dts.44100.wav test.unpack.wav

- output.dts.44100.dts :
-- NOT playable in VLC
-- CAN be burned as audio track with cdrecord
-- receiver detects DTS stream BUT plays silence

- test.dts.44100.wav :
-- NOT playable in VLC
-- CAN be burned as audio track with cdrecord
-- receiver DOES NOT detect DTS and plays noise
-- shntool sees a valid wav file of the correct duration

- test.unpack.wav :
-- IS playable in VLC, seen as PCM S16 LE, 44.1kHz, 16b, with 5.1 channels
-- CANNOT be burned as audio track in cdrecord ("inappropriate audio coding")
-- shntool sees the RIFF magic bytes BUT detects an unsupported audio format (0xfffe).

A working workflow to create a multi-channel cd is then :
- extract multi-channel source to a multi-channel wav file
$ ffmpeg -i multichannel.input.file -acodec pcm_s16le -ar 44100 multichannel.pcm.wav

- use dcaenc to encode it to a dca file
$ dcaenc multichannel.pcm.wav dcaenc.dts 1411200

- pack the dca file inside a stereo wav container
$ ffmpeg -f s16le -ac 2 -ar 44100 -i dcaenc.dts -acodec copy final.wav

- burn it
$ cdrecord -audio -pad final.wav


More information about the ffmpeg-user mailing list