Samsung app transcodes PAL 576p but not NTSC 480p

Server Version#: v1.19.4.2902-69560ce1e - QNAP TS-251+ x86_64 - build: linux-x86_64 qnap
Player Version#: Plex for Samsung 4.25.2

I need some help trying to understand how to make my Samsung TV direct play my PAL DVD videos instead of transcoding them. I am experiencing this issue with both 4:3 and 16:9 PAL videos.

I have begun ripping my DVD collection to mp4 using Handbrake and am stumped as to why Plex is deciding to transcode the PAL 576p video stream (and direct stream the audio) on the Samsung app but direct plays them on all other clients (Android TV, Windows app, web player). Yet weirdly the same Samsung client will happily direct play NTSC 480p videos and 1080p! So the issue seems to be specific to this particular resolution.

My sample PAL 576p 4:3 video looks like this in MediaInfo:

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 16 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 16 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1 min 0 s
Bit rate                                 : 2 260 kb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.218
Stream size                              : 16.2 MiB (85%)
Writing library                          : x264 core 157 r2935 545de2f
Encoding settings                        : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2020-06-04 18:33:43
Tagged date                              : UTC 2020-06-04 18:33:43
Color range                              : Limited
Color primaries                          : BT.601 PAL
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 1 min 0 s
Bit rate mode                            : Constant
Bit rate                                 : 384 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 2.70 MiB (14%)
Title                                    : Surround
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-06-04 18:33:43
Tagged date                              : UTC 2020-06-04 18:33:43

The Plex library XML for this is:

<Video ratingKey="23728" key="/library/metadata/23728" guid="file:///share/CACHEDEV1_DATA/Multimedia/Films/South%20Park%20Bigger%2C%20Longer%20%26%20Uncut%20%281999%29/Trailer/Test%20South%20Park%20PAL%20SD.mp4" type="clip" title="Test South Park PAL SD" summary="" index="5" thumb="/library/metadata/23728/thumb/1591295829" subtype="trailer" duration="60011" addedAt="1591295827" updatedAt="1591295829" extraType="1">
<Media id="20533" duration="60011" bitrate="2643" width="720" height="576" aspectRatio="1.33" audioChannels="6" audioCodec="aac" videoCodec="h264" videoResolution="576" container="mp4" videoFrameRate="PAL" optimizedForStreaming="0" audioProfile="lc" has64bitOffsets="0" videoProfile="high">
<Part id="20862" key="/library/parts/20862/0/file.mp4" duration="60011" file="/share/CACHEDEV1_DATA/Multimedia/Films/South Park Bigger, Longer &amp; Uncut (1999)/Trailer/Test South Park PAL SD.mp4" size="19824480" audioProfile="lc" container="mp4" has64bitOffsets="0" optimizedForStreaming="0" videoProfile="high">
<Stream id="44795" streamType="1" default="1" codec="h264" index="0" bitrate="2260" anamorphic="1" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="576" codedWidth="720" colorPrimaries="bt470bg" colorRange="tv" colorSpace="smpte170m" colorTrc="bt709" frameRate="25.000" hasScalingMatrix="0" height="576" level="40" pixelAspectRatio="16:15" profile="high" refFrames="16" streamIdentifier="1" width="720" displayTitle="480p (H.264)" />
<Stream id="44796" streamType="2" selected="1" default="1" codec="aac" index="1" channels="6" bitrate="383" language="English" languageCode="eng" audioChannelLayout="5.1" profile="lc" samplingRate="48000" streamIdentifier="2" displayTitle="English (AAC 5.1)" />
</Part>
</Media>
</Video>

