fid-ffmpeg 0.4.4__py3-none-any.whl → 0.4.6__py3-none-any.whl
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.
- fid/fid.py +42 -0
- fid/fid_interactive.py +42 -0
- {tasks → fid/tasks}/audio/audio_interactive.py +13 -13
- {tasks → fid/tasks}/encode/encode_interactive.py +3 -3
- {tasks → fid/tasks}/extract/extract_interactive.py +9 -9
- {tasks → fid/tasks}/stream/stream_interactive.py +7 -7
- fid/tasks/video/speed.py +0 -0
- {tasks → fid/tasks}/video/video_interactive.py +6 -6
- fid/welcome.py +23 -0
- {fid_ffmpeg-0.4.4.dist-info → fid_ffmpeg-0.4.6.dist-info}/METADATA +1 -84
- fid_ffmpeg-0.4.6.dist-info/RECORD +69 -0
- {fid_ffmpeg-0.4.4.dist-info → fid_ffmpeg-0.4.6.dist-info}/entry_points.txt +1 -1
- fid_ffmpeg-0.4.6.dist-info/top_level.txt +1 -0
- fid_ffmpeg-0.4.4.dist-info/RECORD +0 -65
- fid_ffmpeg-0.4.4.dist-info/top_level.txt +0 -2
- {initial_files → fid}/__init__.py +0 -0
- {tasks → fid/initial_files}/__init__.py +0 -0
- {initial_files → fid/initial_files}/error_handling.py +0 -0
- {tasks/audio → fid/tasks}/__init__.py +0 -0
- {tasks/encode → fid/tasks/audio}/__init__.py +0 -0
- {tasks → fid/tasks}/audio/bitrate.py +0 -0
- {tasks → fid/tasks}/audio/channels.py +0 -0
- {tasks → fid/tasks}/audio/codec.py +0 -0
- {tasks → fid/tasks}/audio/compressor.py +0 -0
- {tasks → fid/tasks}/audio/delay.py +0 -0
- {tasks → fid/tasks}/audio/denoise.py +0 -0
- {tasks → fid/tasks}/audio/equalizer.py +0 -0
- {tasks → fid/tasks}/audio/fade.py +0 -0
- {tasks → fid/tasks}/audio/mix.py +0 -0
- {tasks → fid/tasks}/audio/mute.py +0 -0
- {tasks → fid/tasks}/audio/normalize.py +0 -0
- {tasks → fid/tasks}/audio/replace.py +0 -0
- {tasks → fid/tasks}/audio/speed.py +0 -0
- {tasks → fid/tasks}/audio/trim.py +0 -0
- {tasks → fid/tasks}/audio/volume.py +0 -0
- {tasks/extract → fid/tasks/encode}/__init__.py +0 -0
- {tasks → fid/tasks}/encode/av1.py +0 -0
- {tasks → fid/tasks}/encode/h264.py +0 -0
- {tasks → fid/tasks}/encode/h265.py +0 -0
- {tasks/stream → fid/tasks/extract}/__init__.py +0 -0
- {tasks → fid/tasks}/extract/attachments.py +0 -0
- {tasks → fid/tasks}/extract/audio.py +0 -0
- {tasks → fid/tasks}/extract/audio_channels.py +0 -0
- {tasks → fid/tasks}/extract/audio_track.py +0 -0
- {tasks → fid/tasks}/extract/chapters.py +0 -0
- {tasks → fid/tasks}/extract/frames.py +0 -0
- {tasks → fid/tasks}/extract/keyframes.py +0 -0
- {tasks → fid/tasks}/extract/subtitles.py +0 -0
- {tasks → fid/tasks}/extract/subtitles_convert.py +0 -0
- {tasks → fid/tasks}/extract/subtitles_track.py +0 -0
- {tasks → fid/tasks}/extract/thumbnails.py +0 -0
- {tasks → fid/tasks}/info.py +0 -0
- {tasks/video → fid/tasks/stream}/__init__.py +0 -0
- {tasks → fid/tasks}/stream/dash.py +0 -0
- {tasks → fid/tasks}/stream/hls.py +0 -0
- {tasks → fid/tasks}/stream/http.py +0 -0
- {tasks → fid/tasks}/stream/rtmp.py +0 -0
- {tasks → fid/tasks}/stream/rtsp.py +0 -0
- {tasks → fid/tasks}/stream/srt.py +0 -0
- {tasks → fid/tasks}/stream/udp.py +0 -0
- /tasks/video/concat.py → /fid/tasks/video/__init__.py +0 -0
- {tasks → fid/tasks}/video/compressor.py +0 -0
- /tasks/video/crop.py → /fid/tasks/video/concat.py +0 -0
- /tasks/video/fps.py → /fid/tasks/video/crop.py +0 -0
- /tasks/video/rotate.py → /fid/tasks/video/fps.py +0 -0
- {tasks → fid/tasks}/video/gif.py +0 -0
- {tasks → fid/tasks}/video/resize.py +0 -0
- /tasks/video/speed.py → /fid/tasks/video/rotate.py +0 -0
- {tasks → fid/tasks}/video/trim.py +0 -0
- {fid_ffmpeg-0.4.4.dist-info → fid_ffmpeg-0.4.6.dist-info}/WHEEL +0 -0
- {fid_ffmpeg-0.4.4.dist-info → fid_ffmpeg-0.4.6.dist-info}/licenses/LICENSE +0 -0
fid/fid.py
ADDED
|
@@ -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()
|
fid/fid_interactive.py
ADDED
|
@@ -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()
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import questionary
|
|
2
2
|
import typer
|
|
3
|
-
from .denoise import denoise
|
|
4
|
-
from .equalizer import equalizer
|
|
3
|
+
#from .denoise import denoise
|
|
4
|
+
#from .equalizer import equalizer
|
|
5
5
|
from .compressor import compress
|
|
6
|
-
from .codec import codec
|
|
7
|
-
from .bitrate import bitrate
|
|
8
|
-
from .channels import channels
|
|
9
|
-
from .delay import delay
|
|
10
|
-
from .fade import fade
|
|
11
|
-
from .trim import trim
|
|
12
|
-
from .replace import replace
|
|
6
|
+
#from .codec import codec
|
|
7
|
+
#from .bitrate import bitrate
|
|
8
|
+
#from .channels import channels
|
|
9
|
+
#from .delay import delay
|
|
10
|
+
#from .fade import fade
|
|
11
|
+
#from .trim import trim
|
|
12
|
+
#from .replace import replace
|
|
13
13
|
from .mute import mute
|
|
14
|
-
from .mix import mix
|
|
15
|
-
from .speed import speed
|
|
16
|
-
from .normalize import normalize
|
|
17
|
-
from .volume import volume
|
|
14
|
+
#from .mix import mix
|
|
15
|
+
#from .speed import speed
|
|
16
|
+
#from .normalize import normalize
|
|
17
|
+
#from .volume import volume
|
|
18
18
|
|
|
19
19
|
def audio_main(video_path):
|
|
20
20
|
|
|
@@ -2,15 +2,15 @@ import questionary
|
|
|
2
2
|
import typer
|
|
3
3
|
from .audio import audio
|
|
4
4
|
from .frames import frames
|
|
5
|
-
from .thumbnails import thumbnails
|
|
6
|
-
from .keyframes import keyframes
|
|
7
|
-
from .audio_track import audio_track
|
|
8
|
-
from .audio_channels import audio_channels
|
|
9
|
-
from .subtitles import subtitles
|
|
10
|
-
from .subtitles_track import subtitles_track
|
|
11
|
-
from .subtitles_convert import subtitles_convert
|
|
12
|
-
from .chapters import chapters
|
|
13
|
-
from .attachments import attachments
|
|
5
|
+
#from .thumbnails import thumbnails
|
|
6
|
+
#from .keyframes import keyframes
|
|
7
|
+
#from .audio_track import audio_track
|
|
8
|
+
#from .audio_channels import audio_channels
|
|
9
|
+
#from .subtitles import subtitles
|
|
10
|
+
#from .subtitles_track import subtitles_track
|
|
11
|
+
#from .subtitles_convert import subtitles_convert
|
|
12
|
+
#from .chapters import chapters
|
|
13
|
+
#from .attachments import attachments
|
|
14
14
|
|
|
15
15
|
def extract_main(video_path):
|
|
16
16
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import questionary
|
|
2
2
|
import typer
|
|
3
|
-
from .hls import hls
|
|
4
|
-
from .rtmp import rtmp
|
|
5
|
-
from .dash import dash
|
|
6
|
-
from .srt import srt
|
|
7
|
-
from .udp import udp
|
|
8
|
-
from .rtsp import rtsp
|
|
9
|
-
from .http import http
|
|
3
|
+
#from .hls import hls
|
|
4
|
+
#from .rtmp import rtmp
|
|
5
|
+
#from .dash import dash
|
|
6
|
+
#from .srt import srt
|
|
7
|
+
#from .udp import udp
|
|
8
|
+
#from .rtsp import rtsp
|
|
9
|
+
#from .http import http
|
|
10
10
|
|
|
11
11
|
def stream_main(video_path):
|
|
12
12
|
|
fid/tasks/video/speed.py
ADDED
|
File without changes
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import questionary
|
|
2
2
|
import typer
|
|
3
3
|
from .compressor import compress
|
|
4
|
-
from .concat import concat
|
|
5
|
-
from .crop import crop
|
|
6
|
-
from .fps import fps
|
|
4
|
+
#from .concat import concat
|
|
5
|
+
#from .crop import crop
|
|
6
|
+
#from .fps import fps
|
|
7
7
|
from .gif import gif
|
|
8
8
|
from .resize import resize
|
|
9
|
-
from .rotate import rotate
|
|
10
|
-
from .speed import speed
|
|
11
|
-
from .trim import trim
|
|
9
|
+
#from .rotate import rotate
|
|
10
|
+
#from .speed import speed
|
|
11
|
+
#from .trim import trim
|
|
12
12
|
|
|
13
13
|
def video_main(video_path):
|
|
14
14
|
|
fid/welcome.py
ADDED
|
@@ -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
|
+
Version: 0.4.6
|
|
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,69 @@
|
|
|
1
|
+
fid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
fid/fid.py,sha256=PzXi0iQXEnbkNpxVOjFkLyMV8ZDT3MGMM6FbC2arcgI,1163
|
|
3
|
+
fid/fid_interactive.py,sha256=QnYlfo0zkVUO6vOzz0pZc3W74O18PYGnvYpEagu8VA0,1277
|
|
4
|
+
fid/welcome.py,sha256=2zjllb-_E1MhE6cBRX_w06Rk_5WZXZZ55Ec9MyD8W3M,838
|
|
5
|
+
fid/initial_files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
fid/initial_files/error_handling.py,sha256=Z1gSb90rS2Vy4VZHS9Zk7OHPL2o6NOw4ipzBQTmjLbo,351
|
|
7
|
+
fid/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
fid/tasks/info.py,sha256=lDrvHBGTp-PQFb-6jZ9FeB6ou4SNo4CO4Rc9SVPBHPo,367
|
|
9
|
+
fid/tasks/audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
fid/tasks/audio/audio_interactive.py,sha256=dVvrwq0cUG7A8B__2E7ZV3eAb0ZXeC7TVYt6k2wijJY,2532
|
|
11
|
+
fid/tasks/audio/bitrate.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
fid/tasks/audio/channels.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
fid/tasks/audio/codec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
fid/tasks/audio/compressor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
fid/tasks/audio/delay.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
fid/tasks/audio/denoise.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
fid/tasks/audio/equalizer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
fid/tasks/audio/fade.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
fid/tasks/audio/mix.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
fid/tasks/audio/mute.py,sha256=OsPLClHQfWdJaUg_DOiJok0zKOtIhcAk6Ex7wuGUaFs,466
|
|
21
|
+
fid/tasks/audio/normalize.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
fid/tasks/audio/replace.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
fid/tasks/audio/speed.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
+
fid/tasks/audio/trim.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
fid/tasks/audio/volume.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
fid/tasks/encode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
fid/tasks/encode/av1.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
fid/tasks/encode/encode_interactive.py,sha256=5PVz1zk4bBk52kRQweg8OBJwHffr11LTin_3pAcLqbc,864
|
|
29
|
+
fid/tasks/encode/h264.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
fid/tasks/encode/h265.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
fid/tasks/extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
+
fid/tasks/extract/attachments.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
fid/tasks/extract/audio.py,sha256=vsAcpzp7qauIRakxrbWmleSeXKJoqKqwYwK2QSYsejA,432
|
|
34
|
+
fid/tasks/extract/audio_channels.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
fid/tasks/extract/audio_track.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
+
fid/tasks/extract/chapters.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
fid/tasks/extract/extract_interactive.py,sha256=eXajK6x1mIP7uhABCeb29MmC3dSLjyJxkojdxVNEzeM,2207
|
|
38
|
+
fid/tasks/extract/frames.py,sha256=AXo5YYwcPqiGiNzIVh2rbgwdTAuOuFWQ_nVDlzTzOyo,506
|
|
39
|
+
fid/tasks/extract/keyframes.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
fid/tasks/extract/subtitles.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
fid/tasks/extract/subtitles_convert.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
fid/tasks/extract/subtitles_track.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
+
fid/tasks/extract/thumbnails.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
fid/tasks/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
fid/tasks/stream/dash.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
|
+
fid/tasks/stream/hls.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
+
fid/tasks/stream/http.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
+
fid/tasks/stream/rtmp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
fid/tasks/stream/rtsp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
fid/tasks/stream/srt.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
+
fid/tasks/stream/stream_interactive.py,sha256=0RrCBqxUEa803-MUtvHs7ESeT34d8GWx42SJ0CzAfjI,1446
|
|
52
|
+
fid/tasks/stream/udp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
fid/tasks/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
+
fid/tasks/video/compressor.py,sha256=cOBjww_BLYQuccZR0O1TCw5eIif0-loTb-RuZ4eZ7VI,578
|
|
55
|
+
fid/tasks/video/concat.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
+
fid/tasks/video/crop.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
|
+
fid/tasks/video/fps.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
fid/tasks/video/gif.py,sha256=o2_przDXUjNMxs0LlfQLRYK6xRsb2Lti0LRs0fSA07g,426
|
|
59
|
+
fid/tasks/video/resize.py,sha256=aQTGZDiwCW2RhfX_7DMc7S-mqTuYsqw5G91xkDRZ5Y0,677
|
|
60
|
+
fid/tasks/video/rotate.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
+
fid/tasks/video/speed.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
+
fid/tasks/video/trim.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
63
|
+
fid/tasks/video/video_interactive.py,sha256=maIXAtGnMpIAjI1Ydpl-JGBjWfkTqj86kLxXI6nzT00,1647
|
|
64
|
+
fid_ffmpeg-0.4.6.dist-info/licenses/LICENSE,sha256=F-pOyGrwdERPucmVHPPrD37KZZ7sphCDJeAzG5gxFOw,1091
|
|
65
|
+
fid_ffmpeg-0.4.6.dist-info/METADATA,sha256=UuiY8LRM37ipzVbmEaKlB3uA2H_sfvLi83JVC9pMwC4,4498
|
|
66
|
+
fid_ffmpeg-0.4.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
67
|
+
fid_ffmpeg-0.4.6.dist-info/entry_points.txt,sha256=wc8Iju3nkXAuyqF5NB1276l_AGtakuifMGR3D42dqB8,36
|
|
68
|
+
fid_ffmpeg-0.4.6.dist-info/top_level.txt,sha256=5jgogeo314G3j_oXUp3BE4wBE3t82ijRwLwF1KnYiDg,4
|
|
69
|
+
fid_ffmpeg-0.4.6.dist-info/RECORD,,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
|
-
fid = fid:app
|
|
2
|
+
fid = fid.fid:app
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
fid
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
fid_ffmpeg-0.4.4.dist-info/licenses/LICENSE,sha256=F-pOyGrwdERPucmVHPPrD37KZZ7sphCDJeAzG5gxFOw,1091
|
|
2
|
-
initial_files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
initial_files/error_handling.py,sha256=Z1gSb90rS2Vy4VZHS9Zk7OHPL2o6NOw4ipzBQTmjLbo,351
|
|
4
|
-
tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
tasks/info.py,sha256=lDrvHBGTp-PQFb-6jZ9FeB6ou4SNo4CO4Rc9SVPBHPo,367
|
|
6
|
-
tasks/audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
tasks/audio/audio_interactive.py,sha256=U9D7yh2tXmJMP7nmmnOEYPoLBrPs2hNn3soNkYFLIRM,2519
|
|
8
|
-
tasks/audio/bitrate.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
tasks/audio/channels.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
tasks/audio/codec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
tasks/audio/compressor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
tasks/audio/delay.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
tasks/audio/denoise.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
tasks/audio/equalizer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
tasks/audio/fade.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
tasks/audio/mix.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
tasks/audio/mute.py,sha256=OsPLClHQfWdJaUg_DOiJok0zKOtIhcAk6Ex7wuGUaFs,466
|
|
18
|
-
tasks/audio/normalize.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
tasks/audio/replace.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
tasks/audio/speed.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
tasks/audio/trim.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
tasks/audio/volume.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
tasks/encode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
tasks/encode/av1.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
tasks/encode/encode_interactive.py,sha256=pdzbFIeo_EDVK52LOLvhtzT33uivfc8gO4ANFzea1G4,861
|
|
26
|
-
tasks/encode/h264.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
tasks/encode/h265.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
tasks/extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
tasks/extract/attachments.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
tasks/extract/audio.py,sha256=vsAcpzp7qauIRakxrbWmleSeXKJoqKqwYwK2QSYsejA,432
|
|
31
|
-
tasks/extract/audio_channels.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
tasks/extract/audio_track.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
tasks/extract/chapters.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
tasks/extract/extract_interactive.py,sha256=ctv-G4YnaS5vUZGKOYDgWpei-44YdXTnp1nAc1umzD0,2198
|
|
35
|
-
tasks/extract/frames.py,sha256=AXo5YYwcPqiGiNzIVh2rbgwdTAuOuFWQ_nVDlzTzOyo,506
|
|
36
|
-
tasks/extract/keyframes.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
tasks/extract/subtitles.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
tasks/extract/subtitles_convert.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
tasks/extract/subtitles_track.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
tasks/extract/thumbnails.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
tasks/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
tasks/stream/dash.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
tasks/stream/hls.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
tasks/stream/http.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
-
tasks/stream/rtmp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
|
-
tasks/stream/rtsp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
tasks/stream/srt.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
-
tasks/stream/stream_interactive.py,sha256=WVOpW9g0HdwPcsMc5ed_RUHJQGgGmQ8Wu2uMXjr5Nz4,1439
|
|
49
|
-
tasks/stream/udp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
-
tasks/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
tasks/video/compressor.py,sha256=cOBjww_BLYQuccZR0O1TCw5eIif0-loTb-RuZ4eZ7VI,578
|
|
52
|
-
tasks/video/concat.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
tasks/video/crop.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
tasks/video/fps.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
tasks/video/gif.py,sha256=o2_przDXUjNMxs0LlfQLRYK6xRsb2Lti0LRs0fSA07g,426
|
|
56
|
-
tasks/video/resize.py,sha256=aQTGZDiwCW2RhfX_7DMc7S-mqTuYsqw5G91xkDRZ5Y0,677
|
|
57
|
-
tasks/video/rotate.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
tasks/video/speed.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
tasks/video/trim.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
60
|
-
tasks/video/video_interactive.py,sha256=W9CODtlwwDjVjgWoRsj4Av-bP_e-3qT2QUtnr64Gdfg,1641
|
|
61
|
-
fid_ffmpeg-0.4.4.dist-info/METADATA,sha256=jyspJKlLKFtGLgKuxAnHHjawVBYCp4jgtybm7rvaxf4,6775
|
|
62
|
-
fid_ffmpeg-0.4.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
63
|
-
fid_ffmpeg-0.4.4.dist-info/entry_points.txt,sha256=E2zJLHL_dLfno_lfymdOFiE4Zq_aJBa5vVNfwHTB5FE,32
|
|
64
|
-
fid_ffmpeg-0.4.4.dist-info/top_level.txt,sha256=glIqk4p9N9EoHXTmkNQdRlbb1HpxOx2xuh9eO52I1E0,20
|
|
65
|
-
fid_ffmpeg-0.4.4.dist-info/RECORD,,
|
|
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
|
{tasks → fid/tasks}/audio/mix.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tasks → fid/tasks}/info.py
RENAMED
|
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
|
{tasks → fid/tasks}/video/gif.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|