Why transcoding?

I am syncing a series to my iPhone and was wondering why transcoding is happening if I sync the file. When playing using the iPhone client app, it direct-plays.

I found this hint in the log:

non-selected embedded subtitle stream 70310 cannot be direct-played

Info XML shows:

<Stream id="70309" streamType="3" selected="1" codec="srt" index="2" bitrate="0" language="English" languageTag="en" languageCode="eng" requiredBandwidths="1,1,1,1,1,1,1,1" displayTitle="English (SRT)" extendedDisplayTitle="English (SRT)"></Stream>
<Stream id="70310" streamType="3" codec="srt" index="3" bitrate="0" language="English" languageTag="en" languageCode="eng" requiredBandwidths="1,1,1,1,1,1,1,1" title="SDH" displayTitle="English (SRT)" extendedDisplayTitle="SDH (English SRT)"></Stream>

What is so special about this subtitle that triggers a transcode and prevents direct-play? Anything I can do to prevent transcoding before sync?

Full transcoding session logs:

Aug 31, 2022 11:27:37.466 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Found session GUID of 73a953df4508d4493e8b01bd6fadf1df2f69ebce in session start.
Aug 31, 2022 11:27:37.466 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-direct-play-profile(type=videoProfile&protocol=http&container=mp4,mov,mkv&videoCodec=h264,mpeg4,hevc&audioCodec=aac,ac3,eac3&subtitleCodec=mov_text,tx3g,ttxt,text,webvtt)+add-transcode-target(type=videoProfile&context=static&protocol=http&container=mkv&videoCodec=h264,mpeg4,hevc&audioCodec=aac,ac3,eac3&subtitleCodec=mov_text,tx3g,ttxt,text,webvtt&replace=true)+add-limitation(scope=videoAudioCodec&scopeName=*&type=upperBound&name=audio.channels&value=6&replace=true)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.width&value=4096&replace=true)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.height&value=2160&replace=true)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.width&value=4096&onlyTranscodes=true&replace=false)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.height&value=2160&onlyTranscodes=true&replace=false)
Aug 31, 2022 11:27:37.467 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] TranscodeUniversalRequest: using augmented profile iOS
Aug 31, 2022 11:27:37.467 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Downloading document http://127.0.0.1:32400/library/metadata/12212?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=0E02F95F-1CB9-4534-B046-4750405137F1
Aug 31, 2022 11:27:37.481 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/Req#1cc9d] We're going to try to auto-select an audio stream for account 1.
Aug 31, 2022 11:27:37.481 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/Req#1cc9d] Selecting best audio stream for part ID 26016 (autoselect: 1 language: en)
Aug 31, 2022 11:27:37.481 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/Req#1cc9d] We're going to try to auto-select a subtitle.
Aug 31, 2022 11:27:37.481 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/Req#1cc9d] Subtitles: Found a candidate subtitle language [en] for a foreign film
Aug 31, 2022 11:27:37.481 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/Req#1cc9d] Audio Stream: 70308, Subtitle Stream: 70309
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] MDE: Selected protocol http; container: mkv
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] MDE: analyzing media item 22483
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] MDE: E7 - Keep The Wolves Close: no direct play video profile exists for http/mkv/hevc/aac/srt
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] MDE: E7 - Keep The Wolves Close: non-selected embedded subtitle stream 70310 cannot be direct-played
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] MDE: Yellowstone (2018) - S4 E7 - Keep The Wolves Close: selected media 0 / 22483
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Streaming Resource: Added session 0x7f51c49e4308:0E02F95F-1CB9-4534-B046-4750405137F1
Aug 31, 2022 11:27:37.484 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Cleaning directory for session 73a953df4508d4493e8b01bd6fadf1df2f69ebce ()
Aug 31, 2022 11:27:37.485 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Starting a transcode session 73a953df4508d4493e8b01bd6fadf1df2f69ebce at offset -1.0 (state=3)
Aug 31, 2022 11:27:37.486 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Aug 31, 2022 11:27:37.486 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] [Universal] Using local file path instead of URL: /medialibrary/series/Yellowstone (2018)/Season 4/Yellowstone.2018.S04E07.Keep.the.Wolves.Close.2160p.STAN.WEB-DL.AAC5.1.H.265-NTb.mkv
Aug 31, 2022 11:27:37.486 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Aug 31, 2022 11:27:37.486 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/JobRunner] Job running: FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/c4efa15-4365-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxx "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 hevc -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/medialibrary/series/Yellowstone (2018)/Season 4/Yellowstone.2018.S04E07.Keep.the.Wolves.Close.2160p.STAN.WEB-DL.AAC5.1.H.265-NTb.mkv" -map 0:0 -codec:0 copy -map 0:1 -metadata:s:1 language=eng -codec:1 copy -map 0:2 -metadata:s:2 language=eng -codec:2 text -strict_ts:2 0 -map 0:3 -metadata:s:3 language=eng -codec:3 text -strict_ts:3 0 -f matroska -map_metadata -1 -map_chapters -1 Output.mkv -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/73a953df4508d4493e8b01bd6fadf1df2f69ebce/5546374e-6968-42b6-9818-ef1cbe502fd0/progress
Aug 31, 2022 11:27:37.487 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode/JobRunner] Jobs: Starting child process with pid 657
Aug 31, 2022 11:27:37.510 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Using default transcode duration of 120 minutes
Aug 31, 2022 11:27:37.510 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Started session successfully: 73a953df4508d4493e8b01bd6fadf1df2f69ebce
Aug 31, 2022 11:27:37.512 [0x7f51be16eb00] Debug — [Req#1cc2f/Transcode] Activity: registered new activity cae2ff27-d662-4bb6-8fd1-250bf1976206 - ""

Have you already checked the download preferences in the iOS app?
If you set a specific output quality (e.g. max. resolution/bitrate) or compatibility, this will cause the video to be transcoded…

Both audio and video quality preference is set to Original and download format to Maximize Compatibility.

Changed compatibility to Original, and now transcode is not happening. Thanks!

1 Like

The worst thing is that now “Compatibility” is set to Maximum by default. So everyone will have this problem, transcoding when it is not needed.

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