media-toolkit 0.2.11.dev0__tar.gz → 0.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/PKG-INFO +1 -1
  2. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/video/video_file.py +3 -2
  3. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/video/video_file_info.py +6 -6
  4. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/video/video_utils.py +3 -2
  5. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit.egg-info/PKG-INFO +1 -1
  6. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/pyproject.toml +1 -1
  7. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/LICENSE +0 -0
  8. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/README.md +0 -0
  9. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/__init__.py +0 -0
  10. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/IMediaFile.py +0 -0
  11. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/MediaDict.py +0 -0
  12. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/MediaList.py +0 -0
  13. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/__init__.py +0 -0
  14. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/audio_file.py +0 -0
  15. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/content_detectors/__init__.py +0 -0
  16. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/content_detectors/numpy_content_detector.py +0 -0
  17. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/content_detectors/puremagic_content_detector.py +0 -0
  18. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/file_content_buffer.py +0 -0
  19. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/file_conversion.py +0 -0
  20. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/image_file.py +0 -0
  21. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/media_file.py +0 -0
  22. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/universal_file.py +0 -0
  23. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/core/video/__init__.py +0 -0
  24. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/utils/auto_async.py +0 -0
  25. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/utils/data_type_utils.py +0 -0
  26. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/utils/dependency_requirements.py +0 -0
  27. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/utils/download_helper.py +0 -0
  28. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit/utils/generator_wrapper.py +0 -0
  29. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit.egg-info/SOURCES.txt +0 -0
  30. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit.egg-info/dependency_links.txt +0 -0
  31. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit.egg-info/requires.txt +0 -0
  32. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/media_toolkit.egg-info/top_level.txt +0 -0
  33. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/setup.cfg +0 -0
  34. {media_toolkit-0.2.11.dev0 → media_toolkit-0.2.12}/test/test_media_toolkit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: media-toolkit
3
- Version: 0.2.11.dev0
3
+ Version: 0.2.12
4
4
  Summary: Web-ready standardized file processing and serialization. Read, load and convert to standard file types with a common interface.
5
5
  Author: SocAIty
6
6
  License: MIT License
@@ -310,6 +310,7 @@ class VideoFile(MediaFile):
310
310
  container = None
311
311
  audio = None
312
312
  stream_video = None
313
+ frame_count = 0 # Initialize frame_count before any potential exceptions
313
314
 
314
315
  try:
315
316
  container = av.open(temp_video_file_path)
@@ -318,6 +319,7 @@ class VideoFile(MediaFile):
318
319
  if stream.type == 'video' and stream_video is None:
319
320
  stream_video = stream
320
321
  # We will extract audio separately using pydub for simplicity
322
+ audio_per_frame_duration = 0 # Initialize to prevent UnboundLocalError
321
323
  if include_audio:
322
324
  try:
323
325
  audio = AudioSegment.from_file(temp_video_file_path)
@@ -333,7 +335,6 @@ class VideoFile(MediaFile):
333
335
  include_audio = False
334
336
  print("Could not extract audio_file from video file. Audio will not be included in the video stream.")
335
337
 
336
- frame_count = 0
337
338
  audio_shape = None
338
339
 
339
340
  for frame in container.decode(video=0):
@@ -351,7 +352,7 @@ class VideoFile(MediaFile):
351
352
  audio_shape = audio_data.shape
352
353
 
353
354
  if audio_data is None:
354
- audio_data = np.zeros(audio_shape)
355
+ audio_data = np.zeros(audio_shape if audio_shape is not None else (0,))
355
356
 
356
357
  if audio_shape is not None:
357
358
  if len(audio_data) < audio_shape[0]:
@@ -6,12 +6,12 @@ from fractions import Fraction
6
6
  @dataclass
7
7
  class VideoInfo:
8
8
  """Video metadata container with validation and derived properties."""
9
- frame_rate: Optional[float] = None
10
- frame_count: Optional[int] = None
11
- duration: Optional[float] = None
12
- width: Optional[int] = None
13
- height: Optional[int] = None
14
- audio_sample_rate: Optional[int] = None
9
+ frame_rate: float = None
10
+ frame_count: int = None
11
+ duration: float = None
12
+ width: int = None
13
+ height: int = None
14
+ audio_sample_rate: int = None
15
15
 
16
16
  def __post_init__(self):
17
17
  self._derive_missing()
@@ -1,6 +1,5 @@
1
1
  import tempfile
2
2
  import tqdm
3
- from typing import Union
4
3
  from fractions import Fraction
5
4
 
6
5
  from media_toolkit.utils.dependency_requirements import requires
@@ -33,7 +32,7 @@ except ImportError:
33
32
  @requires('pydub', 'numpy')
34
33
  def add_audio_to_video_file(
35
34
  video_file: str,
36
- audio_file: Union[str, list],
35
+ audio_file: str,
37
36
  save_path: str = None
38
37
  ):
39
38
  """
@@ -172,6 +171,8 @@ def video_from_image_generator(
172
171
  if stream is not None:
173
172
  for packet in stream.encode():
174
173
  container.mux(packet)
174
+ else:
175
+ print("Warning: No valid frames were processed. Video file may be empty or corrupted.")
175
176
 
176
177
  except Exception as e:
177
178
  print(f"Error writing video: {e}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: media-toolkit
3
- Version: 0.2.11.dev0
3
+ Version: 0.2.12
4
4
  Summary: Web-ready standardized file processing and serialization. Read, load and convert to standard file types with a common interface.
5
5
  Author: SocAIty
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "media-toolkit"
7
- version = "00.02.11-dev"
7
+ version = "00.02.12"
8
8
  description = "Web-ready standardized file processing and serialization. Read, load and convert to standard file types with a common interface."
9
9
  requires-python = ">=3.8"
10
10
  authors = [