FAQ  •  Register  •  Login

Playstation 3 profile for DTS audio to LPCM

<<

mikehd

User avatar

Serviio newbie

Posts: 5

Joined: Sun Jun 17, 2012 4:49 pm

Location: Oregon US

Post Sun Jun 17, 2012 6:19 pm

Playstation 3 profile for DTS audio to LPCM

Hi all,

Been loving serviio for several months and have finally found time to investigate why certain videos are showing as Unsupported Data on my PS3.

It seems that if I have any videos that were created using Handbrake with DTS pass thru will show up as Unsupported Data. Using ffmpeg -i I see this:
  Code:
FFmpeg version SVN-r21231-Sherpya, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Jan 16 2010 05:42:31 with gcc 4.2.5 20080919 (prerelease) [Sherpya]
  libavutil     50. 7. 0 / 50. 7. 0
  libavcodec    52.47. 0 / 52.47. 0
  libavformat   52.47. 0 / 52.47. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.15. 0 /  1.15. 0
  libswscale     0. 8. 0 /  0. 8. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 013ebca0]sample aspect ratio already set to 127:128, overriding by 'pasp' atom
[mov,mp4,m4a,3gp,3g2,mj2 @ 013ebca0]max_analyze_duration reached

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd:\Aliceinwonderland-26.m4v':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    encoder         : HandBrake 0.9.6 2012022800
  Duration: 01:48:34.89, start: 0.-83411, bitrate: 11557 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1920x1072 [PAR 134:135 DAR 16:9], 5754 kb/s, 47.95 fps, 23.98 tbr, 90k tbn,
47.95 tbc
    Stream #0.1(eng): Audio: mp4a / 0x6134706D, 48000 Hz, 6 channels, 1509 kb/s
    Stream #0.2(eng): Audio: mp4a / 0x6134706D, 48000 Hz, 6 channels, 3966 kb/s
    Stream #0.3(eng): Audio: ac3, 48000 Hz, 2 channels, s16, 320 kb/s
    Stream #0.4(und): Subtitle: text / 0x74786574


and mediainfo:

  Code:
General
CompleteName                     : D:\Aliceinwonderland-26.m4v
Format                           : MPEG-4
Format_Profile                   : Base Media / Version 2
CodecID                          : mp42
FileSize/String                  : 8.77 GiB
Duration/String                  : 1h 48mn
OverallBitRate_Mode/String       : Variable
OverallBitRate/String            : 11.6 Mbps
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35
Encoded_Application              : HandBrake 0.9.6 2012022800

Video
ID/String                        : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format_Profile                   : High@L4.0
Format_Settings_CABAC/String     : Yes
Format_Settings_RefFrames/String : 4 frames
CodecID                          : avc1
CodecID/Info                     : Advanced Video Coding
Duration/String                  : 1h 48mn
BitRate_Mode/String              : Variable
BitRate/String                   : 5 755 Kbps
Width/String                     : 1 920 pixels
Height/String                    : 1 072 pixels
DisplayAspectRatio/String        : 16:9
DisplayAspectRatio_Original/Stri : 16:9
FrameRate_Mode/String            : Variable
FrameRate/String                 : 23.976 fps
FrameRate_Minimum/String         : 23.974 fps
FrameRate_Maximum/String         : 23.981 fps
ColorSpace                       : YUV
ChromaSubsampling                : 4:2:0
BitDepth/String                  : 8 bits
ScanType/String                  : Progressive
Bits-(Pixel*Frame)               : 0.117
StreamSize/String                : 4.36 GiB (50%)
Encoded_Library/String           : x264 core 120
Encoded_Library_Settings         : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=3 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35
Color primaries                  : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics         : BT.709-5, BT.1361
Matrix coefficients              : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

Audio #1
ID/String                        : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Format_Profile                   : ES
CodecID                          : A9
Duration/String                  : 1h 48mn
BitRate_Mode/String              : Constant
BitRate/String                   : 1 509 Kbps
Channel(s)/String                : 6 channels
ChannelPositions                 : Front: L C R, Side: L R, LFE
SamplingRate/String              : 48.0 KHz
BitDepth/String                  : 24 bits
Compression_Mode/String          : Lossy
Video_Delay/String               : -83ms
StreamSize/String                : 1.14 GiB (13%)
Language/String                  : English
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35

Audio #2
ID/String                        : 3
Format                           : DTS
Format/Info                      : Digital Theater Systems
Format_Profile                   : MA / Core
CodecID                          : A9
Duration/String                  : 1h 48mn
BitRate_Mode/String              : Variable
BitRate/String                   : 2 482 Kbps / 1 510 Kbps
BitRate_Nominal/String           : 3 966 Kbps
BitRate_Maximum/String           : 5 719 Kbps
Channel(s)/String                : 6 channels
ChannelPositions                 : Front: L C R, Side: L R, LFE
SamplingRate/String              : 48.0 KHz
BitDepth/String                  : 24 bits
Compression_Mode/String          : Lossless / Lossy
Video_Delay/String               : -83ms
StreamSize/String                : 3.01 GiB (34%)
Language/String                  : English
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35

