Plex + PlexConnect on Synology DS214play Transcoding Forced Subtitles to ATV3

Hello all,

Can someone tell me why Plex is transcoding this video for an Apple TV 3Gen connected through PlexConnect? This is using a lot of CPU which makes the player buffering and failing a lot.

ExifTool Version Number         : 11.54
File Name                       : Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv
Directory                       : Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE
File Size                       : 4.1 GB
File Modification Date/Time     : 2019:08:12 22:22:04+02:00
File Access Date/Time           : 2019:09:03 11:09:49+02:00
File Inode Change Date/Time     : 2019:08:12 22:22:04+02:00
File Permissions                : rw-r--r--
File Type                       : MKV
File Type Extension             : mkv
MIME Type                       : video/x-matroska
EBML Version                    : 1
EBML Read Version               : 1
Doc Type                        : matroska
Doc Type Version                : 4
Doc Type Read Version           : 2
Timecode Scale                  : 1 ms
Muxing App                      : libebml v1.3.5 + libmatroska v1.4.8
Writing App                     : mkvmerge v20.0.0 ('I Am The Sun') 32-bit
Duration                        : 0:58:53
Date/Time Original              : 2019:05:28 13:31:38Z
Video Codec ID                  : V_MPEG4/ISO/AVC
Video Frame Rate                : 23.81
Image Width                     : 1920
Image Height                    : 1080
Display Width                   : 1920
Display Height                  : 1080
Audio Codec ID                  : A_EAC3
Default Duration                : 32 ms
Audio Sample Rate               : 48000
Audio Channels                  : 6
Track Forced                    : Yes
Track Name                      : Forced
Track Language                  : fre
Track Number                    : 6
Track Type                      : Subtitle
Track Default                   : No
Codec ID                        : S_TEXT/UTF8
Image Size                      : 1920x1080
Megapixels                      : 2.1

The plex commandline during transcoding:

/volume1/@appstore/Plex Media Server/Plex Transcoder -codec:0 h264 -i /volume1/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv -map_inlineass 0:3 -filter_complex [0:0]scale=w=720:h=406[0];[0]format=pix_fmts=yuv420p|nv12[1];[1]inlineass=font_scale=1.000000:font_path=/volume1/@appstore/Plex\\\ Media\\\ Server/Resources/Fonts/DejaVuSans-Regular.ttf:fontconfig_file=/volume1/@appstore/Plex\\\ Media\\\ Server/Resources/fonts.conf[2] -map [2] -codec:0 libx264 -crf:0 21 -maxrate:0 1724k -bufsize:0 3448k -r:0 23.809999999999999 -preset:0 veryfast -x264opts:0 subme=2:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 expr:gte(t,0+n_forced*8) -map 0:1 -metadata:s:1 language=fre -codec:1 copy -copypriorss:1 0 -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 8 -segment_start_number 0 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list http://127.0.0.1:32400/video/:/transcode/session/DY3L88KNFF54/0ad721d8-fcb3-49d6-ade8-cce07e0ce7c8/seglist -segment_list_type csv -segment_list_size 2147483647 -segment_list_separate_stream_times 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 media-%05d.ts -map 0:3 -f null -codec ass nullfile -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/DY3L88KNFF54/0ad721d8-fcb3-49d6-ade8-cce07e0ce7c8/progress

Is it downgrading it to 720p?

I can’t play it using Direct Play (set in the PlexConnect app Settings).

Thanks

I’ve had mixed results with MKV files in the past. Enough so that I stopped using MKV and now strictly use mp4 (m4v) via Handbrake, which is what ATV expects. I also try to keep my files so that they do not exceed a bit rate of 9500 kbps.

Handbrake settings are:
web optimized,

Video:
Encoder H.264(x264)
FPS 30 w/Peak Framerate,
Constant Quality: 20 but sometimes need to increase inorder to lower kbps
Encoder options:
preset: medium
Tune: none
Profile: high
Level: 4.0

