fid-ffmpeg 0.4.3__tar.gz → 0.4.5__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 (77) hide show
  1. {fid_ffmpeg-0.4.3/src/fid_ffmpeg.egg-info → fid_ffmpeg-0.4.5}/PKG-INFO +1 -84
  2. fid_ffmpeg-0.4.5/README.md +59 -0
  3. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/pyproject.toml +1 -1
  4. fid_ffmpeg-0.4.5/src/fid/fid.py +42 -0
  5. fid_ffmpeg-0.4.5/src/fid/fid_interactive.py +42 -0
  6. fid_ffmpeg-0.4.5/src/fid/tasks/video/speed.py +0 -0
  7. fid_ffmpeg-0.4.5/src/fid/welcome.py +23 -0
  8. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5/src/fid_ffmpeg.egg-info}/PKG-INFO +1 -84
  9. fid_ffmpeg-0.4.5/src/fid_ffmpeg.egg-info/SOURCES.txt +72 -0
  10. fid_ffmpeg-0.4.5/src/fid_ffmpeg.egg-info/top_level.txt +1 -0
  11. fid_ffmpeg-0.4.3/README.md +0 -142
  12. fid_ffmpeg-0.4.3/src/fid_ffmpeg.egg-info/SOURCES.txt +0 -68
  13. fid_ffmpeg-0.4.3/src/fid_ffmpeg.egg-info/top_level.txt +0 -2
  14. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/LICENSE +0 -0
  15. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/setup.cfg +0 -0
  16. {fid_ffmpeg-0.4.3/src/initial_files → fid_ffmpeg-0.4.5/src/fid}/__init__.py +0 -0
  17. {fid_ffmpeg-0.4.3/src/tasks → fid_ffmpeg-0.4.5/src/fid/initial_files}/__init__.py +0 -0
  18. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/initial_files/error_handling.py +0 -0
  19. {fid_ffmpeg-0.4.3/src/tasks/audio → fid_ffmpeg-0.4.5/src/fid/tasks}/__init__.py +0 -0
  20. {fid_ffmpeg-0.4.3/src/tasks/encode → fid_ffmpeg-0.4.5/src/fid/tasks/audio}/__init__.py +0 -0
  21. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/audio_interactive.py +0 -0
  22. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/bitrate.py +0 -0
  23. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/channels.py +0 -0
  24. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/codec.py +0 -0
  25. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/compressor.py +0 -0
  26. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/delay.py +0 -0
  27. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/denoise.py +0 -0
  28. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/equalizer.py +0 -0
  29. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/fade.py +0 -0
  30. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/mix.py +0 -0
  31. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/mute.py +0 -0
  32. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/normalize.py +0 -0
  33. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/replace.py +0 -0
  34. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/speed.py +0 -0
  35. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/trim.py +0 -0
  36. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/audio/volume.py +0 -0
  37. {fid_ffmpeg-0.4.3/src/tasks/extract → fid_ffmpeg-0.4.5/src/fid/tasks/encode}/__init__.py +0 -0
  38. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/encode/av1.py +0 -0
  39. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/encode/encode_interactive.py +0 -0
  40. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/encode/h264.py +0 -0
  41. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/encode/h265.py +0 -0
  42. {fid_ffmpeg-0.4.3/src/tasks/stream → fid_ffmpeg-0.4.5/src/fid/tasks/extract}/__init__.py +0 -0
  43. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/attachments.py +0 -0
  44. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/audio.py +0 -0
  45. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/audio_channels.py +0 -0
  46. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/audio_track.py +0 -0
  47. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/chapters.py +0 -0
  48. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/extract_interactive.py +0 -0
  49. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/frames.py +0 -0
  50. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/keyframes.py +0 -0
  51. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/subtitles.py +0 -0
  52. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/subtitles_convert.py +0 -0
  53. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/subtitles_track.py +0 -0
  54. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/extract/thumbnails.py +0 -0
  55. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/info.py +0 -0
  56. {fid_ffmpeg-0.4.3/src/tasks/video → fid_ffmpeg-0.4.5/src/fid/tasks/stream}/__init__.py +0 -0
  57. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/dash.py +0 -0
  58. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/hls.py +0 -0
  59. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/http.py +0 -0
  60. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/rtmp.py +0 -0
  61. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/rtsp.py +0 -0
  62. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/srt.py +0 -0
  63. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/stream_interactive.py +0 -0
  64. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/stream/udp.py +0 -0
  65. /fid_ffmpeg-0.4.3/src/tasks/video/concat.py → /fid_ffmpeg-0.4.5/src/fid/tasks/video/__init__.py +0 -0
  66. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/video/compressor.py +0 -0
  67. /fid_ffmpeg-0.4.3/src/tasks/video/crop.py → /fid_ffmpeg-0.4.5/src/fid/tasks/video/concat.py +0 -0
  68. /fid_ffmpeg-0.4.3/src/tasks/video/fps.py → /fid_ffmpeg-0.4.5/src/fid/tasks/video/crop.py +0 -0
  69. /fid_ffmpeg-0.4.3/src/tasks/video/rotate.py → /fid_ffmpeg-0.4.5/src/fid/tasks/video/fps.py +0 -0
  70. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/video/gif.py +0 -0
  71. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/video/resize.py +0 -0
  72. /fid_ffmpeg-0.4.3/src/tasks/video/speed.py → /fid_ffmpeg-0.4.5/src/fid/tasks/video/rotate.py +0 -0
  73. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/video/trim.py +0 -0
  74. {fid_ffmpeg-0.4.3/src → fid_ffmpeg-0.4.5/src/fid}/tasks/video/video_interactive.py +0 -0
  75. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/src/fid_ffmpeg.egg-info/dependency_links.txt +0 -0
  76. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/src/fid_ffmpeg.egg-info/entry_points.txt +0 -0
  77. {fid_ffmpeg-0.4.3 → fid_ffmpeg-0.4.5}/src/fid_ffmpeg.egg-info/requires.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fid-ffmpeg
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: FFmpeg-based CLI tool for video and audio operations like editing, extracting, streaming, and encoding
5
5
  Author-email: Omar Abdalgwad <ahlawyomar95@gmail.com>
