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