Source code for draugr.ffmpeg_utilities.split

import os
import subprocess
from pathlib import Path

from apppath import ensure_existence

__all__ = ["spilt_video"]


[docs]def spilt_video( video_path: Path, start_time="01:40:00", stop_time="01:50:00", split_dir: Path = None, ffmpeg_path: Path = "ffmpeg", ) -> None: """ :param video_path: :type video_path: :param start_time: :type start_time: :param stop_time: :type stop_time: :param split_dir: :type split_dir: :param ffmpeg_path: :type ffmpeg_path: """ if split_dir is None: split_dir = ensure_existence(video_path.parent / "split") if not split_dir.is_dir(): ensure_existence(split_dir) ext = video_path.suffix name = video_path.stem while os.path.exists(str(split_dir / (name + ext))): name = name + "-1" subprocess.call( [ ffmpeg_path, "-ss", start_time, "-to", stop_time, "-accurate_seek", "-i", video_path, "-vcodec", "copy", "-acodec", "copy", "-avoid_negative_ts", "1", str(split_dir / (name + ext)), "-y", ] )
if __name__ == "__main__": spilt_video( Path.home() / "DataWin" / "DeepFake" / "Frontier" / "brandt.mp4", ffmpeg_path=Path.home() / "OneDrive - Alexandra Instituttet" / "Applications" / "ffmpeg-5.0-essentials_build" / "bin" / "ffmpeg.exe", )