Transcoding when audio track is in container already

Hi,

plexmediaserver-1.13.5.5291-6fa5e50a8.x86_64

I just noticed something(s) odd.

  1. The Plex Transcoder is using more CPU to transcode 7.1 TrueHD to AAC than it uses to transcode h.264 to 3mb/sec. It is really odd - it spikes all 8 threads of my i7 to 100% for 6 seconds every 10 seconds. The machine transcodes h264 video with less resources.

  2. The same mkv container already has an AAC tracm in it - why not just stream it direct?

Anyone know why? TiA!
-Greg

  • EBML head
    |+ EBML version: 1
    |+ EBML read version: 1
    |+ Maximum EBML ID length: 4
    |+ Maximum EBML size length: 8
    |+ Document type: matroska
    |+ Document type version: 2
    |+ Document type read version: 2
  • Segment: size 23642169942
    |+ Seek head (subentries will be skipped)
    |+ EBML void: size 1021
    |+ Segment information
    | + Timestamp scale: 1000000
    | + Duration: 01:47:16.096000000
    | + Date: Sat Jul 21 18:39:40 2018 UTC
    | + Segment UID: 0x85 0x31 0x12 0xad 0x40 0xc9 0x32 0x95 0xc4 0x36 0xda 0x71 0x58 0x89 0xd7 0xd4
    |+ Tracks
    | + Track
    | + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
    | + Track UID: 1
    | + Track type: video
    | + Default track flag: 0
    | + Lacing flag: 0
    | + Minimum cache: 1
    | + Codec ID: V_MPEG4/ISO/AVC
    | + Codec’s private data: size 134 (h.264 profile: High @L4.1)
    | + Default duration: 00:00:00.041708333 (23.976 frames/fields per second for a video track)
    | + Video track
    | + Pixel width: 1920
    | + Pixel height: 1080
    | + Display width: 1920
    | + Display height: 1080
    | + Track
    | + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
    | + Track UID: 2
    | + Track type: audio
    | + Default track flag: 1
    | + Lacing flag: 1
    | + Codec ID: A_TRUEHD
    | + Language: eng
    | + Default duration: 00:00:00.000833333 (1200.000 frames/fields per second for a video track)
    | + Name: Surround 7.1
    | + Audio track
    | + Sampling frequency: 48000
    | + Channels: 8
    | + Track
    | + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
    | + Track UID: 3
    | + Track type: audio
    | + Default track flag: 0
    | + Lacing flag: 1
    | + Codec ID: A_AC3
    | + Language: eng
    | + Default duration: 00:00:00.032000000 (31.250 frames/fields per second for a video track)
    | + Name: Surround 5.1
    | + Audio track
    | + Sampling frequency: 48000
    | + Channels: 6
    | + Track
    | + Track number: 4 (track ID for mkvmerge & mkvextract: 3)
    | + Track UID: 4
    | + Track type: audio
    | + Default track flag: 0
    | + Lacing flag: 1
    | + Codec ID: A_DTS
    | + Language: eng
    | + Default duration: 00:00:00.010666666 (93.750 frames/fields per second for a video track)
    | + Name: Surround 5.1
    | + Audio track
    | + Sampling frequency: 48000
    | + Channels: 6
    | + Track
    | + Track number: 5 (track ID for mkvmerge & mkvextract: 4)
    | + Track UID: 5
    | + Track type: audio
    | + Default track flag: 0
    | + Lacing flag: 1
    | + Codec ID: A_AC3
    | + Language: eng
    | + Default duration: 00:00:00.032000000 (31.250 frames/fields per second for a video track)
    | + Name: Surround 5.1
    | + Audio track
    | + Sampling frequency: 48000
    | + Channels: 6
    | + Track
    | + Track number: 6 (track ID for mkvmerge & mkvextract: 5)
    | + Track UID: 6
    | + Track type: subtitles
    | + Default track flag: 0
    | + Lacing flag: 0
    | + Codec ID: S_HDMV/PGS
    | + Language: eng
    | + EBML void: size 35
    |+ Chapters
    | + Edition entry
    | + Edition flag hidden: 0
    | + Edition flag default: 1
    | + Edition UID: 13600528001077372990
    | + Chapter atom
    | + Chapter UID: 1067446781598024632
    | + Chapter time start: 00:00:00.000000000
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 00:12:58.527750000
    | + Chapter display
    | + Chapter string: Chapter 01
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 9727910561206155484
    | + Chapter time start: 00:12:58.527750000
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 00:19:56.278416666
    | + Chapter display
    | + Chapter string: Chapter 02
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 2809751278589872197
    | + Chapter time start: 00:19:56.278416666
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 00:29:53.291500000
    | + Chapter display
    | + Chapter string: Chapter 03
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 15569631512174509702
    | + Chapter time start: 00:29:53.291500000
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 00:40:35.391291666
    | + Chapter display
    | + Chapter string: Chapter 04
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 14869663684487808557
    | + Chapter time start: 00:40:35.391291666
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 00:49:10.906291666
    | + Chapter display
    | + Chapter string: Chapter 05
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 13757564801010618213
    | + Chapter time start: 00:49:10.906291666
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:02:38.171083333
    | + Chapter display
    | + Chapter string: Chapter 06
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 4695962470102820648
    | + Chapter time start: 01:02:38.171083333
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:10:37.650083333
    | + Chapter display
    | + Chapter string: Chapter 07
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 1981082857403368853
    | + Chapter time start: 01:10:37.650083333
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:20:10.472333333
    | + Chapter display
    | + Chapter string: Chapter 08
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 5385592866724693328
    | + Chapter time start: 01:20:10.472333333
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:29:23.608250000
    | + Chapter display
    | + Chapter string: Chapter 09
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 454734428089573706
    | + Chapter time start: 01:29:23.608250000
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:39:43.060416666
    | + Chapter display
    | + Chapter string: Chapter 10
    | + Chapter language: eng
    | + Chapter atom
    | + Chapter UID: 3166231919856086808
    | + Chapter time start: 01:39:43.060416666
    | + Chapter flag hidden: 0
    | + Chapter flag enabled: 1
    | + Chapter time end: 01:47:16.096333333
    | + Chapter display
    | + Chapter string: Chapter 11
    | + Chapter language: eng
    |+ EBML void: size 1021
    |+ Cluster