Audio: Usually keep only 2 audio tracks with first Codec AC3 w/Mixdown to 5.1 channels & second AAC(CoreAudio) w/Mixdown to Dolby Pro Logic II

I’ve got more information :slight_smile:
mediainfo output:

General
Unique ID                                : 309131466222020742717079236360781172576 (0xE8908E046B52B3AB3F0FC1F43C7C0F60)
Complete name                            : Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv.crdownload
Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 347 MiB
Duration                                 : 58mn 52s 3532sec
Overall bit rate                         : 824 Kbps
Encoded date                             : UTC 2019-05-28 13:31:38
Writing application                      : mkvmerge v20.0.0 ('I Am The Sun') 32-bit
Writing library                          : libebml v1.3.5 + libmatroska v1.4.8
IsTruncated                              : Yes

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 58mn 52s
Bit rate mode                            : Constant
Nominal bit rate                         : 10 000 Kbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 11.905 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.405
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio #1
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : A_AAC
Duration                                 : 58mn 52s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Frame rate                               : 46.875 fps (1024 spf)
Compression mode                         : Lossy
Language                                 : French
Default                                  : Yes
Forced                                   : No

Audio #2
ID                                       : 3
Format                                   : E-AC-3
Format/Info                              : Audio Coding 3
Format settings, Endianness              : Big
Codec ID                                 : A_EAC3
Duration                                 : 58mn 52s
Bit rate mode                            : Constant
Bit rate                                 : 640 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Frame rate                               : 187.500 fps (256 spf)
Compression mode                         : Lossy
Stream size                              : 270 MiB (78%)
Language                                 : English
Default                                  : No
Forced                                   : No

Text #1
ID                                       : 4
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Title                                    : Forced
Language                                 : French
Default                                  : Yes
Forced                                   : Yes

Text #2
ID                                       : 5
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Language                                 : French
Default                                  : No
Forced                                   : No

Text #3
ID                                       : 6
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Language                                 : English
Default                                  : No
Forced                                   : No

And the logs from the Plex on the Synology ds214play when Direct Play is forced in PlexConnect settings (this one fails immediately when playing):

