Live TV recordings are huge

Server Version#: 1.40.4.8679
Tuner Make/Model: HDHomerun Flex 4k
Channel number/Name: NBC

I’ve been recording some of the events for the Olympics, and noticed that 1.5 hours of recording is 10+GB.

  • Size 10.44 GB
  • Container MPEGTS
  • Codec H264
  • Bitrate 15582 kbps
  • Bit Depth 8
  • Chroma Location left
  • Chroma Subsampling 4:2:0
  • Closed Captions true
  • Coded Height 1088
  • Coded Width 1920
  • Frame Rate 29.97 fps
  • Height 1080
  • Level 4.0
  • Profile main
  • Ref Frames 4
  • Scan Type progressive
  • Stream Identifier 256
  • Width 1920
  • Display Title 1080p (H.264)
  • Extended Display Title 1080p (H.264)

On my Live TV settings, I have “Convert video while recording” set to “transcode”. It seems like there are a few things going on.

  • While recording, it is hitting my CPU pretty hard. I have HW transcoding enabled and an Arc A380 that seems to work when playing back other items, so I’m not sure why it’s not being used here
  • For being 10.44GB, the video quality doesn’t look particularly crisp. It seems like it’s doing a very fast CPU transcoding, despite my settings set to prefer higher quality transcodes.

It doesn’t look like Plex supports using HW to do transcodes of live TV while recording? Is the recommended way of dealing with this still setting up post-processing scripts? I’m surprised this isn’t more flexible. Maybe I’m missing something?

I don’t have one, but if the audio is being converted, it drives up CPU usage because it’s done in software not HW. Subtitles are another factor during playback, but I don’t know if this applies to what you are doing. Maybe someone else can speak to quality. At that bitrate I would hope for nearly perfect picture too.

These settings are for “background” transcodings, like optimization, and preparing for downloads.

Disable it and see how these recordings look like and how large they become. You may find that it is not significantly larger.

So I disabled the “transcode” option and got the following:

  • Duration 3:04:57
  • Size 8.49 GB
  • Container MPEGTS
  • Codec MPEG2VIDEO
  • Bitrate 5993 kbps
  • Bit Depth 8
  • Chroma Location left
  • Chroma Subsampling 4:2:0
  • Closed Captions true
  • Coded Height 1080
  • Coded Width 1920
  • Color Range tv
  • Frame Rate 29.97 fps
  • Height 1080
  • Level 4
  • Profile main
  • Ref Frames 1
  • Scan Type interlaced
  • Stream Identifier 256
  • Width 1920
  • Display Title 1080i (MPEG2VIDEO)
  • Extended Display Title 1080i (MPEG2VIDEO)

Does it make sense that the transcoding would actually be increasing the size so much? Below is another example of a live transcoded recording:

  • Duration 1:39:57
  • Size 10.84 GB
  • Container MPEGTS
  • Packet Length 188
  • Video Profile main
  • Codec H264
  • Bitrate 14949 kbps
  • Bit Depth 8
  • Chroma Location left
  • Chroma Subsampling 4:2:0
  • Closed Captions true
  • Coded Height 1088
  • Coded Width 1920
  • Frame Rate 29.97 fps
  • Height 1080
  • Level 4.0
  • Profile main
  • Ref Frames 4
  • Scan Type progressive
  • Stream Identifier 256
  • Width 1920
  • Display Title 1080p (H.264)
  • Extended Display Title 1080p (H.264)

If you have transccding set to a high preset quality setting the resulting stream is going to be larger. You’re taking a lossy source codec and transcoding to another lossy codec. The bitrate will need to be high as there is loss of quality from generational encoding and change in codec, too. This is why direct-play is always preferred when possible.

The transcode also deinterlaced your video. Storing whole frames versus a ½ height fields would affect size, as would changing the bitrate from 6k to 15k to preserve quality like nx6 mentioned. It looks like Plex also is using 4 CABAC Ref frames rather than the 1 used in the original.

Are you investigating external conversion to save space? Maybe you’re just curious what’s happening though.

I would probably suggest external conversion to HEVC. Probably transcode audio, too if it’s Dolby Digital in the source and a high bitrate. Maybe set it up to run during the night (Paris time :wink: ) so it doesn’t impact other use on the server.

The audio is AC3

  • Codec AC3

  • Channels 6

  • Bitrate 384 kbps

  • Language English

  • Language Tag en

  • Audio Channel Layout 5.1(side)

  • Sampling Rate 48000 Hz

  • Stream Identifier 257

  • Display Title English (AC3 5.1)

  • Extended Display Title English (AC3 5.1)

  • Codec AC3

  • Channels 2

  • Bitrate 192 kbps

  • Language Spanish

  • Language Tag es

  • Audio Channel Layout stereo

  • Sampling Rate 48000 Hz

  • Stream Identifier 258

  • Display Title Spanish (AC3 Stereo)

  • Extended Display Title Spanish (AC3 Stereo)

It doesn’t look like the transcode changed it at all.

I don’t really want to put time into an external conversion to save space, as I’m mainly just watching the bits I want after the fact and am not worried about archiving them. I’m mostly just curious about why the live transcoding function even exists without any options if it just uses extra processing and increases the size of the recording. Maybe on the off chance you’d want to direct play later, to avoid transcoding in the future? Luckily most of my clients seem to support MPEG2VIDEO anyway.

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