My sample PAL 576p 16:9 video looks like this in MediaInfo:

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 16 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 16 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 3 min 0 s
Bit rate                                 : 1 852 kb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.179
Stream size                              : 39.7 MiB (83%)
Writing library                          : x264 core 157 r2935 545de2f
Encoding settings                        : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2020-06-04 17:57:12
Tagged date                              : UTC 2020-06-04 17:57:12
Color range                              : Limited
Color primaries                          : BT.601 PAL
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 3 min 0 s
Bit rate mode                            : Constant
Bit rate                                 : 368 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 7.90 MiB (17%)
Title                                    : Surround
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-06-04 17:57:12
Tagged date                              : UTC 2020-06-04 17:57:12

The Plex library XML for this is:

<Video ratingKey="23729" key="/library/metadata/23729" guid="file:///share/CACHEDEV1_DATA/Multimedia/Films/South%20Park%20Bigger%2C%20Longer%20%26%20Uncut%20%281999%29/Trailer/Test%20South%20Park%20PAL%20SD%20Wide.mp4" type="clip" title="Test South Park PAL SD Wide" summary="" index="6" thumb="/library/metadata/23729/thumb/1591304678" subtype="trailer" duration="60048" addedAt="1591304677" updatedAt="1591304678" extraType="1">
<Media id="20540" duration="60048" bitrate="2715" width="720" height="576" aspectRatio="1.78" audioChannels="6" audioCodec="aac" videoCodec="h264" videoResolution="576" container="mp4" videoFrameRate="PAL" optimizedForStreaming="0" audioProfile="lc" has64bitOffsets="0" videoProfile="high">
<Part id="20869" key="/library/parts/20869/0/file.mp4" duration="60048" file="/share/CACHEDEV1_DATA/Multimedia/Films/South Park Bigger, Longer &amp; Uncut (1999)/Trailer/Test South Park PAL SD Wide.mp4" size="20382118" audioProfile="lc" container="mp4" has64bitOffsets="0" optimizedForStreaming="0" videoProfile="high">
<Stream id="44809" streamType="1" default="1" codec="h264" index="0" bitrate="2332" anamorphic="1" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="576" codedWidth="720" colorPrimaries="bt470bg" colorRange="tv" colorSpace="smpte170m" colorTrc="bt709" frameRate="24.980" hasScalingMatrix="0" height="576" level="40" pixelAspectRatio="64:45" profile="high" refFrames="16" streamIdentifier="1" width="720" displayTitle="480p (H.264)" />
<Stream id="44810" streamType="2" selected="1" default="1" codec="aac" index="1" channels="6" bitrate="383" language="English" languageCode="eng" audioChannelLayout="5.1" profile="lc" samplingRate="48000" streamIdentifier="2" displayTitle="English (AAC 5.1)" />
</Part>
</Media>
</Video>

My sample NTSC 480p video looks like this in MediaInfo:

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 16 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 16 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 3 min 48 s
Bit rate                                 : 3 119 kb/s
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.301
Stream size                              : 85.1 MiB (87%)
Writing library                          : x264 core 157 r2935 545de2f
Encoding settings                        : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2020-06-04 18:01:55
Tagged date                              : UTC 2020-06-04 18:01:55
Color range                              : Limited
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 3 min 48 s
Bit rate mode                            : Constant
Bit rate                                 : 449 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 12.2 MiB (13%)
Title                                    : Surround
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-06-04 18:01:55
Tagged date                              : UTC 2020-06-04 18:01:55

The Plex library XML for this is:

