Create a dedicated module for coarse cutting.
This commit is contained in:
@@ -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)
|
||||||
Reference in New Issue
Block a user