Jump to content

Remember playback correction settings?


Recommended Posts

Posted

For a subset of the video files that I have, they have rapid or large subtitles that don't render properly on the Samsung client.

If I run playback correction on the client, it forces burn-in of subtitles and things play correctly.

However, if I play the file again later, it defaults back to the original behaviour, so I need to run the playback correction again.

Is there a way to make that correction stick?

Thanks!

Posted

Hi, I guess we could. The problem is that playback correction is situation specific, so remembering it is likely to cause a lot of unnecessary transcoding.

Posted

Hmm - then could something like the following be implemented?

image.png.c9fb04d3e9bd3fbd7dbd277d947610e5.png

Then people can select if they want to use the default handling or if they want to force transcoding.

Or maybe read the tags and if there is a specific tag (e.g. force-subtitle-transcode) then force transcoding of the subtitles?

Posted

Hi.  Most end users would have no idea what "transcode" means... and, thus, not know what the difference is between those options.

  • Agree 1
Posted

How do they render anyway?

Posted

Pre-correction?  It's plain text like style - so no fonts, and any placement of the subtitles (like for signs) will be all incorrect.

Funny thing, if I go into the the transcoding settings and turn off subtitle extraction (basically force transcoding for every file), there's a subset of files that completely fail to load.  It churns for a while, and then gives the generic no-stream-available error.  The server log gives this:
 

2025-11-13 18:18:14.035 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.11.0
	Command line: C:\Users\nobody\AppData\Roaming\Emby-Server\system\EmbyServer.dll -service
	Operating system: Microsoft Windows 10.0.20348
	Framework: .NET 6.0.36
	OS/Process: x64/x64
	Runtime: C:/Users/nobody/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Users\nobody\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\nobody\AppData\Roaming\Emby-Server\system
	Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Error starting ffmpeg
-loglevel +timing -y -print_graphs_file "C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\logs\ffmpeg-transcode-9f3b844d-4dff-45a5-89e5-6e6979806f86_1graph.txt" -copyts -start_at_zero -f matroska,webm -c:v:0 hevc -noautorotate -i "\\server\Videos\Show\Show.mkv" -filter_complex "[0:0]format@f1=pix_fmts=yuv420p,subtitles@f2=filename='\\\\server\\Videos\\Show\\Show.mkv':fontsdir='C\:\\Users\\nobody\\AppData\\Roaming\\Emby-Server\\programdata\\fonts':si=0[f2_out0]" -map [f2_out0] -map 0:2 -sn -c:v:0 libx264 -g:v:0 90 -maxrate:v:0 27729837 -bufsize:v:0 55459674 -sc_threshold:v:0 0 -keyint_min:v:0 90 -r:v:0 29.970029830932617 -pix_fmt:v:0 yuv420p -preset:v:0 veryfast -profile:v:0 high -x264opts:v:0 "subme=0:me_range=4:rc_lookahead=10:partitions=none" -crf:v:0 23 -c:a:0 aac -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=jpn -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "D:\data\emby\transcoding-temp\4C3B4B\4C3B4B.m3u8" -segment_list_type m3u8 -segment_time 00:00:03.000 -segment_start_number 0 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "D:\data\emby\transcoding-temp\4C3B4B\4C3B4B_%d.ts"

