File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change 7
7
8
8
from typing_extensions import Self
9
9
10
- from ffmpeg .utils import parse_time
10
+ from ffmpeg .utils import parse_time , parse_size
11
11
12
12
# Reference: https://github.com/FFmpeg/FFmpeg/blob/release/6.1/fftools/ffmpeg.c#L496
13
13
16
16
_field_factory = {
17
17
"frame" : int ,
18
18
"fps" : float ,
19
- "size" : lambda item : int ( item . replace ( "kB" , "" )) * 1024 ,
19
+ "size" : parse_size ,
20
20
"time" : parse_time ,
21
21
"bitrate" : lambda item : float (item .replace ("kbits/s" , "" )),
22
22
"speed" : lambda item : float (item .replace ("x" , "" )),
Original file line number Diff line number Diff line change @@ -21,6 +21,14 @@ def parse_time(time: str) -> timedelta:
21
21
milliseconds = int (match .group (4 )) * 10 ,
22
22
)
23
23
24
+ # https://github.com/FFmpeg/FFmpeg/blob/d38bf5e08e768722096723b5c8781cd2eb18d070/fftools/ffmpeg.c#L618C53-L618C56
25
+ def parse_size (item : str ) -> int :
26
+ if "kB" in item :
27
+ return int (item .replace ("kB" , "" )) * 1024
28
+ elif "KiB" in item :
29
+ return int (item .replace ("KiB" , "" )) * 1024
30
+ else :
31
+ raise ValueError (f"Unknown size format: { item } " )
24
32
25
33
def is_windows () -> bool :
26
34
return sys .platform == "win32"
You can’t perform that action at this time.
0 commit comments