Picker: Custom names for subtitles not written to file
Problem Description
In Picker, custom track names are being defined for subtitles: 1: Forced 2: Normal This was inteded to external subtitle files being added through encoding, but those custom names don't show in Player (MPC-HC or VLC).
What version of VidCoder are you running?
12.10
Encode Log
VC [13:23:39] VidCoder 12.10
VC [13:23:39] Starting job 1/1
VC [13:23:39] Source path: C:\Users\User\Videos\Test\MKV testvideo with 5-audio tracks.mkv
VC [13:23:39] Destination path: C:\Users\User\Videos\VidCoder Export\MKV testvideo with 5-audio tracks.mp4
VC [13:23:39] Title: 1
VC [13:23:39] Range: All
VC [13:23:39] Preset: MP4 H264amd CQ28 prog aac-mono
VC [13:23:39] Picker: TZ H264 Audio1,2/UText-csutomname
VC [13:23:39] Worker ready: Pipe 'VidCoderWorker.e4c9f9aa-e0ca-4a01-af44-fa478ac037b0' is open
VC [13:23:39] Connecting to process 1924 on pipe VidCoderWorker.e4c9f9aa-e0ca-4a01-af44-fa478ac037b0
HB [13:23:39] CPU: AMD Ryzen 5 PRO 4650U with Radeon Graphics
[13:23:39] - logical processor count: 12
[13:23:39] Intel Quick Sync Video support: no
[13:23:39] hb_scan: path=C:\Users\User\Videos\Test\MKV testvideo with 5-audio tracks.mkv, title_index=1
Input #0, matroska,webm, from 'C:\Users\User\Videos\Test\MKV testvideo with 5-audio tracks.mkv':
Metadata:
encoder : libmakemkv v1.17.6 (1.3.10/1.5.2) win(x64-release)
creation_time : 2024-03-28T10:08:11.000000Z
SUBTITLE : deu
COMMENT : Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
GENRE : Action
LANGUAGE : deu/eng
ORIGINAL_MEDIA_TYPE: FHD
TITLE : MKV testvideo with 5-audio tracks
DATE_RECORDED : 1979
Duration: 00:25:57.26, start: 0.000000, bitrate: 24950 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn
Metadata:
BPS-eng : 19945592
DURATION-eng : 00:25:55.679125000
NUMBER_OF_BYTES-eng: 3878617490
NUMBER_OF_FRAMES-eng: 37299
SOURCE_ID-eng : 001011
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:1(deu): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)
Metadata:
title : Stereo
BPS-eng : 1536000
DURATION-eng : 00:25:55.930000000
NUMBER_OF_BYTES-eng: 298738560
NUMBER_OF_FRAMES-eng: 46678
SOURCE_ID-eng : 001100
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:2(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Metadata:
title : Stereo
BPS-eng : 1536000
DURATION-eng : 00:25:57.260000000
NUMBER_OF_BYTES-eng: 298993920
NUMBER_OF_FRAMES-eng: 46718
SOURCE_ID-eng : 001101
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:3(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Metadata:
title : Stereo
BPS-eng : 1536000
DURATION-eng : 00:25:57.260000000
NUMBER_OF_BYTES-eng: 298993920
NUMBER_OF_FRAMES-eng: 46718
SOURCE_ID-eng : 001102
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:4(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
title : Stereo
BPS-eng : 192000
DURATION-eng : 00:25:57.248000000
NUMBER_OF_BYTES-eng: 37373952
NUMBER_OF_FRAMES-eng: 48664
SOURCE_ID-eng : 001103
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:5: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
title : Stereo
BPS-eng : 192000
DURATION-eng : 00:25:57.248000000
NUMBER_OF_BYTES-eng: 37373952
NUMBER_OF_FRAMES-eng: 48664
SOURCE_ID-eng : 001104
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:6(deu): Subtitle: hdmv_pgs_subtitle (pgssub)
Metadata:
BPS-eng : 27980
DURATION-eng : 00:01:24.521937500
NUMBER_OF_BYTES-eng: 295613
NUMBER_OF_FRAMES-eng: 16
SOURCE_ID-eng : 001200
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
Stream #0:7(deu): Subtitle: hdmv_pgs_subtitle (pgssub)
Metadata:
BPS-eng : 24864
DURATION-eng : 00:25:33.469437500
NUMBER_OF_BYTES-eng: 4766026
NUMBER_OF_FRAMES-eng: 425
SOURCE_ID-eng : 001201
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.6 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2024-03-28 10:08:11
[13:23:39] scan: decoding previews for title 1
[13:23:39] scan: audio 0x1: pcm_s16le, rate=48000Hz, bitrate=1536000 Deutsch (pcm_s16le, 2.0 ch, 1536 kbps)
[13:23:39] scan: audio 0x2: pcm_s16le, rate=48000Hz, bitrate=1536000 English (pcm_s16le, 2.0 ch, 1536 kbps)
[13:23:39] scan: audio 0x3: pcm_s16le, rate=48000Hz, bitrate=1536000 English (pcm_s16le, 2.0 ch, 1536 kbps)
[13:23:39] scan: audio 0x4: ac3, rate=48000Hz, bitrate=192000 English (AC3, 2.0 ch, 192 kbps)
[13:23:39] scan: audio 0x5: ac3, rate=48000Hz, bitrate=192000 Unknown (AC3, 2.0 ch, 192 kbps)
HB [13:23:40] using container PAR 1:1
[13:23:40] scan: 10 previews, 1920x1080, 23.976 fps, autocrop = 0/0/254/254, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[13:23:40] libhb: scan thread found 1 valid title(s)
HB [13:23:41] Starting work at: Tue Oct 28 13:23:41 2025
[13:23:41] 1 job(s) to process
[13:23:41] json job:
{
"Audio": {
"AudioList": [
{
"Bitrate": 0,
"DRC": 0,
"Encoder": "av_aac",
"Gain": 0,
"Mixdown": 1,
"NormalizeMixLevel": false,
"Samplerate": 0,
"Name": "Stereo",
"Track": 0,
"DitherMethod": 0
},
{
"Bitrate": 0,
"DRC": 0,
"Encoder": "av_aac",
"Gain": 0,
"Mixdown": 1,
"NormalizeMixLevel": false,
"Samplerate": 0,
"Name": "Stereo",
"Track": 1,
"DitherMethod": 0
}
],
"CopyMask": [
"copy:aac",
"copy:ac3",
"copy:eac3",
"copy:truehd",
"copy:dts",
"copy:dtshd",
"copy:mp2",
"copy:mp3",
"copy:opus",
"copy:vorbis",
"copy:flac",
"copy:alac"
]
},
"Destination": {
"ChapterList": [
{
"Name": "Chapter 1"
}
],
"ChapterMarkers": true,
"AlignAVStart": true,
"File": "C:\\Users\\User\\Videos\\VidCoder Export\\MKV testvideo with 5-audio tracks.part.mp4",
"Options": {
"IpodAtom": false,
"Optimize": true
},
"Mux": "av_mp4"
},
"Filters": {
"FilterList": [
{
"ID": 11,
"Settings": {
"mode": "1"
}
},
{
"ID": 20,
"Settings": {
"crop-bottom": "0",
"crop-left": "254",
"crop-right": "252",
"crop-top": "0",
"height": "1080",
"width": "1414"
}
}
]
},
"PAR": {
"Num": 1,
"Den": 1
},
"Metadata": {
"CreationTime": "2024-03-28T10:08:11.000000Z",
"Genre": "Action",
"Name": "MKV testvideo with 5-audio tracks",
"Subtitle": "deu"
},
"SequenceID": 0,
"Source": {
"Angle": 1,
"Range": {
"Type": "chapter",
"Start": 1,
"End": 1
},
"Title": 1,
"Path": "C:\\Users\\User\\Videos\\Test\\MKV testvideo with 5-audio tracks.mkv",
"HWDecode": 0,
"KeepDuplicateTitles": false
},
"Subtitle": {
"Search": {
"Burn": false,
"Default": false,
"Enable": false,
"Forced": false
},
"SubtitleList": [
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 0,
"Offset": 0,
"Track": -1,
"Import": {
"Codeset": "UTF-8",
"Filename": "C:\\Users\\User\\Videos\\Test\\MKV testvideo with 5-audio tracks..forced.deu.srt",
"Language": "deu",
"Format": "SRT"
}
},
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 0,
"Offset": 0,
"Track": -1,
"Import": {
"Codeset": "UTF-8",
"Filename": "C:\\Users\\User\\Videos\\Test\\MKV testvideo with 5-audio tracks.deu.srt",
"Language": "deu",
"Format": "SRT"
}
}
]
},
"Video": {
"Encoder": "vce_h264",
"Level": "auto",
"MultiPass": false,
"Turbo": false,
"ColorMatrixCode": 0,
"Options": "",
"Preset": "main",
"Profile": "auto",
"Quality": 28,
"HardwareDecode": 0
}
}
[13:23:41] Starting Task: Encoding Pass
[13:23:41] work: bitrate not specified, track 1 setting bitrate 80 Kbps
[13:23:41] work: track 1, dithering not supported by codec
[13:23:41] work: bitrate not specified, track 2 setting bitrate 80 Kbps
[13:23:41] work: track 2, dithering not supported by codec
[13:23:41] work: only 1 chapter, disabling chapter markers
[13:23:41] job configuration:
[13:23:41] * source
[13:23:41] + C:\Users\User\Videos\Test\MKV testvideo with 5-audio tracks.mkv
[13:23:41] + title 1, chapter(s) 1 to 1
[13:23:41] + container: matroska,webm
[13:23:41] + data rate: 24950 kbps
[13:23:41] * destination
[13:23:41] + C:\Users\User\Videos\VidCoder Export\MKV testvideo with 5-audio tracks.part.mp4
[13:23:41] + container: MPEG-4 (libavformat)
[13:23:41] + optimized for HTTP streaming (fast start)
[13:23:41] + align initial A/V stream timestamps
[13:23:41] * video track
[13:23:41] + decoder: h264 8-bit (yuv420p)
[13:23:41] + filters
[13:23:41] + Framerate Shaper (mode=1)
[13:23:41] + frame rate: 23.976 fps -> constant 23.976 fps
[13:23:41] + Crop and Scale (width=1414:height=1080:crop-top=0:crop-bottom=0:crop-left=254:crop-right=252)
[13:23:41] + source: 1920 * 1080, crop (0/0/254/252): 1414 * 1080, scale: 1414 * 1080
[13:23:41] + Output geometry
[13:23:41] + storage dimensions: 1414 x 1080
[13:23:41] + pixel aspect ratio: 1 : 1
[13:23:41] + display dimensions: 1414 x 1080
[13:23:41] + encoder: H.264 (AMD VCE)
[13:23:41] + preset: main
[13:23:41] + profile: auto
[13:23:41] + level: auto
[13:23:41] + quality: 28.00 (CQ)
[13:23:41] + color profile: 1-1-1
[13:23:41] + color range: tv
[13:23:41] + chroma location: left
[13:23:41] * subtitle track 1, Deutsch (SRT) (track 0, id 0xff000000, Text) -> Passthru, offset: 0, charset: UTF-8
[13:23:41] * subtitle track 2, Deutsch (SRT) (track 0, id 0xff000100, Text) -> Passthru, offset: 0, charset: UTF-8
[13:23:41] * audio track 1
[13:23:41] + name: Stereo
[13:23:41] + decoder: Deutsch (pcm_s16le, 2.0 ch, 1536 kbps) (track 1, id 0x1)
[13:23:41] + bitrate: 1536 kbps, samplerate: 48000 Hz
[13:23:41] + mixdown: Mono
[13:23:41] + encoder: AAC (libavcodec)
[13:23:41] + bitrate: 80 kbps, samplerate: 48000 Hz
[13:23:41] * audio track 2
[13:23:41] + name: Stereo
[13:23:41] + decoder: English (pcm_s16le, 2.0 ch, 1536 kbps) (track 2, id 0x2)
[13:23:41] + bitrate: 1536 kbps, samplerate: 48000 Hz
[13:23:41] + mixdown: Mono
[13:23:41] + encoder: AAC (libavcodec)
[13:23:41] + bitrate: 80 kbps, samplerate: 48000 Hz
[13:23:41] sync: expecting 37336 video frames
[13:23:41] encavcodecInit: H.264 (AMD VCE)
[13:23:41] encavcodec: encoding at CQ 28.00
[13:23:41] encavcodec: QP (I) 28.00
[13:23:41] encavcodec: QP (P) 30.00
[13:23:41] encavcodec: QP (B) 32.00
[13:23:41] encavcodec: GOP Size 47
[13:23:41] encavcodec: encoding with stored aspect 1/1
HB [13:23:41] sync: first pts video is 0
[13:23:41] sync: "Chapter 1" (1) at frame 1 time 0
[13:23:41] sync: first pts audio 0x1 is 0
[13:23:41] sync: first pts audio 0x2 is 0
HB [13:23:41] sync: first pts subtitle 0xff000100 is 547920
HB [13:26:13] sync: first pts subtitle 0xff000000 is 130953240
HB [13:26:23] reader: done. 1 scr changes
HB [13:26:23] work: average encoding speed for job is 229.496048 fps
HB [13:26:23] vfr: 37299 frames output, 0 dropped and 0 duped for CFR/PFR
[13:26:23] vfr: lost time: 0 (0 frames)
[13:26:23] vfr: gained time: 0 (0 frames) (0 not accounted for)
[13:26:23] pcm_s16le-decoder done: 46678 frames, 0 decoder errors
[13:26:23] pcm_s16le-decoder done: 46718 frames, 0 decoder errors
[13:26:23] h264-decoder done: 37299 frames, 0 decoder errors
HB [13:26:23] sync: got 37299 frames, 37336 expected
[13:26:23] sync: framerate min 23.976 fps, max 23.976 fps, avg 23.976 fps
HB [13:26:24] mux: track 0, 37299 frames, 379842873 bytes, 1951.28 kbps, fifo 4096
[13:26:24] mux: track 1, 72935 frames, 15683406 bytes, 80.57 kbps, fifo 8192
[13:26:24] mux: track 2, 72997 frames, 15741060 bytes, 80.86 kbps, fifo 8192
[13:26:24] mux: track 3, 11 frames, 874 bytes, 0.00 kbps, fifo 16
[13:26:24] mux: track 4, 252 frames, 15763 bytes, 0.08 kbps, fifo 32
[13:26:24] Finished work at: Tue Oct 28 13:26:24 2025
[13:26:24] libhb: work result = 0
VC [13:26:24] Job completed (Elapsed Time: 2m 45s)
The "Custom Track Names" currently only applies to subtitles picked from the source, not external subtitles. VidCoder would need a different mechanism to name those, since you should be able to extract the information from the subtitle filename itself. Maybe I could set up a "regex mapper" that could apply a name based on a regex match.
Yeah, the filename to get the Custom Track Names should follow naming rules.
There are only three names that should apply. If the filenames include forced, sdh and normal followed by language code and subtitle format, the Custom Track Names should only be chosen by the first three differentiations (forced, sdh and normal).
Example: filmtitle.forced.eng.srt
In this example forced should be recognized for Custom Track Names.
Example 2: filmtitle.sdh.deu.srt
Subtitles for hearing impaired are usually called SDH.
Then there are subtitles that don't show addtional descriptions for hearing impaired and generally don't have a designation. And "i think" calling them "Normal" in the Custom Track Name, would still be helpful, as the watcher recognizes immediately that this is not a forced or sdh subtitle.
On the other hand, don't having "normal" in the filename could still result in a Custom Track Name "Normal", as Forced or SDH is not present.