better-ffmpeg-progress 4.1.0__tar.gz → 5.0.0__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 (17) hide show
  1. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/PKG-INFO +5 -9
  2. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/README.md +4 -8
  3. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/better_ffmpeg_progress.py +7 -18
  4. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/terminate_process.py +2 -2
  5. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress.egg-info/PKG-INFO +5 -9
  6. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/setup.py +1 -1
  7. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/LICENSE +0 -0
  8. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/__init__.py +0 -0
  9. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/enums.py +0 -0
  10. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/exceptions.py +0 -0
  11. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/progress_bars.py +0 -0
  12. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress/utils.py +0 -0
  13. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress.egg-info/SOURCES.txt +0 -0
  14. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress.egg-info/dependency_links.txt +0 -0
  15. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress.egg-info/requires.txt +0 -0
  16. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/better_ffmpeg_progress.egg-info/top_level.txt +0 -0
  17. {better_ffmpeg_progress-4.1.0 → better_ffmpeg_progress-5.0.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: better-ffmpeg-progress
3
- Version: 4.1.0
3
+ Version: 5.0.0
4
4
  Summary: Run FFmpeg & see percentage progress + ETA.
5
5
  Home-page: https://github.com/CrypticSignal/better-ffmpeg-progress
6
6
  Author: GitHub.com/CrypticSignal
@@ -61,13 +61,13 @@ from better_ffmpeg_progress import FfmpegProcess, FfmpegProcessError
61
61
  command = [
62
62
  "ffmpeg",
63
63
  "-i",
64
- "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
65
- "-c:v",
64
+ "https://media.xiph.org/video/derf/y4m/ducks_take_off_1080p50.y4m",
65
+ "-map",
66
+ "0:V",
67
+ "-c:V",
66
68
  "libx264",
67
69
  "-preset",
68
70
  "ultrafast",
69
- "-c:a",
70
- "copy",
71
71
  "-f",
72
72
  "null",
73
73
  "-",
@@ -78,11 +78,7 @@ try:
78
78
  # Uncomment the line below if you want to use tqdm instead of rich for the progress bar
79
79
  # process.use_tqdm = True
80
80
 
81
- # Run the FFmpeg command and show a progress bar
82
81
  process.run()
83
- # The FFmpeg process failed if the return code is not 0
84
- if process.return_code != 0:
85
- pass
86
82
  except FfmpegProcessError as e:
87
83
  print(f"An error occurred when running the better-ffmpeg-process package:\n{e}")
88
84
  ```
@@ -42,13 +42,13 @@ from better_ffmpeg_progress import FfmpegProcess, FfmpegProcessError
42
42
  command = [
43
43
  "ffmpeg",
44
44
  "-i",
45
- "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
46
- "-c:v",
45
+ "https://media.xiph.org/video/derf/y4m/ducks_take_off_1080p50.y4m",
46
+ "-map",
47
+ "0:V",
48
+ "-c:V",
47
49
  "libx264",
48
50
  "-preset",
49
51
  "ultrafast",
50
- "-c:a",
51
- "copy",
52
52
  "-f",
53
53
  "null",
54
54
  "-",
@@ -59,11 +59,7 @@ try:
59
59
  # Uncomment the line below if you want to use tqdm instead of rich for the progress bar
60
60
  # process.use_tqdm = True
61
61
 
62
- # Run the FFmpeg command and show a progress bar
63
62
  process.run()
64
- # The FFmpeg process failed if the return code is not 0
65
- if process.return_code != 0:
66
- pass
67
63
  except FfmpegProcessError as e:
68
64
  print(f"An error occurred when running the better-ffmpeg-process package:\n{e}")
69
65
  ```
@@ -127,13 +127,12 @@ class FfmpegProcess:
127
127
  self._handle_overwrite_prompt()
128
128
 
129
129
  self._process: Optional[subprocess.Popen] = None
130
- self._return_code: Optional[int] = None
131
130
  self.use_tqdm: bool = False
132
131
 
133
132
  def run(
134
133
  self,
135
134
  print_command: bool = False,
136
- ) -> int:
135
+ ) -> None:
137
136
  if print_command:
138
137
  cmd_str = (
139
138
  " ".join(self._ffmpeg_command)
@@ -152,8 +151,6 @@ class FfmpegProcess:
152
151
  if self._shell_needed and isinstance(current_ffmpeg_command, list):
153
152
  current_ffmpeg_command = " ".join(current_ffmpeg_command)
154
153
 
155
- self._return_code = 1
156
-
157
154
  try:
158
155
  creationflags = 0
159
156
  # Windows
@@ -178,25 +175,24 @@ class FfmpegProcess:
178
175
  creationflags=creationflags,
179
176
  )
180
177
  except Exception as e:
181
- # self._return_code remains None as the process didn't start
182
178
  raise FfmpegProcessError(f"Error starting FFmpeg process: {e}") from e
183
179
 
180
+ user_interrupted = False
184
181
  try:
185
182
  if self.use_tqdm:
186
- self._return_code = use_tqdm(self, self._process)
183
+ use_tqdm(self, self._process)
187
184
  else:
188
- self._return_code = use_rich(self, self._process)
185
+ use_rich(self, self._process)
189
186
  except KeyboardInterrupt:
187
+ user_interrupted = True
190
188
  self._terminate()
191
- self._return_code = 1
192
189
  finally:
193
190
  if self._process:
194
- self._return_code = self._process.returncode
195
-
196
191
  if self._process.stdout:
197
192
  self._process.stdout.close()
198
193
 
199
- return self._return_code
194
+ if not user_interrupted and self._process and self._process.returncode != 0:
195
+ raise FfmpegProcessError(f"FFmpeg process failed. Return code: {self._process.returncode}")
200
196
 
201
197
  def _terminate(self):
202
198
  if self._process:
@@ -204,10 +200,3 @@ class FfmpegProcess:
204
200
  else:
205
201
  exit()
206
202
 
207
- @property
208
- def return_code(self) -> Optional[int]:
209
- """
210
- The return code of the FFmpeg process.
211
- None if the process has not started or failed to start.
212
- """
213
- return self._return_code
@@ -196,6 +196,8 @@ def terminate_ffmpeg_process(process: Optional[subprocess.Popen]):
196
196
  if not process or process.poll() is not None:
197
197
  return
198
198
 
199
+ print("[KeyboardInterrupt] Terminating the FFmpeg process...")
200
+
199
201
  original_pid = process.pid
200
202
 
201
203
  parent_ps_proc: Optional[psutil.Process] = None
@@ -219,8 +221,6 @@ def terminate_ffmpeg_process(process: Optional[subprocess.Popen]):
219
221
  print(f"Error during fallback Popen termination: {popen_term_err}")
220
222
  return
221
223
 
222
- print("[better-ffmpeg-progress] Terminating the FFmpeg process...")
223
-
224
224
  if parent_ps_proc:
225
225
  _terminate_children_processes(parent_ps_proc)
226
226
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: better-ffmpeg-progress
3
- Version: 4.1.0
3
+ Version: 5.0.0
4
4
  Summary: Run FFmpeg & see percentage progress + ETA.
5
5
  Home-page: https://github.com/CrypticSignal/better-ffmpeg-progress
6
6
  Author: GitHub.com/CrypticSignal
@@ -61,13 +61,13 @@ from better_ffmpeg_progress import FfmpegProcess, FfmpegProcessError
61
61
  command = [
62
62
  "ffmpeg",
63
63
  "-i",
64
- "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
65
- "-c:v",
64
+ "https://media.xiph.org/video/derf/y4m/ducks_take_off_1080p50.y4m",
65
+ "-map",
66
+ "0:V",
67
+ "-c:V",
66
68
  "libx264",
67
69
  "-preset",
68
70
  "ultrafast",
69
- "-c:a",
70
- "copy",
71
71
  "-f",
72
72
  "null",
73
73
  "-",
@@ -78,11 +78,7 @@ try:
78
78
  # Uncomment the line below if you want to use tqdm instead of rich for the progress bar
79
79
  # process.use_tqdm = True
80
80
 
81
- # Run the FFmpeg command and show a progress bar
82
81
  process.run()
83
- # The FFmpeg process failed if the return code is not 0
84
- if process.return_code != 0:
85
- pass
86
82
  except FfmpegProcessError as e:
87
83
  print(f"An error occurred when running the better-ffmpeg-process package:\n{e}")
88
84
  ```
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as f:
5
5
 
6
6
  setuptools.setup(
7
7
  name="better-ffmpeg-progress",
8
- version="4.1.0",
8
+ version="5.0.0",
9
9
  author="GitHub.com/CrypticSignal",
10
10
  author_email="theaudiophile@outlook.com",
11
11
  description="Run FFmpeg & see percentage progress + ETA.",