Sep 03, 2019 01:18:01.568 [0xaa3ffb40] DEBUG - Request: [192.168.1.15:52061 (Subnet)] GET /library/parts/8145/1565641298/file.mkv (4 live)
Sep 03, 2019 01:18:01.596 [0xaa3ffb40] DEBUG - Streaming Resource: Attempting to create AdHoc dp session  for part 8145
Sep 03, 2019 01:18:01.649 [0xaa3ffb40] DEBUG - TranscodeUniversalRequest: using profile Generic
Sep 03, 2019 01:18:01.651 [0xaa3ffb40] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/7473?includeBandwidths=1&offset=-1&X-Plex-Session-Identifier=token%3D
Sep 03, 2019 01:18:01.651 [0xaa3ffb40] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/metadata/7473?includeBandwidths=1&offset=-1&X-Plex-Session-Identifier=token%3D
Sep 03, 2019 01:18:01.655 [0xaae23b40] DEBUG - Request: [127.0.0.1:44520 (Loopback)] GET /library/metadata/7473?includeBandwidths=1&offset=-1 (5 live) GZIP
Sep 03, 2019 01:18:01.682 [0xaae23b40] DEBUG - We're going to try to auto-select an audio stream for account 1.
Sep 03, 2019 01:18:01.682 [0xaae23b40] DEBUG - Selecting best audio stream for part ID 8145 (autoselect: 1 language: fr)
Sep 03, 2019 01:18:01.682 [0xaae23b40] DEBUG - We're going to try to auto-select a subtitle.
Sep 03, 2019 01:18:01.682 [0xaae23b40] DEBUG - Found a forced subtitle which matched account language
Sep 03, 2019 01:18:01.682 [0xaae23b40] DEBUG - Audio Stream: 25419, Subtitle Stream: 25421
Sep 03, 2019 01:18:01.686 [0xb2f11b40] DEBUG - Completed: [127.0.0.1:44520] 200 GET /library/metadata/7473?includeBandwidths=1&offset=-1 (5 live) GZIP 31ms 1895 bytes
Sep 03, 2019 01:18:01.686 [0xaa3ffb40] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/metadata/7473?includeBandwidths=1&offset=-1&X-Plex-Session-Identifier=token%3D
Sep 03, 2019 01:18:01.694 [0xaa3ffb40] DEBUG - MDE: received PLEX_PROTOCOL_ANY from client, but could not determine best protocol. Defaulting to HTTP
Sep 03, 2019 01:18:01.694 [0xaa3ffb40] DEBUG - MDE: analyzing media item 7537
Sep 03, 2019 01:18:01.695 [0xaa3ffb40] DEBUG - MDE: E2 - Veuillez garder votre calme: Direct Playing due to no transcode profile
Sep 03, 2019 01:18:01.695 [0xaa3ffb40] DEBUG - MDE: E2 - Veuillez garder votre calme: no direct play video profile exists for http/mkv/h264
Sep 03, 2019 01:18:01.695 [0xaa3ffb40] DEBUG - MDE: E2 - Veuillez garder votre calme: no direct play video profile exists for http/mkv/h264/aac
Sep 03, 2019 01:18:01.695 [0xaa3ffb40] DEBUG - MDE: E2 - Veuillez garder votre calme: no direct play video profile exists for http/mkv/h264/eac3
Sep 03, 2019 01:18:01.696 [0xaa3ffb40] DEBUG - MDE: Chernobyl - S1 E2 - Veuillez garder votre calme: selected media 0 / 7537
Sep 03, 2019 01:18:01.696 [0xaa3ffb40] DEBUG - Streaming Resource: Added session 0xabc3d0d4:token=
Sep 03, 2019 01:18:01.696 [0xaa3ffb40] DEBUG - Streaming Resource: Reached Decision id=7473 codes=(MDE=1000,Direct play OK.) media=(id=7537 part=(id=8145 decision=direct play protocol=* streams=(Video=(id=25418 decision= width=0 height=0) Audio=(id=25419 decision= channels=0 rate=0) Subtitle=(id=25421 decision=unavailable languageCode=fre location=sidecar))))
Sep 03, 2019 01:18:01.697 [0xaa3ffb40] DEBUG - Content-Length of /volume1/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv is 4819328582.
Sep 03, 2019 01:18:01.717 [0xb2f11b40] DEBUG - Completed: [192.168.1.15:52061] 200 GET /library/parts/8145/1565641298/file.mkv (5 live) 150ms 2 bytes (pipelined: 1) (range: bytes=0-1)
Sep 03, 2019 01:18:01.758 [0xac7ffb40] DEBUG - Request: [192.168.1.15:52061 (Subnet)] GET /library/parts/8145/1565641298/file.mkv (4 live)
Sep 03, 2019 01:18:01.775 [0xac7ffb40] DEBUG - Content-Length of /volume1/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv is 4819328582.
Sep 03, 2019 01:18:01.822 [0xb2f11b40] DEBUG - Failed to stream media, client probably disconnected after 218648 bytes: 32 - Broken pipe
Sep 03, 2019 01:18:01.822 [0xb2f11b40] DEBUG - Completed: [192.168.1.15:52061] 200 GET /library/parts/8145/1565641298/file.mkv (4 live) 65ms 218648 bytes (pipelined: 2) (range: bytes=0-4819328581)
Sep 03, 2019 01:18:01.838 [0xaae23b40] DEBUG - Request: [192.168.1.15:52062 (Subnet)] GET /library/parts/8145/1565641298/file.mkv (5 live)
Sep 03, 2019 01:18:01.855 [0xaae23b40] DEBUG - Content-Length of /volume1/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E02.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv is 4819328582.
Sep 03, 2019 01:18:02.117 [0xb2f11b40] DEBUG - Failed to stream media, client probably disconnected after 1026632 bytes: 104 - Connection reset by peer