<Video ratingKey="23726" key="/library/metadata/23726" guid="file:///share/CACHEDEV1_DATA/Multimedia/Films/South%20Park%20Bigger%2C%20Longer%20%26%20Uncut%20%281999%29/Trailer/Test%20Broly%20NTSC%20SD.mp4" type="clip" title="Test Broly NTSC SD" summary="" index="3" thumb="/library/metadata/23726/thumb/1591295828" subtype="trailer" duration="228862" addedAt="1591295827" updatedAt="1591295828" extraType="1">
<Media id="20531" duration="228862" bitrate="3576" width="720" height="480" aspectRatio="1.33" audioChannels="6" audioCodec="aac" videoCodec="h264" videoResolution="480" container="mp4" videoFrameRate="NTSC" optimizedForStreaming="0" audioProfile="lc" has64bitOffsets="0" videoProfile="high">
<Part id="20860" key="/library/parts/20860/0/file.mp4" duration="228862" file="/share/CACHEDEV1_DATA/Multimedia/Films/South Park Bigger, Longer &amp; Uncut (1999)/Trailer/Test Broly NTSC SD.mp4" size="102302405" audioProfile="lc" container="mp4" has64bitOffsets="0" optimizedForStreaming="0" videoProfile="high">
<Stream id="44791" streamType="1" default="1" codec="h264" index="0" bitrate="3119" anamorphic="1" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="480" codedWidth="720" colorPrimaries="smpte170m" colorRange="tv" colorSpace="smpte170m" colorTrc="bt709" frameRate="29.970" hasScalingMatrix="0" height="480" level="40" pixelAspectRatio="8:9" profile="high" refFrames="16" streamIdentifier="1" width="720" displayTitle="480p (H.264)" />
<Stream id="44792" streamType="2" selected="1" default="1" codec="aac" index="1" channels="6" bitrate="457" language="English" languageCode="eng" audioChannelLayout="5.1" profile="lc" samplingRate="48000" streamIdentifier="2" displayTitle="English (AAC 5.1)" />
</Part>
</Media>
</Video>

When I try to play the PAL videos I get the following in the PMS log:

Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - MDE: Selected protocol dash; container: mp4
Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - MDE: analyzing media item 20533
Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - MDE: Test South Park PAL SD: Direct Play is disabled
Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - MDE: Test South Park PAL SD: media must be transcoded in order to use the dash protocol
Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - MDE: Test South Park PAL SD: selected media 0 / 20533
Jun 04, 2020 19:39:40.982 [0x7f53a8855700] DEBUG - Streaming Resource: Reached Decision id=23728 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=20533 part=(id=20862 decision=transcode container=mp4 protocol=dash streams=(Video=(id=44795 decision=copy width=720 height=576) Audio=(id=44796 decision=copy channels=6 rate=48000))))

Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Selected protocol dash; container: mp4
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: analyzing media item 20533
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Test South Park PAL SD: Direct Play is disabled
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Test South Park PAL SD: media must be transcoded in order to use the dash protocol
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Test South Park PAL SD: Direct Streaming is disabled, so video stream will be transcoded
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Test South Park PAL SD: no remuxable profile found, so video stream will be transcoded
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - Scaled up video bitrate to 3390Kbps based on 1.500000x fudge factor.
Jun 04, 2020 19:39:42.836 [0x7f53a96fb700] DEBUG - MDE: Test South Park PAL SD: selected media 0 / 20533

Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - MDE: Selected protocol dash; container: mp4
Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - MDE: analyzing media item 20540
Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - MDE: Test South Park PAL SD Wide: Direct Play is disabled
Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - MDE: Test South Park PAL SD Wide: media must be transcoded in order to use the dash protocol
Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - MDE: Test South Park PAL SD Wide: selected media 0 / 20540
Jun 04, 2020 22:05:09.757 [0x7f53ab447700] DEBUG - Streaming Resource: Reached Decision id=23729 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=20540 part=(id=20869 decision=transcode container=mp4 protocol=dash streams=(Video=(id=44809 decision=copy width=720 height=576) Audio=(id=44810 decision=copy channels=6 rate=48000))))

Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: Selected protocol dash; container: mp4
Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: analyzing media item 20540
Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: Test South Park PAL SD Wide: Direct Play is disabled
Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: Test South Park PAL SD Wide: media must be transcoded in order to use the dash protocol
Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: Test South Park PAL SD Wide: Direct Streaming is disabled, so video stream will be transcoded
Jun 04, 2020 22:05:11.869 [0x7f53aa88f700] DEBUG - MDE: Test South Park PAL SD Wide: no remuxable profile found, so video stream will be transcoded
Jun 04, 2020 22:05:11.870 [0x7f53aa88f700] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Jun 04, 2020 22:05:11.870 [0x7f53aa88f700] DEBUG - Scaled up video bitrate to 3498Kbps based on 1.500000x fudge factor.
Jun 04, 2020 22:05:11.870 [0x7f53aa88f700] DEBUG - MDE: Test South Park PAL SD Wide: selected media 0 / 20540