Audio #3
ID/String                        : 4
Format                           : AC-3
Format/Info                      : Audio Coding 3
Format_Profile                   : Dolby Digital
Format_Settings_ModeExtension    : CM (complete main)
Format_Settings_Endianness       : Big
CodecID                          : ac-3
Duration/String                  : 1h 48mn
BitRate_Mode/String              : Constant
BitRate/String                   : 320 Kbps
Channel(s)/String                : 2 channels
ChannelPositions                 : Front: L R
SamplingRate/String              : 48.0 KHz
BitDepth/String                  : 16 bits
Compression_Mode/String          : Lossy
Video_Delay/String               : -83ms
StreamSize/String                : 249 MiB (3%)
Language/String                  : English
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35

Text
ID/String                        : 5
Format                           : Apple text
CodecID                          : text
Duration/String                  : 1h 48mn
BitRate_Mode/String              : Variable
BitRate/String                   : 0 bps
StreamSize/String                : 375 Bytes (0%)
Encoded_Date                     : UTC 2012-06-16 22:56:23
Tagged_Date                      : UTC 2012-06-17 04:31:35



Other video files converted with Handbrake without DTS passthru play well.

So the heart of my question is what to use from the above info to modify the PS3 profile to allow for transcoding of DTS to LPCM.

Starting with the original:

  Code:
<Audio targetContainer="lpcm" aSamplerate="48000">
            <Matches container="flac" />
            <Matches container="ogg" />
            <Matches container="adts" />
         </Audio>


I think that I would do this:

  Code:
<Audio targetContainer="lpcm" aSamplerate="48000">
            <Matches container="flac" />
            <Matches container="ogg" />
            <Matches container="adts" />
            <Matches container="mp4a"/>


I used "mp4a" as the "matches container" value since that is what I see matched to the DTS track in the ffmpeg -i output.

Am I on the right track?
Windows 10 garage server running Serviio 2.3 listening on BubbleUPnP through a WiiM streamer
<<

mikehd

User avatar

Serviio newbie

Posts: 5

Joined: Sun Jun 17, 2012 4:49 pm

Location: Oregon US

Post Sun Jun 17, 2012 7:46 pm

Re: Playstation 3 profile for DTS audio to LPCM

I tried what I thought was the right track in my post above but it failed due to mp4a not being a recognized container.

Can DTS be remuxed instead of transcoded? If so, what container?
Windows 10 garage server running Serviio 2.3 listening on BubbleUPnP through a WiiM streamer
<<

patters

User avatar

DLNA master

Posts: 1282

Joined: Sat Oct 09, 2010 3:51 pm

Location: London, UK

Post Sun Jun 17, 2012 9:29 pm

Re: Playstation 3 profile for DTS audio to LPCM

Just to be clear - adts is a separate thing to DTS audio. It's a type of encapsulation for AAC audio streams:
http://www.hydrogenaudio.org/forums/lof ... 50275.html

DTS can be remuxed (for instance to m2ts), though FFmpeg doesn't do this in a way that works with Sony products. I have an open FFmpeg support ticket for this issue:
http://ffmpeg.org/trac/ffmpeg/ticket/1398

It looks to me like Handbrake isn't remuxing the DTS properly either. It should show up in FFmpeg as 'dca' not mp4a.
As a workaround, you can use the tool tsMuxer to remux these files before adding them to your Serviio library. It produces files with DTS that definitely work on Sony hardware.
LG OLED55B8PLA | PS4 Pro | Xbox One S | Synology DS214play
Serviio 2.1 package for Synology NAS - with limited hardware transcoding support!
<<

mikehd

User avatar

Serviio newbie

Posts: 5

Joined: Sun Jun 17, 2012 4:49 pm

Location: Oregon US

Post Sun Jun 17, 2012 10:06 pm

Re: Playstation 3 profile for DTS audio to LPCM

patters wrote:Just to be clear - adts is a separate thing to DTS audio. It's a type of encapsulation for AAC audio streams:
http://www.hydrogenaudio.org/forums/lof ... 50275.html

DTS can be remuxed (for instance to m2ts), though FFmpeg doesn't do this in a way that works with Sony products. I have an open FFmpeg support ticket for this issue:
http://ffmpeg.org/trac/ffmpeg/ticket/1398

It looks to me like Handbrake isn't remuxing the DTS properly either. It should show up in FFmpeg as 'dca' not mp4a.
As a workaround, you can use the tool tsMuxer to remux these files before adding them to your Serviio library. It produces files with DTS that definitely work on Sony hardware.


Thank you for the clarification. I had forgotten about tsmuxer. I'll give it a go.
Windows 10 garage server running Serviio 2.3 listening on BubbleUPnP through a WiiM streamer
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17215

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Mon Jun 18, 2012 12:03 pm

Re: Playstation 3 profile for DTS audio to LPCM

also updte your FFMpg, your version is 2 years old.
<<

mikehd

User avatar

Serviio newbie

Posts: 5

Joined: Sun Jun 17, 2012 4:49 pm

Location: Oregon US

Post Tue Jun 19, 2012 2:20 am

Re: Playstation 3 profile for DTS audio to LPCM

zip wrote:also updte your FFMpg, your version is 2 years old.


Thanks, I used the ffmpeg on my client PC to gen the ffmpeg -i info. The serviio ffmpeg was from Jan 2012 but I replaced it with a June 2012 build just in case.
Windows 10 garage server running Serviio 2.3 listening on BubbleUPnP through a WiiM streamer

Return to Transcoding

Who is online

Users browsing this forum: No registered users and 13 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.