And this output is when I set the Transcoding to Auto in the PlexConnect app:

Sep 02, 2019 23:47:12.627 [0xab3ffb40] DEBUG - Request: [192.168.1.15:51201 (Subnet)] GET /video/:/transcode/universal/start.m3u8?maxVideoBitrate=40000&videoQuality=100&subtitleSize=100&mediaBufferSize=80000&partIndex=0&session=DY3L88KNFF54&skipSubtitles=0&audioBoost=100&protocol=hls&path=%2Flibrary%2Fmetadata%2F7472&videoResolution=1920x1080&fastSeek=1&directStream=1 (12 live) GZIP
Sep 02, 2019 23:47:12.628 [0xab3ffb40] DEBUG - Found session GUID of DY3L88KNFF54 in session start.
Sep 02, 2019 23:47:12.659 [0xab3ffb40] DEBUG - TranscodeUniversalRequest: using augmented profile iOS
Sep 02, 2019 23:47:12.662 [0xab3ffb40] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/7472?checkFiles=1&includeBandwidths=1&offset=-1&X-Plex-Client-Capabilities=protocols%3Dhttp-live-streaming%2Chttp-mp4-streaming%2Chttp-streaming-video%2Chttp-streaming-video-720p%2Chttp-mp4-video%2Chttp-mp4-video-720p;videoDecoders%3Dh264{profile%3Ahigh%26resolution%3A1080%26level%3A41};audioDecoders%3Dmp3%2Caac{bitrate%3A160000}&X-Plex-Session-Identifier=DY3L88KNFF54
Sep 02, 2019 23:47:12.770 [0xab3ffb40] DEBUG - We're going to try to auto-select an audio stream for account 1.
Sep 02, 2019 23:47:12.770 [0xab3ffb40] DEBUG - Selecting best audio stream for part ID 8144 (autoselect: 1 language: fr)
Sep 02, 2019 23:47:12.770 [0xab3ffb40] DEBUG - We're going to try to auto-select a subtitle.
Sep 02, 2019 23:47:12.770 [0xab3ffb40] DEBUG - Found a forced subtitle which matched account language
Sep 02, 2019 23:47:12.770 [0xab3ffb40] DEBUG - Audio Stream: 25413, Subtitle Stream: 25415
Sep 02, 2019 23:47:12.775 [0xab3ffb40] DEBUG - Streaming Resource: Attempting to create AdHoc transcode session DY3L88KNFF54
Sep 02, 2019 23:47:12.779 [0xab3ffb40] DEBUG - Scaled up video bitrate to 13815Kbps based on 1.500000x fudge factor.
Sep 02, 2019 23:47:12.780 [0xab3ffb40] DEBUG - MDE: Selected protocol hls; container: mpegts
Sep 02, 2019 23:47:12.781 [0xab3ffb40] DEBUG - MDE: analyzing media item 7536
Sep 02, 2019 23:47:12.781 [0xab3ffb40] DEBUG - MDE: E1 - 1:23:45: Direct Play is disabled
Sep 02, 2019 23:47:12.781 [0xab3ffb40] DEBUG - MDE: E1 - 1:23:45: media must be transcoded in order to use the hls protocol
Sep 02, 2019 23:47:12.781 [0xab3ffb40] DEBUG - MDE: E1 - 1:23:45: selected subtitle cannot be converted to a compatible format, burning into video stream
Sep 02, 2019 23:47:12.782 [0xab3ffb40] DEBUG - MDE: E1 - 1:23:45: avoiding video remux due to burned subtitle stream
Sep 02, 2019 23:47:12.782 [0xab3ffb40] DEBUG - MDE: E1 - 1:23:45: no remuxable profile found, so video stream will be transcoded
Sep 02, 2019 23:47:12.782 [0xab3ffb40] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Sep 02, 2019 23:47:12.782 [0xab3ffb40] DEBUG - Scaled up video bitrate to 13815Kbps based on 1.500000x fudge factor.
Sep 02, 2019 23:47:12.783 [0xab3ffb40] DEBUG - MDE: Chernobyl - S1 E1 - 1:23:45: selected media 0 / 7536
Sep 02, 2019 23:47:12.784 [0xab3ffb40] DEBUG - Streaming Resource: Adding session 0xaa4b40d4:DY3L88KNFF54 which is using transcoder slot.  Used slots is now 1
Sep 02, 2019 23:47:12.784 [0xab3ffb40] DEBUG - Streaming Resource: Added session 0xaa4b40d4:DY3L88KNFF54
Sep 02, 2019 23:47:12.784 [0xab3ffb40] DEBUG - Streaming Resource: Reached Decision id=7472 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=7536 part=(id=8144 decision=transcode container=mpegts protocol=hls streams=(Video=(id=25412 decision=transcode bitrate=13815 encoder=libx264 width=1920 height=1080) Audio=(id=25413 decision=copy channels=2 rate=48000) Subtitle=(id=25415 decision=burn languageCode=fre location=embedded))))
Sep 02, 2019 23:47:12.784 [0xab3ffb40] DEBUG - Found session GUID of DY3L88KNFF54 in session start.
Sep 02, 2019 23:47:12.784 [0xab3ffb40] DEBUG - Using session GUID DY3L88KNFF54 for new transcode session.
Sep 02, 2019 23:47:12.785 [0xab3ffb40] DEBUG - Cleaning directory for session DY3L88KNFF54 ()
Sep 02, 2019 23:47:12.819 [0xb1bffb40] DEBUG - Completed: [192.168.1.15:51201] 200 GET /video/:/transcode/universal/start.m3u8?maxVideoBitrate=40000&videoQuality=100&subtitleSize=100&mediaBufferSize=80000&partIndex=0&session=DY3L88KNFF54&skipSubtitles=0&audioBoost=100&protocol=hls&path=%2Flibrary%2Fmetadata%2F7472&videoResolution=1920x1080&fastSeek=1&directStream=1 (12 live) GZIP 192ms 464 bytes (pipelined: 1)
Sep 02, 2019 23:47:12.852 [0xac511b40] DEBUG - Request: [192.168.1.15:51201 (Subnet)] GET /video/:/transcode/universal/session/DY3L88KNFF54/base/index.m3u8 (12 live) GZIP
Sep 02, 2019 23:47:12.853 [0xac511b40] DEBUG - Found session GUID of DY3L88KNFF54 in session start.
Sep 02, 2019 23:47:12.853 [0xac511b40] DEBUG - Starting a transcode session DY3L88KNFF54 at offset -1.0 (state=3)
Sep 02, 2019 23:47:12.878 [0xac511b40] DEBUG - [Universal] Using local file path instead of URL: /volume1/video/TV show/adultes/all/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv
Sep 02, 2019 23:47:12.879 [0xac511b40] DEBUG - TPU: hardware transcoding: zero-copy support not present
Sep 02, 2019 23:47:12.885 [0xac511b40] DEBUG - Job running: EAE_ROOT='/volume1/Plex/tmp_transcoding/pms-0ca66d1e-5c02-4bbd-97c0-6569a0c884d5/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Codecs/e944d3a-1309-linux-synology-i686/' XDG_CACHE_HOME='/volume1/Plex/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/volume1/@appstore/Plex Media Server/Resources' '/volume1/@appstore/Plex Media Server/Plex Transcoder' '-codec:0' 'h264' '-i' '/volume1/Chernobyl.S01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE/Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv' '-map_inlineass' '0:3' '-filter_complex' '[0:0]scale=w=1920:h=1080[0];[0]format=pix_fmts=yuv420p|nv12[1];[1]inlineass=font_scale=1.000000:font_path=/volume1/@appstore/Plex\\\ Media\\\ Server/Resources/Fonts/DejaVuSans-Regular.ttf:fontconfig_file=/volume1/@appstore/Plex\\\ Media\\\ Server/Resources/fonts.conf[2]' '-map' '[2]' '-codec:0' 'libx264' '-crf:0' '16' '-maxrate:0' '13815k' '-bufsize:0' '27630k' '-r:0' '23.809999999999999' '-preset:0' 'veryfast' '-x264opts:0' 'subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none' '-force_key_frames:0' 'expr:gte(t,0+n_forced*1)' '-map' '0:1' '-metadata:s:1' 'language=fre' '-codec:1' 'copy' '-copypriorss:1' '0' '-segment_format' 'mpegts' '-f' 'ssegment' '-individual_header_trailer' '0' '-segment_time' '1' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/DY3L88KNFF54/976118c2-12af-4c91-bb26-c80b6a3c9b5e/seglist' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-map' '0:3' '-f' 'null' '-codec' 'ass' 'nullfile' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/DY3L88KNFF54/976118c2-12af-4c91-bb26-c80b6a3c9b5e/progress'
Sep 02, 2019 23:47:12.889 [0xac511b40] DEBUG - Jobs: Starting child process with pid 1326