When I play the NTSC video I don’t get any MDE-related messages presumably because the file is direct playing.

The only differences I can see between these videos are the resolution and frame rate - which is exactly what you would expect to be different with PAL vs NTSC. So why is Plex taking different playback decisions between these formats? Surely these should all be direct play.

I have copied the videos to a USB stick and the TV happily plays them all. So there is definitely no legitimate reason for transcoding in this case.

I cannot find any other posts on this specific issue and cannot find any real clues as to why Plex is taking the decision it is with this one specific format. I’ve used an identical approach and identical Handbrake settings for all the videos.

Am I missing something or is this a Plex bug?

16 Reference Frames is about 12 too many.

1 Like

Ok. I’ll look into how I can change that in Handbrake. I’m largely using default settings and letting Handbrake decide most things automatically.

If this is the cause, any idea why this doesn’t cause transcoding for the NTSC video? That also has 16 reference frames.

One of the presets? Which one? Just curious, as I’ve never noticed one of the presets with 16 reference frames.

General rule of thumb is to not exceed 4 or 5 reference frames, even if allowed by H.264. Many clients have issues with a high number of reference frames. Exceed their limit and you’re on the express train to Transcode City (He types, speaking from experience, when first using Handbrake, and having to re-encode 30+ movies… :grimacing:)

Here’s a calculator that shows theoretical maximum number of reference frames for a given resolution: Online calculator: H264 Maximum References Frames. Notice the number drops to 4 for 1920x1080 at level 4.0.

1 Like

25fps is different. In some way - it’s just part of what makes 16 reference frames so much fun… might work, might not, roll the dice or learn to encode…

Here are some bulletproof Handbrake settings:

As always - get the latest Handbrake - it’s very nearly idiot-proof (and I should know - I am their leader - but my stuff plays - yours doesn’t…lol).

Thanks very much for your help guys. I’m now on the express train heading out of Transcode City - hopefully never to return! :slight_smile:

As you’ve rightly advised, lowering the reference frames has fixed the problem and the videos now direct play.

I have been using the latest version of Handbrake and a similar approach to encoding as described in your referenced article @JuiceWSA. But as they say, make something idiot-proof, and they just give you better idiots! Although to be fair I did carefully through all the Handbrake documentation and have seemingly just made one ill-advised setting choice:

The encoder preset is the culprit here. Lowering this to Medium results in 4 reference frames. VerySlow is causing the 16 reference frames. I suspect this is because looking at @FordGuy61’s calculator, the theoretical maximum reference frames for 720x576 material is 16. Handbrake must be using the maximum limits of the H.264 specification when you ask it to use the highest quality encoding settings.

Clearly I’m not benefitting from the slight quality improvements of the slower preset and am just costing myself time with longer encodes. I’ll consider this a very valuable lesson learned.

Thanks again.

Handbrake ‘mostly’ gets it right. Sometimes you may need to wrest control back - so do check - or you’ll find half the picture missing due to a really dark scene… you don’t want that - trust me (4,298 time loser here).

If there are in fact 2 pixels of black, simply cut 2 pixels off the height and it’ll snap right back in where it should be.

Use ‘Auto’ on both Encoder Profile and Encoder Level.
If you let Handbrake help you - IT WON’T PUT 16 REFERENCE FRAMES IN YOUR VIDEOS!

Stop reading things - they’ll just confuse us.

