code: def __init__(
      self,
      start: Optional[float] = None,
      end: Optional[float] = None,
      offset_factor: float = 0.0,
      duration_factor: float = 1.0,
      minimum_duration: float = 0.0,
  ):
      assert (
          start is None or start >= 0
      ), "Start cannot be a negative number"
      assert (
          end is None or (start is not None and end > start) or end > 0
      ), "End must be a value greater than start"
      assert (
          0.0 <= offset_factor <= 1.0
      ), "Offset factor must be a value in the range [0.0, 1.0]"
      assert (
          0.0 <= duration_factor <= 1.0
      ), "Duration factor must be a value in the range [0.0, 1.0]"
  
      if start is not None or end is not None:
          self.start = start
          self.end = end
          self.offset_factor = None
          self.duration_factor = None
          self.minimum_duration = 0.0
      else:
          self.start = None
          self.end = None
          self.offset_factor = offset_factor
          self.duration_factor = duration_factor
          self.minimum_duration = minimum_duration
  
imports: from typing import List, Optional
  from augly.video.augmenters.ffmpeg.base_augmenter import BaseVidgearFFMPEGAugmenter
  from augly.video.helpers import get_video_info
label_desc: Use image node_id 1 to create a new VideoAugmenterByTrim object from inherited base classes: BaseVidgearFFMPEGAugmenter with example: obj = VideoAugmenterByTrim(start, end, offset_factor, duration_factor, minimum_duration)