File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77
88from typing_extensions import Self
99
10- from ffmpeg .utils import parse_time
10+ from ffmpeg .utils import parse_time , parse_size
1111
1212# Reference: https://github.com/FFmpeg/FFmpeg/blob/release/6.1/fftools/ffmpeg.c#L496
1313
1616_field_factory = {
1717 "frame" : int ,
1818 "fps" : float ,
19- "size" : lambda item : int ( item . replace ( "kB" , "" )) * 1024 ,
19+ "size" : parse_size ,
2020 "time" : parse_time ,
2121 "bitrate" : lambda item : float (item .replace ("kbits/s" , "" )),
2222 "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:
2121 milliseconds = int (match .group (4 )) * 10 ,
2222 )
2323
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 } " )
2432
2533def is_windows () -> bool :
2634 return sys .platform == "win32"
You can’t perform that action at this time.
0 commit comments