PMS looks at the default track.

Your media shows:

| + Track UID: 2
| + Track type: audio
| + Default track flag: 1
| + Lacing flag: 1
| + Codec ID: A_TRUEHD
| + Language: eng
| + Default duration: 00:00:00.000833333 (1200.000 frames/fields per second for a video track)
| + Name: Surround 7.1
| + Audio track
| + Sampling frequency: 48000
| + Channels: 8
| + Track
| + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
| + Track UID: 3

This is the default track . It happens to be the most complex to decode. If your player (TV) can’t decode it natively, PMS will.

If you wish to change this behavior, you have two choices.

  1. modify the default track in the file permanently.
  2. select the AAC track in the pre-play screen.

Yep, I know I can do that - was just wondering. I was more concerned with the CPU usage. I just extracted the TrueHD track and converted it with my version of ffmpeg and it was the same result as I was seeing last night.

I have just never seen (or been looking) at how much it takes. Just not used to audio conversion being that heavy, but I guess it is what it is.

I zm currently running Plex on the same server as my MythTV backend since all of my Media is also on that server. Do you know if there is a way to split out the Plex Transcoder onto another machine? I am currently using cgroups to keep resources in check so my recordings are commflagged and all that without issue, but it sometimes causes Plex to require up to a minute to start playback if I am recording 5 or 6 things at once. If I could split the Transcoder out to a virtual machine on another server, I could alleviate the delay.

I do not see an obvious way to accomplish it though.

Thanks!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.