Why is the direct play failing?
The Auto mode forces the transcoding in order to burn the subtitles to the video. Is that right? Is there a way to disable “Forced” subtitles? I will enable them when needed.

Thanks

Thanks for your answer.
Using ffmpeg, this file can be remuxed like the following:

in=Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mkv 
out=Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.mp4
ffmpeg -i ${in} \
-map 0:v:0 -vcodec copy \
-map 0:a:0 -c:a:0 copy \
-map 0:a:1 -c:a:1 copy \
-f mp4 \
${out}

This command takes the video stream #0 and copies it as is.
It takes also the audio streams at #0 and #1 and copies them, as they are at the right position according to (link):

Apple TV’s are remarkably fiddly in this department. You need to create a .m4v ( not .mp4 ) file with a video track, an AAC stereo track and a AC3 surround track and the AAC track must come before the AC3 track:

Official Apple Support

AC3 audio will not work if there is no AAC track ahead of it in the file. Additionally, an Apple TV will not attempt to downmix AC3 audio to stereo, which is why the extra AAC audio is needed. It will only pass the AC3 track directly through HDMI or optical to a receiver.

Not sure why it’s recommending m4v, but I’m going to try with mp4 ans see what happens.

My bad, you do want the resulting file with an extension of .m4v

In your post above I see the following lines:
“…media must be transcoded in order to use the hls protocol”
“…Scaled up video bitrate to 13815Kbps based on 1.500000x fudge factor”