18:17:58.901 ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
	18:17:58.901   built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
	18:17:58.902 Execution Date: 2025-11-13 18:17:58
	18:17:58.936 Input #0, matroska,webm, from '\\server\Videos\Show\Show.mkv':
	18:17:58.936   Metadata:
	18:17:58.936     encoder         : libebml v1.4.5 + libmatroska v1.7.1
	18:17:58.936     creation_time   : 2024-04-26T02:09:37.000000Z
	18:17:58.936   Duration: 04:10:31.04, start: 0.000000, bitrate: 18486 kb/s
	18:17:58.936   Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt709/unknown/unknown), 1920x1080, SAR 1:1 DAR 16:9, Level 120, 29.97 fps, 29.97 tbr, 1k tbn (default)
	18:17:58.936     Metadata:
	18:17:58.936       BPS             : 11474754
	18:17:58.936       DURATION        : 04:10:31.041000000
	18:17:58.936       NUMBER_OF_FRAMES: 455932
	18:17:58.937       NUMBER_OF_BYTES : 21559688706
	18:17:58.937   Stream #0:1(jpn): Audio: flac, 48000 Hz, 5.1(side), s32 (24 bit) (default)
	18:17:58.937     Metadata:
	18:17:58.937       title           : FLAC 5.1
	18:17:58.937       BPS             : 4543051
	18:17:58.937       DURATION        : 04:06:29.782000000
	18:17:58.937       NUMBER_OF_FRAMES: 173319
	18:17:58.937       NUMBER_OF_BYTES : 8398842112
	18:17:58.937   Stream #0:2(jpn): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
	18:17:58.937     Metadata:
	18:17:58.937       title           : AC3 5.1
	18:17:58.937       BPS             : 640000
	18:17:58.937       DURATION        : 04:06:29.792000000
	18:17:58.937       NUMBER_OF_FRAMES: 462181
	18:17:58.937       NUMBER_OF_BYTES : 1183183360
	18:17:58.937   Stream #0:3(jpn): Audio: flac, 48000 Hz, stereo, s32 (24 bit)
	18:17:58.937     Metadata:
	18:17:58.937       title           : FLAC 2.0
	18:17:58.937       BPS             : 1898941
	18:17:58.937       DURATION        : 04:10:31.040000000
	18:17:58.937       NUMBER_OF_FRAMES: 176148
	18:17:58.937       NUMBER_OF_BYTES : 3567883844
	18:17:58.937   Stream #0:4(eng): Subtitle: ass (default)
	18:17:58.937     Metadata:
	18:17:58.937       BPS             : 197
	18:17:58.937       DURATION        : 04:05:58.060000000
	18:17:58.937       NUMBER_OF_FRAMES: 4767
	18:17:58.937       NUMBER_OF_BYTES : 364492
	18:17:58.937   Stream #0:5: Attachment: ttf
	18:17:58.937     Metadata:
	18:17:58.937       filename        : ARVO-REGULAR_0.TTF
	18:17:58.937       mimetype        : application/x-truetype-font
	18:17:58.937   Stream #0:6: Attachment: ttf
	18:17:58.937     Metadata:
	18:17:58.937       filename        : CHEWY.TTF
	18:17:58.937       mimetype        : application/x-truetype-font
	18:17:58.937   Stream #0:7: Attachment: ttf
	18:17:58.937     Metadata:
	18:17:58.937       filename        : LATO-EXTRABOLD.TTF
	18:17:58.937       mimetype        : application/x-truetype-font
	18:17:58.938   Stream #0:8: Attachment: ttf
	18:17:58.938     Metadata:
	18:17:58.938       filename        : LATO-EXTRABOLDITALIC.TTF
	18:17:58.938       mimetype        : application/x-truetype-font
	18:17:58.942   Stream #0:9: Attachment: ttf
	18:17:58.942     Metadata:
	18:17:58.942       filename        : MSYHBD.TTC
	18:17:58.942       mimetype        : application/x-truetype-font
	18:17:58.942   Stream #0:10: Attachment: ttf
	18:17:58.942     Metadata:
	18:17:58.942       filename        : ROCK.TTF
	18:17:58.942       mimetype        : application/x-truetype-font
	18:17:58.942   Stream #0:11: Attachment: ttf
	18:17:58.942     Metadata:
	18:17:58.942       filename        : ROCKB.TTF
	18:17:58.942       mimetype        : application/x-truetype-font
	18:17:58.942   Stream #0:12: Attachment: ttf
	18:17:58.942     Metadata:
	18:17:58.942       filename        : ROCKBI.TTF
	18:17:58.942       mimetype        : application/x-truetype-font
	18:17:58.942   Stream #0:13: Attachment: ttf
	18:17:58.942     Metadata:
	18:17:58.942       filename        : ROCKI.TTF
	18:17:58.942       mimetype        : application/x-truetype-font
	18:17:58.944 [subtitles@f2 @ 0000025220789680] libass API version: 0x1600000
	18:17:58.944 [subtitles@f2 @ 0000025220789680] libass source: commit: 0.16.0-0-g1af6240c5d1e499326146e0b88c987e626b13c23
	18:17:58.950 [subtitles@f2 @ 0000025220789680] Shaper: FriBidi 1.0.12 (SIMPLE) HarfBuzz-ng 4.3.0 (COMPLEX)
	18:17:58.975 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\DroidSansFallback.ttf'
	18:17:58.991 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\GoNotoCurrent.ttf'
	18:17:59.028 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\GoNotoKurrent.ttf'
	18:17:59.067 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\MontserratLight.otf'
	18:17:59.068 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\NotoSansFallback.ttf'
	18:17:59.110 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\robotoregular.ttf'
	18:17:59.111 [subtitles@f2 @ 0000025220789680] Loading font file 'C:\Users\nobody\AppData\Roaming\Emby-Server\programdata\fonts\webdings.ttf'
	18:17:59.116 [subtitles@f2 @ 0000025220789680] Using font provider directwrite (with GDI)
	

	   at Emby.Server.MediaEncoding.Api.BaseStreamingService.StartFfMpeg(StreamState state, String outputPath, CancellationToken cancellationToken, Boolean acquireResources)
	   at Emby.Server.MediaEncoding.Api.Hls.DynamicHlsService.GetDynamicSegment(StreamRequest request, String manifestAbsoluteUri, String playlistId, String segmentId, Int32 subtitleStreamIndex, AuthorizationInfo authorizationInfo)
	   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: Emby.Server.MediaEncoding
	TargetSite: Void MoveNext()

The only difference in the ffmpeg logs is a few copies of the following line at the bottom, plus the extra metadata:
 

>> ThrottleBySegmentRequest: Latest request position unknown

If you want the full logs, I can send them to you.

Posted
On 11/14/2025 at 7:56 AM, ebr said:

Hi.  Most end users would have no idea what "transcode" means... and, thus, not know what the difference is between those options.

Maybe, but that's why I also suggested tagging.  Definitely for the more advanced users, but more heavy-handed, since it will transcode for all subtitles in that file, regardless of whether or not it has issues.

Posted
On 11/15/2025 at 11:44 AM, Revenent said:

Pre-correction?  It's plain text like style - so no fonts, and any placement of the subtitles (like for signs) will be all incorrect.

HI there, can you please provide a specific example?

How to Report a Problem

Thanks !

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...