diff --git a/src/tscut/coarse.py b/src/tscut/coarse.py new file mode 100644 index 0000000..0e280a5 --- /dev/null +++ b/src/tscut/coarse.py @@ -0,0 +1,38 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2026 Frédéric Tronel + +import logging +from typing import IO + +from tscut.tools.mkvtoolnix import ( + extract_mkv_part, +) + +logger = logging.getLogger(__name__) + + + + + +# TODO: finish this procedure +def do_coarse_processing(ffmpeg_path:str, ffprobe_path:str, mkvmerge_path:str, + input_file: IO[bytes], begin, end, nb_frames, framerate, + files_prefix, streams, width, height, temporaries, dump_mem_fd) -> None: + # pylint: disable=W0613 + logger = logging.getLogger(__name__) + + # Internal video with all streams (video, audio and subtitles) + internal_mkv_name = f'{files_prefix}.mkv' + + try: + internal_mkv = open(internal_mkv_name, 'wb+') + except OSError: + logger.error('Impossible to create file: %s', internal_mkv_name) + exit(-1) + + # Extract internal part of MKV + extract_mkv_part(mkvmerge_path=mkvmerge_path, input_file=input_file, output_file=internal_mkv, + begin=begin, end=end) + + temporaries.append(internal_mkv)