Have to admit I’m not up on all of this, “hls protocol” but that is forcing the transcoding
The 13,815Kbps video bitrate might be contributing to the stutter

Thanks.
I’ve found another option, which consists of disabling the Forced subtitle.

To disable Forced subtitles and keep all streams (video, audio, subtitles, data, …):

ffmpeg -i INPUT.mkv -map 0 -c copy -disposition:s 0 OUTPUT.m4v

If this doesn’t work, I will just entirely remove the subtitles using:

ffmpeg -i INPUT.mkv -map 0:v -map 0:a -c copy OUTPUT.m4v

Regarding forced subtitles, you may disable them using these instructions.

Regarding audio tracks, the AAC track does not need transcoding, but the EAC3 track needs transcoding for the ATV3.

Can you pls post the XML version of the metadata ? (zip it before posting). If these are text subtitles, and if you are willing to do some testing, I can modify PlexConnect to see if it can handle them.

Here are the metadata in XML (used mediainfo --Output=XML):
Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE_metadata.xml.zip (2.2 KB)

However, from your link, I couldn’t really understand how to disable the Forced subtitles. Does the “Shown with foreign audio” work with the actual scenario? according to what I understood, no.

Btw, I’ve used this bash script to recursively remove everything except Video + Audio streams from the videos. This was done by using the latest ffmpeg from Synology Community repo.
The script was run in the Synology (DSM 6.2.2):

