From c0eff679f767c93a3d9d05e749cba8f0e7e02728 Mon Sep 17 00:00:00 2001 From: Javanaut Date: Tue, 14 Jan 2025 00:41:28 +0100 Subject: [PATCH] ff --- src/ffx/media_descriptor.py | 4 ++-- src/ffx/track_codec.py | 28 +++++++++++++++------------- src/ffx/track_descriptor.py | 3 +-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/ffx/media_descriptor.py b/src/ffx/media_descriptor.py index 73c9eae..47da9b7 100644 --- a/src/ffx/media_descriptor.py +++ b/src/ffx/media_descriptor.py @@ -381,14 +381,14 @@ class MediaDescriptor: else: - if td.getCodec() != TrackCodec.PGS: + if not td.getCodec() in [TrackCodec.PGS, TrackCodec.VOBSUB]: inputMappingTokens += [ "-map", f"0:{trackType.indicator()}:{stdsi}", ] else: - if td.getCodec() != TrackCodec.PGS: + if not td.getCodec() in [TrackCodec.PGS, TrackCodec.VOBSUB]: inputMappingTokens += ["-map", f"0:{stdi}"] return inputMappingTokens diff --git a/src/ffx/track_codec.py b/src/ffx/track_codec.py index 330390c..2b95f15 100644 --- a/src/ffx/track_codec.py +++ b/src/ffx/track_codec.py @@ -3,19 +3,21 @@ from enum import Enum class TrackCodec(Enum): - H265 = {'identifier': 'hevc', 'format': 'h265', 'extension': 'h265' ,'label': 'H.265'} - H264 = {'identifier': 'h264', 'format': 'h264', 'extension': 'h264' ,'label': 'H.264'} - MPEG4 = {'identifier': 'mpeg4', 'format': 'm4v', 'extension': 'm4v' ,'label': 'MPEG-4'} - MPEG2 = {'identifier': 'mpeg2video', 'format': 'mpeg2video', 'extension': 'mpg' ,'label': 'MPEG-2'} - AAC = {'identifier': 'aac', 'format': None, 'extension': 'aac' , 'label': 'AAC'} - AC3 = {'identifier': 'ac3', 'format': 'ac3', 'extension': 'ac3' , 'label': 'AC3'} - EAC3 = {'identifier': 'eac3', 'format': 'eac3', 'extension': 'eac3' , 'label': 'EAC3'} - DTS = {'identifier': 'dts', 'format': 'dts', 'extension': 'dts' , 'label': 'DTS'} - MP3 = {'identifier': 'mp3', 'format': 'mp3', 'extension': 'mp3' , 'label': 'MP3'} - - SRT = {'identifier': 'subrip', 'format': 'srt', 'extension': 'srt' , 'label': 'SRT'} - ASS = {'identifier': 'ass', 'format': 'ass', 'extension': 'ass' , 'label': 'ASS'} - PGS = {'identifier': 'hdmv_pgs_subtitle', 'format': 'sup', 'extension': 'sup' , 'label': 'PGS'} + H265 = {'identifier': 'hevc', 'format': 'h265', 'extension': 'h265' ,'label': 'H.265'} + H264 = {'identifier': 'h264', 'format': 'h264', 'extension': 'h264' ,'label': 'H.264'} + MPEG4 = {'identifier': 'mpeg4', 'format': 'm4v', 'extension': 'm4v' ,'label': 'MPEG-4'} + MPEG2 = {'identifier': 'mpeg2video', 'format': 'mpeg2video', 'extension': 'mpg' ,'label': 'MPEG-2'} + + AAC = {'identifier': 'aac', 'format': None, 'extension': 'aac' , 'label': 'AAC'} + AC3 = {'identifier': 'ac3', 'format': 'ac3', 'extension': 'ac3' , 'label': 'AC3'} + EAC3 = {'identifier': 'eac3', 'format': 'eac3', 'extension': 'eac3' , 'label': 'EAC3'} + DTS = {'identifier': 'dts', 'format': 'dts', 'extension': 'dts' , 'label': 'DTS'} + MP3 = {'identifier': 'mp3', 'format': 'mp3', 'extension': 'mp3' , 'label': 'MP3'} + + SRT = {'identifier': 'subrip', 'format': 'srt', 'extension': 'srt' , 'label': 'SRT'} + ASS = {'identifier': 'ass', 'format': 'ass', 'extension': 'ass' , 'label': 'ASS'} + PGS = {'identifier': 'hdmv_pgs_subtitle', 'format': 'sup', 'extension': 'sup' , 'label': 'PGS'} + VOBSUB = {'identifier': 'dvdsub', 'format': 'vobsub', 'extension': 'sub' , 'label': 'VobSub'} PNG = {'identifier': 'png', 'format': None, 'extension': 'png' , 'label': 'PNG'} diff --git a/src/ffx/track_descriptor.py b/src/ffx/track_descriptor.py index c040b38..84b9d6b 100644 --- a/src/ffx/track_descriptor.py +++ b/src/ffx/track_descriptor.py @@ -33,8 +33,7 @@ class TrackDescriptor: FFPROBE_TAGS_KEY = "tags" FFPROBE_CODEC_TYPE_KEY = "codec_type" FFPROBE_CODEC_KEY = "codec_name" - - CODEC_PGS = 'hdmv_pgs_subtitle' + def __init__(self, **kwargs):