numpyimage 3.1.0__tar.gz → 3.1.1__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.
- {numpyimage-3.1.0/numpyimage.egg-info → numpyimage-3.1.1}/PKG-INFO +1 -1
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/vidio.py +12 -9
- {numpyimage-3.1.0 → numpyimage-3.1.1/numpyimage.egg-info}/PKG-INFO +1 -1
- {numpyimage-3.1.0 → numpyimage-3.1.1}/pyproject.toml +1 -1
- {numpyimage-3.1.0 → numpyimage-3.1.1}/LICENSE +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/README.md +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/__init__.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/align.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/graphics.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/imageio.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/nrrd_utils.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/operations.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/npimage/utils.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/numpyimage.egg-info/SOURCES.txt +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/numpyimage.egg-info/dependency_links.txt +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/numpyimage.egg-info/requires.txt +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/numpyimage.egg-info/top_level.txt +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/setup.cfg +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/tests/test_heic.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/tests/test_pbm.py +0 -0
- {numpyimage-3.1.0 → numpyimage-3.1.1}/tests/test_video_writers.py +0 -0
|
@@ -202,14 +202,14 @@ class VideoStreamer:
|
|
|
202
202
|
frames_pts = []
|
|
203
203
|
# Fallback to ffprobe if PyAV didn't work
|
|
204
204
|
cmd = ['ffprobe',
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
205
|
+
'-select_streams', 'v:0',
|
|
206
|
+
'-show_frames',
|
|
207
|
+
'-show_entries', 'frame=pts',
|
|
208
|
+
'-of', 'default=noprint_wrappers=1:nokey=1',
|
|
209
|
+
'-v', 'quiet',
|
|
210
|
+
self.filename]
|
|
211
211
|
ffprobe_result = subprocess.run(cmd, stdout=subprocess.PIPE,
|
|
212
|
-
|
|
212
|
+
stderr=subprocess.PIPE, text=True)
|
|
213
213
|
if ffprobe_result.returncode != 0:
|
|
214
214
|
raise RuntimeError(f'ffprobe failed: {ffprobe_result.stderr}')
|
|
215
215
|
|
|
@@ -649,6 +649,8 @@ class FFmpegVideoWriter:
|
|
|
649
649
|
command = [
|
|
650
650
|
'ffmpeg',
|
|
651
651
|
'-hide_banner',
|
|
652
|
+
'-loglevel', 'error',
|
|
653
|
+
'-nostats',
|
|
652
654
|
'-y', # Overwrite output
|
|
653
655
|
'-f', 'rawvideo',
|
|
654
656
|
'-vcodec', 'rawvideo',
|
|
@@ -733,12 +735,13 @@ class FFmpegVideoWriter:
|
|
|
733
735
|
|
|
734
736
|
# Wait for FFmpeg to finish
|
|
735
737
|
if self._process:
|
|
738
|
+
stderr_data = self._process.stderr.read()
|
|
736
739
|
return_code = self._process.wait()
|
|
737
740
|
|
|
738
741
|
# Check for errors
|
|
739
742
|
if return_code != 0:
|
|
740
|
-
|
|
741
|
-
|
|
743
|
+
raise RuntimeError(f'FFmpeg failed with return code {return_code}:'
|
|
744
|
+
f' {stderr_data.decode()}')
|
|
742
745
|
finally:
|
|
743
746
|
# Clean up process references
|
|
744
747
|
self._process = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|