#!/bin/bash


folder="${1}"
if [[ -z ${folder} ]]; then
        echo "USAGE: $0 [FOLDERPATH]"
        exit
fi

IFS=$'\n'
for line in $(find "${folder}" -not -path '*/\.*' -type f -size +200M); do
    echo "[*] PROCESSING: ${line}"
        sleep 1
    filename=$(basename -- "${line}")
    extension="${filename##*.}"
    filename="${filename%.*}"
    basepath=$(dirname -- "${line}")

    if [[ "${extension}" == "old" || $(echo ${filename} | grep ".iz0n") ]]; then
        continue
    fi

    echo "/volume1/\@appstore/ffmpeg/bin/ffmpeg -y -nostats -hide_banner -i ${line} -map 0:v -map 0:a -c copy ${basepath}/${filename}.iz0n.${extension} 2> ${basepath}/${filename}.iz0n.log"
    /volume1/\@appstore/ffmpeg/bin/ffmpeg -y -nostats -hide_banner -i "${line}" -map 0:v -map 0:a -c copy "${basepath}/${filename}.iz0n.${extension}" 2> "${basepath}/${filename}.iz0n.log"
        if [[ $? -eq 0 ]]; then
                echo "[-] done! backuping original file to .old file extension. Don't forget to delete the .old and .log files if everything worked fine (rescan the library with Plex before retrying)"
                mv "${line}" "${line}.old"
        else
                echo "[-] failed!"
        fi
done

You can notice that I’m not changing the container from MKV to M4A because some of the files are mp4, avi, … which will make the ffmpeg command to fail. I may need to do more checking (eg. using mediainfo) before running the ffmpeg command, but I don’t have mediainfo on the Synology.
I can also do it later, but it works as is. Looks like Plex remuxes it without effort for the ATV3.

Would you consider zipping up the XML output from Plex itself?
The reason and method are in the article Investigate Media Information And Formats

Here’s an working link to the Apple Support Article HT1755

Here it is Chernobyl.S01E01.MULTi.1080p.AMZN.WEB-DL.H264-NoNE.plex_metadata.xml.zip (1.6 KB)

Thanks for the Plex metadata in XML format, this is what I needed.

About your streams:

  1. Video can be handled without transcoding
  2. AAC audio (stereo) can be handled without transcoding, but EAC3 (5.1) needs transcoding
  3. Subtitles can be rendered by PlexConnect (if you enable this in the ATV)

The problem here is the container. ATV3 does not supports MKV for directplay, it only supports m4v and mp4. Therefore, if you use ffmpeg to remux from MKV to MP4 (all tracks) it should directplay without problem (stereo audio). When I had a Syno I used this tool for such remux tasks.

Regarding forced subtitles, always enabled should handle them as non-forced.

Thanks for your answer, it’s very clear.
The second audio track of this video is an EAC3 instead of AC-3. Plex preferred sending the AAC one. Is that because I’ve disabled the Dolby Digital in the ATV3 settings? What happens if the DD is enabled?
How does the always enabled setting of the subtitles affects the other movies without the Forced subtitles? (eg. movie with spanish audio only and french subtitles, but Plex preferred language is french for audio and subtitles).

I linked Apple Support Article HT1755 above, where it does not list EAC3 as supported.
Isn’t that your biggest issue?

ATV3 supports AC3 in passthru mode. This means that ATV3 can’t decode AC3, but passes it to HDMI and optical ports. It’s then up to the equipment connected to these ports to decode AC3.

In my case I have the optical port of the ATV3 connected to an audio amplifier that can decode Dolby Digital, which is the same as AC3.

