media-agent-mcp 0.4.8__tar.gz → 0.4.9__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 (27) hide show
  1. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/PKG-INFO +1 -1
  2. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/pyproject.toml +1 -1
  3. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/video/processor.py +22 -10
  4. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/PKG-INFO +1 -1
  5. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/README.md +0 -0
  6. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/setup.cfg +0 -0
  7. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/__init__.py +0 -0
  8. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/__init__.py +0 -0
  9. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/openaiedit.py +0 -0
  10. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/seed16.py +0 -0
  11. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/seedance.py +0 -0
  12. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/seededit.py +0 -0
  13. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/ai_models/seedream.py +0 -0
  14. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/async_server.py +0 -0
  15. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/async_wrapper.py +0 -0
  16. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/media_selectors/__init__.py +0 -0
  17. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/media_selectors/image_selector.py +0 -0
  18. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/media_selectors/video_selector.py +0 -0
  19. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/server.py +0 -0
  20. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/storage/__init__.py +0 -0
  21. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/storage/tos_client.py +0 -0
  22. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp/video/__init__.py +0 -0
  23. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/SOURCES.txt +0 -0
  24. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/dependency_links.txt +0 -0
  25. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/entry_points.txt +0 -0
  26. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/requires.txt +0 -0
  27. {media_agent_mcp-0.4.8 → media_agent_mcp-0.4.9}/src/media_agent_mcp.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: media-agent-mcp
3
- Version: 0.4.8
3
+ Version: 0.4.9
4
4
  Summary: A Model Context Protocol server for media processing with AI tools
5
5
  Author-email: Media Agent Team <team@mediaagent.com>
6
6
  Keywords: mcp,ai,media,video,image,processing
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "media-agent-mcp"
3
- version = "0.4.8"
3
+ version = "0.4.9"
4
4
  description = "A Model Context Protocol server for media processing with AI tools"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -122,25 +122,37 @@ def concat_videos(video_urls: list, output_path: Optional[str] = None) -> Dict[s
122
122
 
123
123
  # Get video properties from the first video
124
124
  first_cap = video_captures[0]
125
- fps = int(first_cap.get(cv2.CAP_PROP_FPS))
125
+ fps = first_cap.get(cv2.CAP_PROP_FPS)
126
+ if fps <= 0:
127
+ logger.warning("Invalid FPS detected, setting to 30.")
128
+ fps = 30
129
+ else:
130
+ fps = int(fps)
126
131
  width = int(first_cap.get(cv2.CAP_PROP_FRAME_WIDTH))
127
132
  height = int(first_cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
128
-
133
+
129
134
  # Create video writer with H.264 codec for better compatibility
130
- fourcc = cv2.VideoWriter_fourcc(*'avc1') # H.264 codec
135
+ logger.info("Initializing video writer with 'avc1' (H.264) codec.")
136
+ fourcc = cv2.VideoWriter_fourcc(*'avc1')
131
137
  out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))
132
-
138
+
133
139
  # Check if video writer was initialized successfully
134
140
  if not out.isOpened():
135
- # Fallback to mp4v if avc1 fails
141
+ logger.warning("Failed to initialize video writer with 'avc1' codec. Falling back to 'mp4v'.")
136
142
  fourcc = cv2.VideoWriter_fourcc(*'mp4v')
137
143
  out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))
138
144
  if not out.isOpened():
139
- return {
140
- "status": "error",
141
- "data": None,
142
- "message": "Could not initialize video writer"
143
- }
145
+ logger.warning("Failed to initialize video writer with 'mp4v' codec. Falling back to 'XVID'.")
146
+ fourcc = cv2.VideoWriter_fourcc(*'XVID')
147
+ out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))
148
+ if not out.isOpened():
149
+ logger.error("Failed to initialize video writer with 'avc1', 'mp4v', or 'XVID' codecs.")
150
+ return {
151
+ "status": "error",
152
+ "data": None,
153
+ "message": "Could not initialize video writer with any of the supported codecs."
154
+ }
155
+ logger.info("Video writer initialized successfully.")
144
156
 
145
157
  # Write frames from all videos in order
146
158
  for i, cap in enumerate(video_captures):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: media-agent-mcp
3
- Version: 0.4.8
3
+ Version: 0.4.9
4
4
  Summary: A Model Context Protocol server for media processing with AI tools
5
5
  Author-email: Media Agent Team <team@mediaagent.com>
6
6
  Keywords: mcp,ai,media,video,image,processing