6
6
  License: MIT License
@@ -58,7 +58,6 @@ fid
58
58
  https://github.com/user-attachments/assets/abcc8aa0-3ada-4548-8f99-987687cfccd9
59
59
 
60
60
  ## Requirements
61
-
62
61
  - python >=3.9 : [Download Python](https://www.python.org/downloads/)
63
62
  - ffmpeg : [Download FFmpeg](https://www.ffmpeg.org/download.html)
64
63
  - install fid-cli with pip :
@@ -86,88 +85,6 @@ For more advanced options, use the interactive mode by running `fid` without arg
86
85
  - Built with Typer for commands and Questionary for interactive prompts.
87
86
  - Rich console output for a modern look.
88
87
 
89
- ## Project Structure
90
-
91
- ```
92
- ```
93
-
94
- FID
95
- ├─ LICENSE
96
- ├─ pyproject.toml
97
- ├─ README.md
98
- └─ src
99
- ├─ fid.py
100
- ├─ fid_interactive.py
101
- ├─ initial_files
102
- │ ├─ error_handling.py
103
- │ └─ __init__.py
104
- ├─ tasks
105
- │ ├─ audio
106
- │ │ ├─ audio_interactive.py
107
- │ │ ├─ bitrate.py
108
- │ │ ├─ channels.py
109
- │ │ ├─ codec.py
110
- │ │ ├─ compressor.py
111
- │ │ ├─ delay.py
112
- │ │ ├─ denoise.py
113
- │ │ ├─ equalizer.py
114
- │ │ ├─ fade.py
115
- │ │ ├─ mix.py
116
- │ │ ├─ mute.py
117
- │ │ ├─ normalize.py
118
- │ │ ├─ replace.py
119
- │ │ ├─ speed.py
120
- │ │ ├─ trim.py
121
- │ │ ├─ volume.py
122
- │ │ └─ __init__.py
123
- │ ├─ encode
124
- │ │ ├─ av1.py
125
- │ │ ├─ encode_interactive.py
126
- │ │ ├─ h264.py
127
- │ │ ├─ h265.py
128
- │ │ └─ __init__.py
129
- │ ├─ extract
130
- │ │ ├─ attachments.py
131
- │ │ ├─ audio.py
132
- │ │ ├─ audio_channels.py
133
- │ │ ├─ audio_track.py
134
- │ │ ├─ chapters.py
135
- │ │ ├─ extract_interactive.py
136
- │ │ ├─ frames.py
137
- │ │ ├─ keyframes.py
138
- │ │ ├─ subtitles.py
139
- │ │ ├─ subtitles_convert.py
140
- │ │ ├─ subtitles_track.py
141
- │ │ ├─ thumbnails.py
142
- │ │ └─ __init__.py
143
- │ ├─ info.py
144
- │ ├─ stream
145
- │ │ ├─ dash.py
146
- │ │ ├─ hls.py
147
- │ │ ├─ http.py
148
- │ │ ├─ rtmp.py
149
- │ │ ├─ rtsp.py
150
- │ │ ├─ srt.py
151
- │ │ ├─ stream_interactive.py
152
- │ │ ├─ udp.py
153
- │ │ └─ __init__.py
154
- │ ├─ video
155
- │ │ ├─ compressor.py
156
- │ │ ├─ concat.py
157
- │ │ ├─ crop.py
158
- │ │ ├─ fps.py
159
- │ │ ├─ gif.py
160
- │ │ ├─ resize.py
161
- │ │ ├─ rotate.py
162
- │ │ ├─ speed.py
163
- │ │ ├─ trim.py
164
- │ │ ├─ video_interactive.py
165
- │ │ └─ __init__.py
166
- │ └─ __init__.py
167
- ├─ welcome.py
168
- └─ __init__.py
169
-
170
- ```
171
88
 
172
89
  ## Contributing
173
90
  Contributions are welcome! Fork the repo, create a branch, and submit a pull request. For major changes, open an issue first.
@@ -0,0 +1,59 @@
1
+ # fid-ffmpeg [![PyPI Downloads](https://static.pepy.tech/personalized-badge/fid-ffmpeg?period=total&units=international_system&left_color=black&right_color=green&left_text=downloads)](https://pepy.tech/project/fid-ffmpeg)
2
+
3
+ Python wrapper around the FFmpeg command line tool for video operations.
4
+
5
+ ```bash
6
+ fid
7
+ ```
8
+ https://github.com/user-attachments/assets/abcc8aa0-3ada-4548-8f99-987687cfccd9
9
+
10
+ ## Requirements
11
+ - python >=3.9 : [Download Python](https://www.python.org/downloads/)
12
+ - ffmpeg : [Download FFmpeg](https://www.ffmpeg.org/download.html)
13
+ - install fid-cli with pip :
14
+ ```bash
15
+ pip install fid-ffmpeg
16
+ ```
17
+ ## installation demo
18
+ https://github.com/user-attachments/assets/6063b46b-dd4a-4cb3-a318-869f37bcf60f
19
+
20
+ ## Usage
21
+ Run `fid` for the interactive menu, or use direct commands:
22
+
23
+ - `fid --help`: Show help for fid CLI.
24
+ - `fid info "videoPath"`: Get all info about the video.
25
+ - `fid audio "videoPath"`: Extract audio from the video.
26
+ - `fid mute "videoPath"`: Mute the video.
27
+ - `fid gif "videoPath"`: Create a GIF from the video.
28
+ - `fid frames "videoPath"`: Extract all video frames into a folder.
29
+ - `fid compress "videoPath"`: Compress the video to reduce file size.
30
+
31
+ For more advanced options, use the interactive mode by running `fid` without arguments.
32
+
33
+ ## Features
34
+ - Interactive CLI with menus for video, audio, extract, stream, and encode operations.
35
+ - Built with Typer for commands and Questionary for interactive prompts.
36
+ - Rich console output for a modern look.
37
+
38
+
39
+ ## Contributing
40
+ Contributions are welcome! Fork the repo, create a branch, and submit a pull request. For major changes, open an issue first.
41
+
42
+ ## About
43
+ Python wrapper around the FFmpeg command line tool.
44
+
45
+ [PyPI Project](https://pypi.org/project/fid-ffmpeg/)
46
+
47
+ ### Topics
48
+ - audio
49
+ - python
50
+ - cli
51
+ - video
52
+ - ffmpeg
53
+ - frames
54
+ - gif
55
+ - compressor
56
+ - ffmpeg-wrapper
57
+ - rich
58
+ - mute
59
+ - typer-cli
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "fid-ffmpeg"
7
- version = "0.4.3"
7
+ version = "0.4.5"
8
8
  description = "FFmpeg-based CLI tool for video and audio operations like editing, extracting, streaming, and encoding"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Omar Abdalgwad", email = "ahlawyomar95@gmail.com" }]
@@ -0,0 +1,42 @@
1
+ import typer
2
+ import questionary
3
+ from pathlib import Path
4
+ from .welcome import welcome
5
+ from .fid_interactive import fid_main
6
+ from .tasks.extract.audio import audio_main
7
+ from .tasks.extract.frames import frames_main
8
+ from .tasks.audio.mute import mute_main
9
+ from .tasks.video.compressor import compress_main
10
+ from .tasks.video.gif import gif_main
11
+ from .tasks.info import info_main
12
+
13
+
14
+ app= typer.Typer()
15
+
16
+ @app.callback(invoke_without_command=True)
17
+ def start(ctx : typer.Context):
18
+ if ctx.invoked_subcommand is not None:
19
+ return
20
+
21
+ welcome()
22
+
23
+ while True:
24
+ video_path= questionary.path("enter the path to your video:").ask()
25
+ if video_path is None:
26
+ raise typer.Exit()
27
+ if Path(video_path).is_file():
28
+ fid_main(video_path)
29
+ break
30
+ else:
31
+ video_path= questionary.path(" it isn't a video Path ,enter the path to your video:").ask()
32
+ if video_path is None:
33
+ raise typer.Exit()
34
+ audio_main(app)
35
+ compress_main(app)
36
+ frames_main(app)
37
+ gif_main(app)
38
+ info_main(app)
39
+ mute_main(app)
40
+
41
+ if __name__=="__main__":
42
+ app()
@@ -0,0 +1,42 @@
1
+ import questionary
2
+ import typer
3
+ from .tasks.audio.audio_interactive import audio_main
4
+ from .tasks.encode.encode_interactive import encode_main
5
+ from .tasks.extract.extract_interactive import extract_main
6
+ from .tasks.stream.stream_interactive import stream_main
7
+ from .tasks.video.video_interactive import video_main
8
+
9
+ def fid_main(video_path):
10
+
11
+ while True:
12
+ choice= questionary.select(
13
+ "select the editing option you want:",
14
+ choices=[
15
+ "video editing",
16
+ "audio editing",
17
+ "extract from the video",
18
+ "streaming options",
19
+ "encoding options",
20
+ "exit"
21
+ ]).ask()
22
+
23
+ if choice is None:
24
+ raise typer.Exit()
25
+
26
+ if choice=="video editing":
27
+ video_main(video_path)
28
+
29
+ elif choice=="audio editing":
30
+ audio_main(video_path)
31
+
32
+ elif choice=="extract from the video":
33
+ extract_main(video_path)
34
+
35
+ elif choice=="streaming options":
36
+ stream_main(video_path)
37
+
38
+ elif choice=="encoding options":
39
+ encode_main(video_path)
40
+
41
+ elif choice=="exit":
42
+ raise typer.Exit()
File without changes
@@ -0,0 +1,23 @@
1
+ from rich.console import Console
2
+ from rich.panel import Panel
3
+ from rich.text import Text
4
+ import pyfiglet
5
+
6
+ console = Console()
7
+
8
+ def welcome():
9
+ ascii=pyfiglet.figlet_format("fid-ffmpeg",font="bloody")
10
+ logo = Text(ascii)
11
+ logo.stylize("bold gradient(cyan, magenta)")
12
+ console.print(logo, justify="center")
13
+ content =(
14
+ "[bold]fid-ffmpeg Helper[/bold]\n\n"
15
+ "[green]Commands:[/green]\n"
16
+ " • info Show video info\n"
17
+ " • audio Extract audio\n"
18
+ " • frames Extract frames\n"
19
+ " • gif Create gif\n"
20
+ " • mute Remove audio\n"
21
+ " • compress Compress video\n\n"
22
+ "[dim]Run : fid <command> <video path>[/dim]")
23
+ console.print(Panel(content,title="v0.4.3",border_style="bright_blue",expand=False),justify="center")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fid-ffmpeg
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: FFmpeg-based CLI tool for video and audio operations like editing, extracting, streaming, and encoding
5
5
  Author-email: Omar Abdalgwad <ahlawyomar95@gmail.com>
6
6
  License: MIT License
@@ -58,7 +58,6 @@ fid
58
58
  https://github.com/user-attachments/assets/abcc8aa0-3ada-4548-8f99-987687cfccd9
59
59
 
60
60
  ## Requirements
61
-
62
61
  - python >=3.9 : [Download Python](https://www.python.org/downloads/)
63
62
  - ffmpeg : [Download FFmpeg](https://www.ffmpeg.org/download.html)
64
63
  - install fid-cli with pip :
@@ -86,88 +85,6 @@ For more advanced options, use the interactive mode by running `fid` without arg
86
85
  - Built with Typer for commands and Questionary for interactive prompts.
87
86
  - Rich console output for a modern look.
88
87
 
89
- ## Project Structure
90
-
91
- ```
92
- ```
93
-
94
- FID
95
- ├─ LICENSE
96
- ├─ pyproject.toml
97
- ├─ README.md
98
- └─ src
99
- ├─ fid.py
100
- ├─ fid_interactive.py
101
- ├─ initial_files
102
- │ ├─ error_handling.py
103
- │ └─ __init__.py
104
- ├─ tasks
105
- │ ├─ audio
106
- │ │ ├─ audio_interactive.py
107
- │ │ ├─ bitrate.py
108
- │ │ ├─ channels.py
109
- │ │ ├─ codec.py
110
- │ │ ├─ compressor.py
111
- │ │ ├─ delay.py
112
- │ │ ├─ denoise.py
113
- │ │ ├─ equalizer.py
114
- │ │ ├─ fade.py
115
- │ │ ├─ mix.py
116
- │ │ ├─ mute.py
117
- │ │ ├─ normalize.py
118
- │ │ ├─ replace.py
119
- │ │ ├─ speed.py
120
- │ │ ├─ trim.py
121
- │ │ ├─ volume.py
122
- │ │ └─ __init__.py
123
- │ ├─ encode
124
- │ │ ├─ av1.py
125
- │ │ ├─ encode_interactive.py
126
- │ │ ├─ h264.py
127
- │ │ ├─ h265.py
128
- │ │ └─ __init__.py
129
- │ ├─ extract
130
- │ │ ├─ attachments.py
131
- │ │ ├─ audio.py
132
- │ │ ├─ audio_channels.py
133
- │ │ ├─ audio_track.py
134
- │ │ ├─ chapters.py
135
- │ │ ├─ extract_interactive.py
136
- │ │ ├─ frames.py
137
- │ │ ├─ keyframes.py
138
- │ │ ├─ subtitles.py
139
- │ │ ├─ subtitles_convert.py
140
- │ │ ├─ subtitles_track.py
141
- │ │ ├─ thumbnails.py
142
- │ │ └─ __init__.py
143
- │ ├─ info.py
144
- │ ├─ stream
145
- │ │ ├─ dash.py
146
- │ │ ├─ hls.py
147
- │ │ ├─ http.py
148
- │ │ ├─ rtmp.py
149
- │ │ ├─ rtsp.py
150
- │ │ ├─ srt.py
151
- │ │ ├─ stream_interactive.py
152
- │ │ ├─ udp.py
153
- │ │ └─ __init__.py
154
- │ ├─ video
155
- │ │ ├─ compressor.py
156
- │ │ ├─ concat.py
157
- │ │ ├─ crop.py
158
- │ │ ├─ fps.py
159
- │ │ ├─ gif.py
160
- │ │ ├─ resize.py
161
- │ │ ├─ rotate.py
162
- │ │ ├─ speed.py
163
- │ │ ├─ trim.py
164
- │ │ ├─ video_interactive.py
165
- │ │ └─ __init__.py
166
- │ └─ __init__.py
167
- ├─ welcome.py
168
- └─ __init__.py
169
-
170
- ```
171
88
 
172
89
  ## Contributing
173
90
  Contributions are welcome! Fork the repo, create a branch, and submit a pull request. For major changes, open an issue first.
@@ -0,0 +1,72 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/fid/__init__.py
5
+ src/fid/fid.py
6
+ src/fid/fid_interactive.py
7
+ src/fid/welcome.py
8
+ src/fid/initial_files/__init__.py
9
+ src/fid/initial_files/error_handling.py
10
+ src/fid/tasks/__init__.py
11
+ src/fid/tasks/info.py
12
+ src/fid/tasks/audio/__init__.py
13
+ src/fid/tasks/audio/audio_interactive.py
14
+ src/fid/tasks/audio/bitrate.py
15
+ src/fid/tasks/audio/channels.py
16
+ src/fid/tasks/audio/codec.py
17
+ src/fid/tasks/audio/compressor.py
18
+ src/fid/tasks/audio/delay.py
19
+ src/fid/tasks/audio/denoise.py
20
+ src/fid/tasks/audio/equalizer.py
21
+ src/fid/tasks/audio/fade.py
22
+ src/fid/tasks/audio/mix.py
23
+ src/fid/tasks/audio/mute.py
24
+ src/fid/tasks/audio/normalize.py
25
+ src/fid/tasks/audio/replace.py
26
+ src/fid/tasks/audio/speed.py
27
+ src/fid/tasks/audio/trim.py
28
+ src/fid/tasks/audio/volume.py
29
+ src/fid/tasks/encode/__init__.py
30
+ src/fid/tasks/encode/av1.py
31
+ src/fid/tasks/encode/encode_interactive.py
32
+ src/fid/tasks/encode/h264.py
33
+ src/fid/tasks/encode/h265.py
34
+ src/fid/tasks/extract/__init__.py
35
+ src/fid/tasks/extract/attachments.py
36
+ src/fid/tasks/extract/audio.py
37
+ src/fid/tasks/extract/audio_channels.py
38
+ src/fid/tasks/extract/audio_track.py
39
+ src/fid/tasks/extract/chapters.py
40
+ src/fid/tasks/extract/extract_interactive.py
41
+ src/fid/tasks/extract/frames.py
42
+ src/fid/tasks/extract/keyframes.py
43
+ src/fid/tasks/extract/subtitles.py
44
+ src/fid/tasks/extract/subtitles_convert.py
45
+ src/fid/tasks/extract/subtitles_track.py
46
+ src/fid/tasks/extract/thumbnails.py
47
+ src/fid/tasks/stream/__init__.py
48
+ src/fid/tasks/stream/dash.py
49
+ src/fid/tasks/stream/hls.py
50
+ src/fid/tasks/stream/http.py
51
+ src/fid/tasks/stream/rtmp.py
52
+ src/fid/tasks/stream/rtsp.py
53
+ src/fid/tasks/stream/srt.py
54
+ src/fid/tasks/stream/stream_interactive.py
55
+ src/fid/tasks/stream/udp.py
56
+ src/fid/tasks/video/__init__.py
57
+ src/fid/tasks/video/compressor.py
58
+ src/fid/tasks/video/concat.py
59
+ src/fid/tasks/video/crop.py
60
+ src/fid/tasks/video/fps.py
61
+ src/fid/tasks/video/gif.py
62
+ src/fid/tasks/video/resize.py
63
+ src/fid/tasks/video/rotate.py
64
+ src/fid/tasks/video/speed.py
65
+ src/fid/tasks/video/trim.py
66
+ src/fid/tasks/video/video_interactive.py
67
+ src/fid_ffmpeg.egg-info/PKG-INFO
68
+ src/fid_ffmpeg.egg-info/SOURCES.txt
69
+ src/fid_ffmpeg.egg-info/dependency_links.txt
70
+ src/fid_ffmpeg.egg-info/entry_points.txt
71
+ src/fid_ffmpeg.egg-info/requires.txt
72
+ src/fid_ffmpeg.egg-info/top_level.txt
@@ -1,142 +0,0 @@
1
- # fid-ffmpeg [![PyPI Downloads](https://static.pepy.tech/personalized-badge/fid-ffmpeg?period=total&units=international_system&left_color=black&right_color=green&left_text=downloads)](https://pepy.tech/project/fid-ffmpeg)
2
-
3
- Python wrapper around the FFmpeg command line tool for video operations.
4
-
5
- ```bash
6
- fid
7
- ```
8
- https://github.com/user-attachments/assets/abcc8aa0-3ada-4548-8f99-987687cfccd9
9
-
10
- ## Requirements
11
-
12
- - python >=3.9 : [Download Python](https://www.python.org/downloads/)
13
- - ffmpeg : [Download FFmpeg](https://www.ffmpeg.org/download.html)
14
- - install fid-cli with pip :
15
- ```bash
16
- pip install fid-ffmpeg
17
- ```
18
- ## installation demo
19
- https://github.com/user-attachments/assets/6063b46b-dd4a-4cb3-a318-869f37bcf60f
20
-
21
- ## Usage
22
- Run `fid` for the interactive menu, or use direct commands:
23
-
24
- - `fid --help`: Show help for fid CLI.
25
- - `fid info "videoPath"`: Get all info about the video.
26
- - `fid audio "videoPath"`: Extract audio from the video.
27
- - `fid mute "videoPath"`: Mute the video.
28
- - `fid gif "videoPath"`: Create a GIF from the video.
29
- - `fid frames "videoPath"`: Extract all video frames into a folder.
30
- - `fid compress "videoPath"`: Compress the video to reduce file size.
31
-
32
- For more advanced options, use the interactive mode by running `fid` without arguments.
33
-
34
- ## Features
35
- - Interactive CLI with menus for video, audio, extract, stream, and encode operations.
36
- - Built with Typer for commands and Questionary for interactive prompts.
37
- - Rich console output for a modern look.
38
-
39
- ## Project Structure
40
-
41
- ```
42
- ```
43
-
44
- FID
45
- ├─ LICENSE
46
- ├─ pyproject.toml
47
- ├─ README.md
48
- └─ src
49
- ├─ fid.py
50
- ├─ fid_interactive.py
51
- ├─ initial_files
52
- │ ├─ error_handling.py
53
- │ └─ __init__.py
54
- ├─ tasks
55
- │ ├─ audio
56
- │ │ ├─ audio_interactive.py
57
- │ │ ├─ bitrate.py
58
- │ │ ├─ channels.py
59
- │ │ ├─ codec.py
60
- │ │ ├─ compressor.py
61
- │ │ ├─ delay.py
62
- │ │ ├─ denoise.py
63
- │ │ ├─ equalizer.py
64
- │ │ ├─ fade.py
65
- │ │ ├─ mix.py
66
- │ │ ├─ mute.py
67
- │ │ ├─ normalize.py
68
- │ │ ├─ replace.py
69
- │ │ ├─ speed.py
70
- │ │ ├─ trim.py
71
- │ │ ├─ volume.py
72
- │ │ └─ __init__.py
73
- │ ├─ encode
74
- │ │ ├─ av1.py
75
- │ │ ├─ encode_interactive.py
76
- │ │ ├─ h264.py
77
- │ │ ├─ h265.py
78
- │ │ └─ __init__.py
79
- │ ├─ extract
80
- │ │ ├─ attachments.py
81
- │ │ ├─ audio.py
82
- │ │ ├─ audio_channels.py
83
- │ │ ├─ audio_track.py
84
- │ │ ├─ chapters.py
85
- │ │ ├─ extract_interactive.py
86
- │ │ ├─ frames.py
87
- │ │ ├─ keyframes.py
88
- │ │ ├─ subtitles.py
89
- │ │ ├─ subtitles_convert.py
90
- │ │ ├─ subtitles_track.py
91
- │ │ ├─ thumbnails.py
92
- │ │ └─ __init__.py
93
- │ ├─ info.py
94
- │ ├─ stream
95
- │ │ ├─ dash.py
96
- │ │ ├─ hls.py
97
- │ │ ├─ http.py
98
- │ │ ├─ rtmp.py
99
- │ │ ├─ rtsp.py
100
- │ │ ├─ srt.py
101
- │ │ ├─ stream_interactive.py
102
- │ │ ├─ udp.py
103
- │ │ └─ __init__.py
104
- │ ├─ video
105
- │ │ ├─ compressor.py
106
- │ │ ├─ concat.py
107
- │ │ ├─ crop.py
108
- │ │ ├─ fps.py
109
- │ │ ├─ gif.py
110
- │ │ ├─ resize.py
111
- │ │ ├─ rotate.py
112
- │ │ ├─ speed.py
113
- │ │ ├─ trim.py
114
- │ │ ├─ video_interactive.py
115
- │ │ └─ __init__.py
116
- │ └─ __init__.py
117
- ├─ welcome.py
118
- └─ __init__.py
119
-
120
- ```
121
-
122
- ## Contributing
123
- Contributions are welcome! Fork the repo, create a branch, and submit a pull request. For major changes, open an issue first.
124
-
125
- ## About
126
- Python wrapper around the FFmpeg command line tool.
127
-
128
- [PyPI Project](https://pypi.org/project/fid-ffmpeg/)
129
-
130
- ### Topics
131
- - audio
132
- - python
133
- - cli
134
- - video
135
- - ffmpeg
136
- - frames
137
- - gif
138
- - compressor
139
- - ffmpeg-wrapper
140
- - rich
141
- - mute
142
- - typer-cli
@@ -1,68 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- src/fid_ffmpeg.egg-info/PKG-INFO
5
- src/fid_ffmpeg.egg-info/SOURCES.txt
6
- src/fid_ffmpeg.egg-info/dependency_links.txt
7
- src/fid_ffmpeg.egg-info/entry_points.txt
8
- src/fid_ffmpeg.egg-info/requires.txt
9
- src/fid_ffmpeg.egg-info/top_level.txt
10
- src/initial_files/__init__.py
11
- src/initial_files/error_handling.py
12
- src/tasks/__init__.py
13
- src/tasks/info.py
14
- src/tasks/audio/__init__.py
15
- src/tasks/audio/audio_interactive.py
16
- src/tasks/audio/bitrate.py
17
- src/tasks/audio/channels.py
18
- src/tasks/audio/codec.py
19
- src/tasks/audio/compressor.py
20
- src/tasks/audio/delay.py
21
- src/tasks/audio/denoise.py
22
- src/tasks/audio/equalizer.py
23
- src/tasks/audio/fade.py
24
- src/tasks/audio/mix.py
25
- src/tasks/audio/mute.py
26
- src/tasks/audio/normalize.py
27
- src/tasks/audio/replace.py
28
- src/tasks/audio/speed.py
29
- src/tasks/audio/trim.py
30
- src/tasks/audio/volume.py
31
- src/tasks/encode/__init__.py
32
- src/tasks/encode/av1.py
33
- src/tasks/encode/encode_interactive.py
34
- src/tasks/encode/h264.py
35
- src/tasks/encode/h265.py
36
- src/tasks/extract/__init__.py
37
- src/tasks/extract/attachments.py
38
- src/tasks/extract/audio.py
39
- src/tasks/extract/audio_channels.py
40
- src/tasks/extract/audio_track.py
41
- src/tasks/extract/chapters.py
42
- src/tasks/extract/extract_interactive.py
43
- src/tasks/extract/frames.py
44
- src/tasks/extract/keyframes.py
45
- src/tasks/extract/subtitles.py
46
- src/tasks/extract/subtitles_convert.py
47
- src/tasks/extract/subtitles_track.py
48
- src/tasks/extract/thumbnails.py
49
- src/tasks/stream/__init__.py
50
- src/tasks/stream/dash.py
51
- src/tasks/stream/hls.py
52
- src/tasks/stream/http.py
53
- src/tasks/stream/rtmp.py
54
- src/tasks/stream/rtsp.py
55
- src/tasks/stream/srt.py
56
- src/tasks/stream/stream_interactive.py
57
- src/tasks/stream/udp.py
58
- src/tasks/video/__init__.py
59
- src/tasks/video/compressor.py
60
- src/tasks/video/concat.py
61
- src/tasks/video/crop.py
62
- src/tasks/video/fps.py
63
- src/tasks/video/gif.py
64
- src/tasks/video/resize.py
65
- src/tasks/video/rotate.py
66
- src/tasks/video/speed.py
67
- src/tasks/video/trim.py
68
- src/tasks/video/video_interactive.py
@@ -1,2 +0,0 @@
1
- initial_files
2
- tasks
File without changes
File without changes