Please use Average Bit Rate - 2 Pass with Turbo - with my Bit Rates - for AT LEAST a few 240 second previews. Let that Lapsharp Filter (Light/Film or Animation) work as designed and watch them from an Other Videos Library on everything you got.

You may find a new game in town.
You also may be able to make ‘slight’ adjustments to the bit rate if you see you need a bit more and still save yourself a LOT of time.
You’re thinking 2 Pass sounds long…
When you constrain the bit rate a little (or a lot), not encode 16 reference frames, let Handbrake do things it knows how to do automatically - you can do a 2 pass with Turbo encode faster than a single.

You find ‘your’ bit rate - you make a few User Profiles for HD and SD and it’s all Drag and Drop from there.

1 Like

As Juice mentions, you can generally let Handbrake do its thing here. Changing the cropping to 0 means you’re adding lines/columns of just black video to your encode. There is no need. You’re TV and the video players will adjust. All you’re doing is making the output files larger than necessary.

Another example: Many movies are filmed with a 2.35:1 aspect ratio. When you display that on a standard 16:9 screen, it works out to 1920 x 800 pixels, with black bars on top & bottom. Setting your cropping to 0 means you have 1920 x 280 lines of black bars included in your video for no reason.

This usually works, but I’ve had it trip me up in the past. I compare what Handbrake chooses to what H.264 allows and manually set things in Handbrake if necessary. Refer to the Levels section in the H.264 Wikipedia page.

For 480p30 & 576p25, you can use High@3.0.
For 1080p30, you can use High@4.0.

I would be wary of going above High@4.1 for H.264 1080p30 & lower video. There is usually no need. For a reference, note that 1080p Blu-ray discs are High@4.1.

You can add ref=4 in Video Advanced Options as a protection mechanism.

Lately I’ve been setting FPS to the same as the source material (23.976, 25, etc) and choosing Peak Framerate. This keeps the output FPS from potentially peaking above the source FPS, even temporarily. It supposedly provides better compatibility across all devices.

I use 20 for HD and 18 for SD content. There isn’t that much difference from a visual quality point of view, that I can see anyway. Note that the scale is non-linear with respect to output file size. File size grows exponentially as CQ is set to lower numbers / higher quality. As an experiment, encode a couple minutes of fast action (car race, fight scene, etc) at CQ 15 & CQ 18 or 20. Compare the file size and extrapolate to a 90 - 120 minute movie. Compare the playback quality. Personally, I don’t see a difference and the output is much larger.

I used the SuperHQ1080p30 preset as my starting point and the VerySlow preset. I usually don’t mind the increased encode time. I queue up a couple of movies and let things run overnight. I come back when they’re finished, do my final checks, and add them to my libraries.

I’m coming around to Juice’s way of thinking on this. It definitely helps with remote streaming if you’ve limited uplink speed (like I do). You get more predictable results regarding how many simultaneous remote streams you can support.

Example: I’ve 20 Mbps upstream. Some of my 1080p encodes with CQ are 10+ Mbps, so hard to fit even two simultaneous remote streams into my uplink pipe. I’m still playing around with bit rates, but if I can encode video at 5 - 7 Mbps and keep the video & audio quality at desired levels, it lets me support more remote streams without having PMS transcode due to bandwidth constraints.

Also contemplating HEVC video to lower bit rates even further. Still assessing impact on clients. Couple of friends have 2nd gen FireTV devices which seem to struggle with HEVC. They might get a new Roku as a birthday/Christmas/etc gift. :slight_smile: Moving to HEVC will also give me a excuse for a new PC build. Gotta shorten those encode times. At least that’s what I’m telling myself. :slight_smile: :slight_smile:

Yep. Lots of experimentation. You’ll find what works best with your setup. Expect to adjust things over time as well.

Thanks for all the advice. Now I can correctly encode all of my DVDs and ensure they are compatible with all my current and future devices.

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