If you enable Dolby Digital in the ATV3 but neither the TV nor the amplifier support DD you will hear no sound.

eac3 will be transcoded to ac3 if DD is enabled in PlexConnect, otherwise it will be transcoded to AAC.

Thanks for you help guys, everything is understood now.
The subtitles one confused me because I didn’t read the Account Audio/Subtitle Language Settings link.
After reading that one, then the Forced subtitles related one (Configuring Subtitle Support)
, it’s clear.

So yeah @nibbles, my issue was that the Forced subtitles were burned to the video stream which required transcoding and killed perfs of the syno. The audio was fine because I had the AAC track which is accepted by the ATV3.
I had few options to fix that:
1- manually disable the Forced subtitle on that movie (can’t do it widely, unless you enable always enabled subtitles, but this will enable them widely even when the audio track’s language matches your preferred one, which will result into the same situation for me; other movies will get transcoded which is worse)
2- PlexConnect supports external SRT subtitle files. Enabling them on the PlexConnect settings would have fixed this (subtitlerenderer = iOS, PMS), but not sure as mine are included within the mkv file. Also, not sure if this is stable enough.
3- Remove the subtitles track completely from the file container. That’s what I experimented and it works fine. Of course, I will have to manually get subs when I need them. I’ve used ffmpeg -i INPUT.mkv -map 0:v -map 0:a -c copy OUTPUT.mkv
4- Not sure, but Plex->Settings-> Audio & Subtitle Settings-> Auto-Select Subtitle Mode-> Manually Selected may solve the issue as well. Not sure how this will behave with Forced subs.

I’m preferring option 3 because this ATV3 is only used by my parents, with limited IT knowledge. They usually never need subtitles as they only have French movies.

Thanks

I used to have the same kind of problems with MKV files but I noticed that updating my hardware with more RAM and a faster processor helped with that. But I did use handbrake for a time. PLEX likes MP4’s but if you have a monster machine with a lot of bandwidth and a lot of power and at least 16 GB of RAM, you can handle MKV files of up to 8 GB. But in my case the thing that kills transmission of MKV files is my limited upstream of 11 MBps. Even when playing local files, my server wants to push these huge files upstream and that’s where I get a lot of starts and stops. I have a friend in Canada who has 100 MB/ second upstream as well as something like 400 MB per second downstream, which is 4 to 1 more BW than what I’ve got, I have no trouble pulling content from his server although he’s 3000 miles away. But pulling the same content from my own server which is connected to the same network? Sometimes it just won’t play back.

The 4K content simply isn’t offered as MP4 files. Unless you know a trick to convert large 4K MKV files into MP4? Lately I have been having trouble with conversions that want to split the video and audio files when I try to make an MP4.

When I have to deal with MKV files and in my case it is not often, I look for the smallest files that have the same quality as the larger ones.

OK that was my MKV tangent. Perhaps on the devices that you are using to serve PLEX, MP4s are the best solution for that platform.

My other friend uses Synology that is hooked up into his Xbox, he swears by it and I’ve noticed that his content streams extremely high-quality to me without any glitches whatsoever. But this is the first time I’ve heard mention of sin ologies being used with an Apple TV 3 and Plexconnect, where exactly are you serving Plex from, is Synology native on certain devices? But on his Plex server he’s got several full-size Blu-ray MKVs extracted, they play back perfectly on my devices.

Blockquote If you enable Dolby Digital in the ATV3 but neither the TV nor the amplifier support DD you will hear no sound

Yes, exactly this- but it’s not on the ATV settings per se, it’s within the PLEXconnect settings on the ATV.

Most of my content was AC3 so that’s how I had it set up, in pass-through mode.

Since this thread involves issues with subtitles, I noticed that on certain content if I enabled the subtitles it would severely degrade the playback. Mostly on MKV files, not so much on MP4s.

Even with subtitles set to always on my server, the Apple TV will not automatically show them unless I choose to show them in that media’s audio and video settings

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