diff --git a/CHANGELOG.md b/CHANGELOG.md index fc22363..66c0d65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,41 @@ # Changelog +## v1.1.0 (2023-08-16) + +* Document inaccurate read-duration. + +* --read-length CLI option + some code suggestions (#11) + + * Added --read-length CLI option + + * Removed additional round for duration + - duration is rounded at calculation & when creating BitrateStatsSummary + + * Edited logging in run_command function + - removed verbose input parameter + - added debug level log + + * fix first packet's pts bug with --read-length + - calculates pts from next packet if value is missing + + * minor code touchups + + * Replaced read-length with read-start & read-end + + * fix read-duration type and add to README + + * fix first packet's duration bug + - occurs with --read-duration) + + * edited for test case + - added check for 1st packet's duration type + + --------- + +* Fix tests. + + ## v1.0.2 (2023-07-25) * Do not output chunk size when aggregation is GOP-based. diff --git a/docs/ffmpeg_bitrate_stats.html b/docs/ffmpeg_bitrate_stats.html index 3fcaea6..5fcf7fa 100644 --- a/docs/ffmpeg_bitrate_stats.html +++ b/docs/ffmpeg_bitrate_stats.html @@ -118,7 +118,7 @@
1from .bitrate_stats import BitrateStats, BitrateStatsSummary, run_command 2 -3__version__ = "1.0.2" +3__version__ = "1.1.0" 4 5__all__ = ["BitrateStats", "BitrateStatsSummary", "run_command"]
107class BitrateStats: -108 """ -109 Initialize the BitrateStats class. -110 -111 Args: -112 input_file (str): Path to the input file -113 stream_type (str, optional): Stream type (audio/video). Defaults to "video". -114 aggregation (str, optional): Aggregation type (time/gop). Defaults to "time". -115 chunk_size (int, optional): Chunk size. Defaults to 1. -116 dry_run (bool, optional): Dry run. Defaults to False. -117 """ -118 -119 def __init__( -120 self, -121 input_file: str, -122 stream_type: StreamType = "video", -123 aggregation: Aggregation = "time", -124 chunk_size: int = 1, -125 dry_run: bool = False, -126 ): -127 self.input_file = input_file -128 -129 if stream_type not in ["audio", "video"]: -130 raise ValueError("Stream type must be audio/video") -131 self.stream_type: StreamType = stream_type -132 -133 if aggregation not in ["time", "gop"]: -134 raise ValueError("Wrong aggregation type") -135 if aggregation == "gop" and stream_type == "audio": -136 raise ValueError("GOP aggregation for audio does not make sense") -137 self.aggregation: Aggregation = aggregation -138 -139 if chunk_size and chunk_size < 0: -140 raise ValueError("Chunk size must be greater than 0") -141 self.chunk_size = chunk_size -142 -143 self.dry_run = dry_run -144 -145 self.duration: float = 0 -146 self.fps: float = 0 -147 self.max_bitrate: float = 0 -148 self.min_bitrate: float = 0 -149 self.moving_avg_bitrate: list[float] = [] -150 self.frames: list[FrameEntry] = [] -151 self.bitrate_stats: BitrateStatsSummary | None = None -152 -153 self.rounding_factor: int = 3 +@@ -561,6 +586,8 @@110class BitrateStats: +111 """ +112 Initialize the BitrateStats class. +113 +114 Args: +115 input_file (str): Path to the input file +116 stream_type (str, optional): Stream type (audio/video). Defaults to "video". +117 aggregation (str, optional): Aggregation type (time/gop). Defaults to "time". +118 chunk_size (int, optional): Chunk size. Defaults to 1. +119 read_start (str, optional): Start time for reading in HH:MM:SS.msec or seconds. Defaults to None. +120 read_duration (str, optional): Duration for reading in HH:MM:SS.msec or seconds. Defaults to None. +121 dry_run (bool, optional): Dry run. Defaults to False. +122 """ +123 +124 def __init__( +125 self, +126 input_file: str, +127 stream_type: StreamType = "video", +128 aggregation: Aggregation = "time", +129 chunk_size: int = 1, +130 read_start: Optional[str] = None, +131 read_duration: Optional[str] = None, +132 dry_run: bool = False, +133 ): +134 self.input_file = input_file +135 +136 if stream_type not in ["audio", "video"]: +137 raise ValueError("Stream type must be audio/video") +138 self.stream_type: StreamType = stream_type +139 +140 if aggregation not in ["time", "gop"]: +141 raise ValueError("Wrong aggregation type") +142 if aggregation == "gop" and stream_type == "audio": +143 raise ValueError("GOP aggregation for audio does not make sense") +144 self.aggregation: Aggregation = aggregation +145 +146 if chunk_size and chunk_size < 0: +147 raise ValueError("Chunk size must be greater than 0") +148 self.chunk_size = chunk_size +149 +150 self.read_length = "{}%{}".format( +151 f"+{read_start}" if read_start else "", +152 f"+{read_duration}" if read_duration else "", +153 ) 154 -155 self._gop_start_times: Optional[list[float]] = None -156 self._chunks: list[float] = [] -157 -158 def calculate_statistics(self) -> BitrateStatsSummary: -159 """ -160 Calculate the bitrate statistics. -161 -162 Raises: -163 RuntimeError: If an error occurred. +155 self.dry_run = dry_run +156 +157 self.duration: float = 0 +158 self.fps: float = 0 +159 self.max_bitrate: float = 0 +160 self.min_bitrate: float = 0 +161 self.moving_avg_bitrate: list[float] = [] +162 self.frames: list[FrameEntry] = [] +163 self.bitrate_stats: BitrateStatsSummary | None = None 164 -165 Returns: -166 dict: The bitrate statistics summary. -167 """ -168 self._calculate_frame_sizes() -169 self._calculate_duration() -170 self._calculate_fps() -171 self._calculate_max_min_bitrate() -172 self._assemble_bitrate_statistics() +165 self.rounding_factor: int = 3 +166 +167 self._gop_start_times: Optional[list[float]] = None +168 self._chunks: list[float] = [] +169 +170 def calculate_statistics(self) -> BitrateStatsSummary: +171 """ +172 Calculate the bitrate statistics. 173 -174 if self.bitrate_stats is None: -175 raise RuntimeError("bitrate_stats is None, should not happen") +174 Raises: +175 RuntimeError: If an error occurred. 176 -177 return self.bitrate_stats -178 -179 def _calculate_frame_sizes(self) -> list[FrameEntry]: -180 """ -181 Get the frame sizes via ffprobe using the -show_packets option. -182 This includes the NAL headers, of course. -183 -184 Returns: -185 list[dict]: The frame sizes plus some extra info. -186 """ -187 logger.debug(f"Calculating frame size from {self.input_file}") +177 Returns: +178 dict: The bitrate statistics summary. +179 """ +180 self._calculate_frame_sizes() +181 self._calculate_duration() +182 self._calculate_fps() +183 self._calculate_max_min_bitrate() +184 self._assemble_bitrate_statistics() +185 +186 if self.bitrate_stats is None: +187 raise RuntimeError("bitrate_stats is None, should not happen") 188 -189 cmd = [ -190 "ffprobe", -191 "-loglevel", -192 "error", -193 "-select_streams", -194 self.stream_type[0] + ":0", -195 "-show_packets", -196 "-show_entries", -197 "packet=pts_time,dts_time,duration_time,size,flags", -198 "-of", -199 "json", -200 self.input_file, -201 ] -202 -203 stdout, _ = run_command(cmd, self.dry_run) -204 if self.dry_run or stdout is None: -205 logger.error("Aborting prematurely, dry-run specified or stdout was empty") -206 sys.exit(0) -207 -208 info = json.loads(stdout)["packets"] -209 -210 ret: list[FrameEntry] = [] -211 idx = 1 -212 -213 default_duration = next( -214 (x["duration_time"] for x in info if "duration_time" in x.keys()), "NaN" -215 ) +189 return self.bitrate_stats +190 +191 def _calculate_frame_sizes(self) -> list[FrameEntry]: +192 """ +193 Get the frame sizes via ffprobe using the -show_packets option. +194 This includes the NAL headers, of course. +195 +196 Returns: +197 list[dict]: The frame sizes plus some extra info. +198 """ +199 logger.debug(f"Calculating frame size from {self.input_file}") +200 +201 cmd = [ +202 "ffprobe", +203 "-loglevel", +204 "error", +205 "-select_streams", +206 self.stream_type[0] + ":0", +207 "-read_intervals", +208 self.read_length, +209 "-show_packets", +210 "-show_entries", +211 "packet=pts_time,dts_time,duration_time,size,flags", +212 "-of", +213 "json", +214 self.input_file, +215 ] 216 -217 for packet_info in info: -218 frame_type: Literal["I", "Non-I"] = ( -219 # key frames are marked with a capital K (K_ or K__) in packet flags -220 "I" -221 if "K" in packet_info["flags"] -222 else "Non-I" -223 ) -224 -225 pts: float | Literal["NaN"] = ( -226 float(packet_info["pts_time"]) -227 if "pts_time" in packet_info.keys() -228 else "NaN" -229 ) +217 stdout, _ = run_command(cmd, self.dry_run) +218 if self.dry_run or stdout is None: +219 logger.error("Aborting prematurely, dry-run specified or stdout was empty") +220 sys.exit(0) +221 +222 info = json.loads(stdout)["packets"] +223 +224 ret: list[FrameEntry] = [] +225 idx = 1 +226 +227 default_duration = next( +228 (x["duration_time"] for x in info if "duration_time" in x.keys()), "NaN" +229 ) 230 -231 duration: float | Literal["NaN"] = ( -232 float(packet_info["duration_time"]) -233 if "duration_time" in packet_info.keys() -234 else float(default_duration) -235 if default_duration != "NaN" -236 else "NaN" +231 for packet_info in info: +232 frame_type: Literal["I", "Non-I"] = ( +233 # key frames are marked with a capital K (K_ or K__) in packet flags +234 "I" +235 if "K" in packet_info["flags"] +236 else "Non-I" 237 ) 238 -239 ret.append( -240 { -241 "n": idx, -242 "frame_type": frame_type, -243 "pts": pts, -244 "size": int(packet_info["size"]), -245 "duration": duration, -246 } -247 ) -248 idx += 1 -249 -250 # fix for missing durations, estimate it via PTS -251 if default_duration == "NaN": -252 ret = self._fix_durations(ret) -253 -254 self.frames = ret -255 return ret -256 -257 def _fix_durations(self, ret: List[FrameEntry]) -> List[FrameEntry]: -258 """ -259 Calculate durations based on delta PTS. -260 """ -261 last_duration = None -262 for i in range(len(ret) - 1): -263 curr_pts = ret[i]["pts"] -264 next_pts = ret[i + 1]["pts"] -265 if curr_pts == "NaN" or next_pts == "NaN": -266 logger.warning("PTS is NaN, duration/bitrate may be invalid") -267 continue -268 if next_pts < curr_pts: -269 logger.warning( -270 "Non-monotonically increasing PTS, duration/bitrate may be invalid" -271 ) -272 last_duration = next_pts - curr_pts -273 ret[i]["duration"] = last_duration -274 if last_duration is not None: -275 ret[-1]["duration"] = last_duration -276 return ret -277 -278 def _calculate_duration(self) -> float: -279 """ -280 Sum of all duration entries. +239 pts: float | Literal["NaN"] = ( +240 float(packet_info["pts_time"]) +241 if "pts_time" in packet_info.keys() +242 else "NaN" +243 ) +244 +245 duration: float | Literal["NaN"] = ( +246 float(packet_info["duration_time"]) +247 if "duration_time" in packet_info.keys() +248 else float(default_duration) +249 if default_duration != "NaN" +250 else "NaN" +251 ) +252 +253 ret.append( +254 { +255 "n": idx, +256 "frame_type": frame_type, +257 "pts": pts, +258 "size": int(packet_info["size"]), +259 "duration": duration, +260 } +261 ) +262 idx += 1 +263 +264 # fix for missing durations, estimate it via PTS +265 if default_duration == "NaN": +266 ret = self._fix_durations(ret) +267 +268 # fix missing data in first packet (occurs occassionally when reading streams) +269 if ( +270 ret[0]["duration"] == "NaN" +271 and isinstance(ret[1]["duration"], float) +272 ): +273 ret[0]["duration"] = ret[1]["duration"] +274 +275 if ( +276 ret[0]["pts"] == "NaN" +277 and isinstance(ret[1]["pts"], float) +278 and isinstance(ret[0]["duration"], float) +279 ): +280 ret[0]["pts"] = ret[1]["pts"] - ret[0]["duration"] 281 -282 Returns: -283 float: The duration in seconds. -284 """ -285 self.duration = round( -286 sum(f["duration"] for f in self.frames if f["duration"] != "NaN"), 2 -287 ) -288 return self.duration -289 -290 def _calculate_fps(self) -> float: -291 """ -292 FPS = number of frames divided by duration. A rough estimate. -293 -294 Returns: -295 float: The FPS. -296 """ -297 self.fps = len(self.frames) / self.duration -298 return self.fps -299 -300 def _collect_chunks(self) -> list[float]: -301 """ -302 Collect chunks of a certain aggregation length (in seconds, or GOP). -303 This is cached. -304 -305 Returns: -306 list[float]: The bitrate values per chunk in kbit/s. -307 """ -308 if len(self._chunks): -309 return self._chunks -310 -311 logger.debug("Collecting chunks for bitrate calculation") -312 -313 # this is where we will store the stats in buckets -314 aggregation_chunks: list[list[FrameEntry]] = [] -315 curr_list: list[FrameEntry] = [] -316 -317 self._gop_start_times = [] -318 -319 if self.aggregation == "gop": -320 # collect group of pictures, each one containing all frames belonging to it -321 for frame in self.frames: -322 if frame["frame_type"] != "I": -323 curr_list.append(frame) -324 if frame["frame_type"] == "I": -325 if curr_list: -326 aggregation_chunks.append(curr_list) -327 curr_list = [frame] -328 self._gop_start_times.append(float(frame["pts"])) -329 # flush the last one -330 aggregation_chunks.append(curr_list) -331 -332 else: -333 # per-time aggregation -334 agg_time: float = 0 -335 for frame in self.frames: -336 if agg_time < self.chunk_size: -337 curr_list.append(frame) -338 agg_time += float(frame["duration"]) -339 else: -340 if curr_list: -341 aggregation_chunks.append(curr_list) -342 curr_list = [frame] -343 agg_time = float(frame["duration"]) -344 aggregation_chunks.append(curr_list) -345 -346 # calculate BR per group -347 self._chunks = [ -348 BitrateStats._bitrate_for_frame_list(x) for x in aggregation_chunks -349 ] -350 -351 return self._chunks -352 -353 @staticmethod -354 def _bitrate_for_frame_list(frame_list: list[FrameEntry]) -> float: -355 """ -356 Given a list of frames with size and PTS, get the bitrate. -357 -358 Args: -359 frame_list (list): list of frames -360 -361 Returns: -362 float: bitrate in kbit/s -363 """ -364 if len(frame_list) < 2: -365 return math.nan -366 -367 # sort frames by PTS in case they are unordered -368 frame_list.sort(key=lambda x: x["pts"]) -369 -370 duration = float(frame_list[-1]["pts"]) - float(frame_list[0]["pts"]) -371 size = sum(f["size"] for f in frame_list) -372 bitrate = ((size * 8) / 1000) / duration +282 self.frames = ret +283 return ret +284 +285 def _fix_durations(self, ret: List[FrameEntry]) -> List[FrameEntry]: +286 """ +287 Calculate durations based on delta PTS. +288 """ +289 last_duration = None +290 for i in range(len(ret) - 1): +291 curr_pts = ret[i]["pts"] +292 next_pts = ret[i + 1]["pts"] +293 if curr_pts == "NaN" or next_pts == "NaN": +294 logger.warning("PTS is NaN, duration/bitrate may be invalid") +295 continue +296 if next_pts < curr_pts: +297 logger.warning( +298 "Non-monotonically increasing PTS, duration/bitrate may be invalid" +299 ) +300 last_duration = next_pts - curr_pts +301 ret[i]["duration"] = last_duration +302 if last_duration is not None: +303 ret[-1]["duration"] = last_duration +304 return ret +305 +306 def _calculate_duration(self) -> float: +307 """ +308 Sum of all duration entries. +309 +310 Returns: +311 float: The duration in seconds. +312 """ +313 self.duration = sum( +314 f["duration"] for f in self.frames if f["duration"] != "NaN" +315 ) +316 return self.duration +317 +318 def _calculate_fps(self) -> float: +319 """ +320 FPS = number of frames divided by duration. A rough estimate. +321 +322 Returns: +323 float: The FPS. +324 """ +325 self.fps = len(self.frames) / self.duration +326 return self.fps +327 +328 def _collect_chunks(self) -> list[float]: +329 """ +330 Collect chunks of a certain aggregation length (in seconds, or GOP). +331 This is cached. +332 +333 Returns: +334 list[float]: The bitrate values per chunk in kbit/s. +335 """ +336 if len(self._chunks): +337 return self._chunks +338 +339 logger.debug("Collecting chunks for bitrate calculation") +340 +341 # this is where we will store the stats in buckets +342 aggregation_chunks: list[list[FrameEntry]] = [] +343 curr_list: list[FrameEntry] = [] +344 +345 self._gop_start_times = [] +346 +347 if self.aggregation == "gop": +348 # collect group of pictures, each one containing all frames belonging to it +349 for frame in self.frames: +350 if frame["frame_type"] != "I": +351 curr_list.append(frame) +352 if frame["frame_type"] == "I": +353 if curr_list: +354 aggregation_chunks.append(curr_list) +355 curr_list = [frame] +356 self._gop_start_times.append(float(frame["pts"])) +357 # flush the last one +358 aggregation_chunks.append(curr_list) +359 +360 else: +361 # per-time aggregation +362 agg_time: float = 0 +363 for frame in self.frames: +364 if agg_time < self.chunk_size: +365 curr_list.append(frame) +366 agg_time += float(frame["duration"]) +367 else: +368 if curr_list: +369 aggregation_chunks.append(curr_list) +370 curr_list = [frame] +371 agg_time = float(frame["duration"]) +372 aggregation_chunks.append(curr_list) 373 -374 return bitrate -375 -376 def _calculate_max_min_bitrate(self) -> tuple[float, float]: -377 """ -378 Find the min/max from the chunks. -379 -380 Returns: -381 tuple: max, min bitrate in kbit/s -382 """ -383 self.max_bitrate = max(self._collect_chunks()) -384 self.min_bitrate = min(self._collect_chunks()) -385 return self.max_bitrate, self.min_bitrate -386 -387 def _assemble_bitrate_statistics(self) -> BitrateStatsSummary: -388 """ -389 Assemble all pre-calculated statistics plus some simple statistical measures. -390 -391 Returns: -392 dict: bitrate statistics -393 """ +374 # calculate BR per group +375 self._chunks = [ +376 BitrateStats._bitrate_for_frame_list(x) for x in aggregation_chunks +377 ] +378 +379 return self._chunks +380 +381 @staticmethod +382 def _bitrate_for_frame_list(frame_list: list[FrameEntry]) -> float: +383 """ +384 Given a list of frames with size and PTS, get the bitrate. +385 +386 Args: +387 frame_list (list): list of frames +388 +389 Returns: +390 float: bitrate in kbit/s +391 """ +392 if len(frame_list) < 2: +393 return math.nan 394 -395 self.avg_bitrate = ( -396 sum(f["size"] for f in self.frames) * 8 / 1000 -397 ) / self.duration -398 self.avg_bitrate_over_chunks: float = cast( -399 float, np.mean(self._collect_chunks()) -400 ) +395 # sort frames by PTS in case they are unordered +396 frame_list.sort(key=lambda x: x["pts"]) +397 +398 duration = float(frame_list[-1]["pts"]) - float(frame_list[0]["pts"]) +399 size = sum(f["size"] for f in frame_list) +400 bitrate = ((size * 8) / 1000) / duration 401 -402 self.max_bitrate_factor = self.max_bitrate / self.avg_bitrate +402 return bitrate 403 -404 # output data -405 ret: BitrateStatsSummary = { -406 "input_file": self.input_file, -407 "stream_type": self.stream_type, -408 "avg_fps": round(self.fps, self.rounding_factor), -409 "num_frames": len(self.frames), -410 "avg_bitrate": round(self.avg_bitrate, self.rounding_factor), -411 "avg_bitrate_over_chunks": round( -412 self.avg_bitrate_over_chunks, self.rounding_factor -413 ), -414 "max_bitrate": round(self.max_bitrate, self.rounding_factor), -415 "min_bitrate": round(self.min_bitrate, self.rounding_factor), -416 "max_bitrate_factor": round(self.max_bitrate_factor, self.rounding_factor), -417 "bitrate_per_chunk": [ -418 round(b, self.rounding_factor) for b in self._collect_chunks() -419 ], -420 "aggregation": self.aggregation, -421 "chunk_size": self.chunk_size if self.aggregation == "time" else None, -422 "duration": round(self.duration, self.rounding_factor), -423 } -424 -425 self.bitrate_stats = ret -426 return self.bitrate_stats -427 -428 def print_statistics(self, output_format: Literal["csv", "json"]) -> None: -429 """ -430 Print the statistics in the specified format to stdout. +404 def _calculate_max_min_bitrate(self) -> tuple[float, float]: +405 """ +406 Find the min/max from the chunks. +407 +408 Returns: +409 tuple: max, min bitrate in kbit/s +410 """ +411 self.max_bitrate = max(self._collect_chunks()) +412 self.min_bitrate = min(self._collect_chunks()) +413 return self.max_bitrate, self.min_bitrate +414 +415 def _assemble_bitrate_statistics(self) -> BitrateStatsSummary: +416 """ +417 Assemble all pre-calculated statistics plus some simple statistical measures. +418 +419 Returns: +420 dict: bitrate statistics +421 """ +422 +423 self.avg_bitrate = ( +424 sum(f["size"] for f in self.frames) * 8 / 1000 +425 ) / self.duration +426 self.avg_bitrate_over_chunks: float = cast( +427 float, np.mean(self._collect_chunks()) +428 ) +429 +430 self.max_bitrate_factor = self.max_bitrate / self.avg_bitrate 431 -432 Args: -433 output_format: The format to print the statistics in (csv, json) -434 -435 Raises: -436 ValueError: If the output format is invalid -437 """ -438 if output_format == "csv": -439 print(self.get_csv()) -440 elif output_format == "json": -441 print(self.get_json()) -442 else: -443 raise ValueError("Invalid output format") -444 -445 def get_csv(self) -> str: -446 """ -447 Get the bitrate statistics as a CSV string. -448 -449 Raises: -450 RuntimeError: If no bitrate statistics are available -451 -452 Returns: -453 str: The bitrate statistics as a CSV string -454 """ -455 if not self.bitrate_stats: -456 raise RuntimeError("No bitrate stats available") -457 -458 df = pd.DataFrame(self.bitrate_stats) -459 df.reset_index(level=0, inplace=True) -460 df.rename(index=str, columns={"index": "chunk_index"}, inplace=True) -461 cols = df.columns.tolist() -462 cols.insert(0, cols.pop(cols.index("input_file"))) -463 df = df.reindex(columns=cols) -464 return cast(str, df.to_csv(index=False)) -465 -466 def get_json(self) -> str: -467 """ -468 Get the bitrate statistics as a JSON string. -469 -470 Raises: -471 RuntimeError: If no bitrate statistics are available +432 # output data +433 ret: BitrateStatsSummary = { +434 "input_file": self.input_file, +435 "stream_type": self.stream_type, +436 "avg_fps": round(self.fps, self.rounding_factor), +437 "num_frames": len(self.frames), +438 "avg_bitrate": round(self.avg_bitrate, self.rounding_factor), +439 "avg_bitrate_over_chunks": round( +440 self.avg_bitrate_over_chunks, self.rounding_factor +441 ), +442 "max_bitrate": round(self.max_bitrate, self.rounding_factor), +443 "min_bitrate": round(self.min_bitrate, self.rounding_factor), +444 "max_bitrate_factor": round(self.max_bitrate_factor, self.rounding_factor), +445 "bitrate_per_chunk": [ +446 round(b, self.rounding_factor) for b in self._collect_chunks() +447 ], +448 "aggregation": self.aggregation, +449 "chunk_size": self.chunk_size if self.aggregation == "time" else None, +450 "duration": round(self.duration, self.rounding_factor), +451 } +452 +453 self.bitrate_stats = ret +454 return self.bitrate_stats +455 +456 def print_statistics(self, output_format: Literal["csv", "json"]) -> None: +457 """ +458 Print the statistics in the specified format to stdout. +459 +460 Args: +461 output_format: The format to print the statistics in (csv, json) +462 +463 Raises: +464 ValueError: If the output format is invalid +465 """ +466 if output_format == "csv": +467 print(self.get_csv()) +468 elif output_format == "json": +469 print(self.get_json()) +470 else: +471 raise ValueError("Invalid output format") 472 -473 Returns: -474 str: The bitrate statistics as a JSON string -475 """ -476 if not self.bitrate_stats: -477 raise RuntimeError("No bitrate stats available") -478 -479 return json.dumps(self.bitrate_stats, indent=4) -480 -481 def plot(self, width: int = 80, height: int = 30) -> None: -482 """ -483 Plot the bitrate over time to STDERR. -484 -485 Args: -486 width (int, optional): Width of the plot. Defaults to 80. -487 height (int, optional): Height of the plot. Defaults to 30. -488 """ -489 chunks = self._collect_chunks() -490 -491 fig = plotille.Figure() -492 fig.width = width -493 fig.height = height -494 -495 def _round_decimals( -496 val: Any, chars: int, delta: float, left: bool = False -497 ) -> str: -498 align = "<" if left else "" -499 return f"{val:{align}{chars}.{self.rounding_factor}f}" +473 def get_csv(self) -> str: +474 """ +475 Get the bitrate statistics as a CSV string. +476 +477 Raises: +478 RuntimeError: If no bitrate statistics are available +479 +480 Returns: +481 str: The bitrate statistics as a CSV string +482 """ +483 if not self.bitrate_stats: +484 raise RuntimeError("No bitrate stats available") +485 +486 df = pd.DataFrame(self.bitrate_stats) +487 df.reset_index(level=0, inplace=True) +488 df.rename(index=str, columns={"index": "chunk_index"}, inplace=True) +489 cols = df.columns.tolist() +490 cols.insert(0, cols.pop(cols.index("input_file"))) +491 df = df.reindex(columns=cols) +492 return cast(str, df.to_csv(index=False)) +493 +494 def get_json(self) -> str: +495 """ +496 Get the bitrate statistics as a JSON string. +497 +498 Raises: +499 RuntimeError: If no bitrate statistics are available 500 -501 x_values = ( -502 self._gop_start_times -503 if self.aggregation == "gop" -504 else [i * self.chunk_size for i in range(len(chunks))] -505 ) +501 Returns: +502 str: The bitrate statistics as a JSON string +503 """ +504 if not self.bitrate_stats: +505 raise RuntimeError("No bitrate stats available") 506 -507 fig.register_label_formatter(int, _round_decimals) -508 fig.register_label_formatter(float, _round_decimals) -509 fig.set_x_limits(min_=0, max_=self.duration) -510 fig.set_y_limits(min_=0) -511 fig.x_label = "Time (s)" -512 fig.y_label = "Bitrate (kbit/s)" -513 -514 fig.plot( -515 x_values, -516 chunks, -517 ) +507 return json.dumps(self.bitrate_stats, indent=4) +508 +509 def plot(self, width: int = 80, height: int = 30) -> None: +510 """ +511 Plot the bitrate over time to STDERR. +512 +513 Args: +514 width (int, optional): Width of the plot. Defaults to 80. +515 height (int, optional): Height of the plot. Defaults to 30. +516 """ +517 chunks = self._collect_chunks() 518 -519 print(fig.show(), file=sys.stderr) +519 fig = plotille.Figure() +520 fig.width = width +521 fig.height = height +522 +523 def _round_decimals( +524 val: Any, chars: int, delta: float, left: bool = False +525 ) -> str: +526 align = "<" if left else "" +527 return f"{val:{align}{chars}.{self.rounding_factor}f}" +528 +529 x_values = ( +530 self._gop_start_times +531 if self.aggregation == "gop" +532 else [i * self.chunk_size for i in range(len(chunks))] +533 ) +534 +535 fig.register_label_formatter(int, _round_decimals) +536 fig.register_label_formatter(float, _round_decimals) +537 fig.set_x_limits(min_=0, max_=self.duration) +538 fig.set_y_limits(min_=0) +539 fig.x_label = "Time (s)" +540 fig.y_label = "Bitrate (kbit/s)" +541 +542 fig.plot( +543 x_values, +544 chunks, +545 ) +546 +547 print(fig.show(), file=sys.stderr)Arguments:
stream_type (str, optional): Stream type (audio/video). Defaults to "video". aggregation (str, optional): Aggregation type (time/gop). Defaults to "time". chunk_size (int, optional): Chunk size. Defaults to 1. +read_start (str, optional): Start time for reading in HH:MM:SS.msec or seconds. Defaults to None. +read_duration (str, optional): Duration for reading in HH:MM:SS.msec or seconds. Defaults to None. dry_run (bool, optional): Dry run. Defaults to False.
119 def __init__( -120 self, -121 input_file: str, -122 stream_type: StreamType = "video", -123 aggregation: Aggregation = "time", -124 chunk_size: int = 1, -125 dry_run: bool = False, -126 ): -127 self.input_file = input_file -128 -129 if stream_type not in ["audio", "video"]: -130 raise ValueError("Stream type must be audio/video") -131 self.stream_type: StreamType = stream_type -132 -133 if aggregation not in ["time", "gop"]: -134 raise ValueError("Wrong aggregation type") -135 if aggregation == "gop" and stream_type == "audio": -136 raise ValueError("GOP aggregation for audio does not make sense") -137 self.aggregation: Aggregation = aggregation -138 -139 if chunk_size and chunk_size < 0: -140 raise ValueError("Chunk size must be greater than 0") -141 self.chunk_size = chunk_size -142 -143 self.dry_run = dry_run -144 -145 self.duration: float = 0 -146 self.fps: float = 0 -147 self.max_bitrate: float = 0 -148 self.min_bitrate: float = 0 -149 self.moving_avg_bitrate: list[float] = [] -150 self.frames: list[FrameEntry] = [] -151 self.bitrate_stats: BitrateStatsSummary | None = None -152 -153 self.rounding_factor: int = 3 +@@ -631,26 +665,26 @@124 def __init__( +125 self, +126 input_file: str, +127 stream_type: StreamType = "video", +128 aggregation: Aggregation = "time", +129 chunk_size: int = 1, +130 read_start: Optional[str] = None, +131 read_duration: Optional[str] = None, +132 dry_run: bool = False, +133 ): +134 self.input_file = input_file +135 +136 if stream_type not in ["audio", "video"]: +137 raise ValueError("Stream type must be audio/video") +138 self.stream_type: StreamType = stream_type +139 +140 if aggregation not in ["time", "gop"]: +141 raise ValueError("Wrong aggregation type") +142 if aggregation == "gop" and stream_type == "audio": +143 raise ValueError("GOP aggregation for audio does not make sense") +144 self.aggregation: Aggregation = aggregation +145 +146 if chunk_size and chunk_size < 0: +147 raise ValueError("Chunk size must be greater than 0") +148 self.chunk_size = chunk_size +149 +150 self.read_length = "{}%{}".format( +151 f"+{read_start}" if read_start else "", +152 f"+{read_duration}" if read_duration else "", +153 ) 154 -155 self._gop_start_times: Optional[list[float]] = None -156 self._chunks: list[float] = [] +155 self.dry_run = dry_run +156 +157 self.duration: float = 0 +158 self.fps: float = 0 +159 self.max_bitrate: float = 0 +160 self.min_bitrate: float = 0 +161 self.moving_avg_bitrate: list[float] = [] +162 self.frames: list[FrameEntry] = [] +163 self.bitrate_stats: BitrateStatsSummary | None = None +164 +165 self.rounding_factor: int = 3 +166 +167 self._gop_start_times: Optional[list[float]] = None +168 self._chunks: list[float] = []Arguments:
158 def calculate_statistics(self) -> BitrateStatsSummary: -159 """ -160 Calculate the bitrate statistics. -161 -162 Raises: -163 RuntimeError: If an error occurred. -164 -165 Returns: -166 dict: The bitrate statistics summary. -167 """ -168 self._calculate_frame_sizes() -169 self._calculate_duration() -170 self._calculate_fps() -171 self._calculate_max_min_bitrate() -172 self._assemble_bitrate_statistics() +@@ -682,22 +716,22 @@170 def calculate_statistics(self) -> BitrateStatsSummary: +171 """ +172 Calculate the bitrate statistics. 173 -174 if self.bitrate_stats is None: -175 raise RuntimeError("bitrate_stats is None, should not happen") +174 Raises: +175 RuntimeError: If an error occurred. 176 -177 return self.bitrate_stats +177 Returns: +178 dict: The bitrate statistics summary. +179 """ +180 self._calculate_frame_sizes() +181 self._calculate_duration() +182 self._calculate_fps() +183 self._calculate_max_min_bitrate() +184 self._assemble_bitrate_statistics() +185 +186 if self.bitrate_stats is None: +187 raise RuntimeError("bitrate_stats is None, should not happen") +188 +189 return self.bitrate_statsReturns:
428 def print_statistics(self, output_format: Literal["csv", "json"]) -> None: -429 """ -430 Print the statistics in the specified format to stdout. -431 -432 Args: -433 output_format: The format to print the statistics in (csv, json) -434 -435 Raises: -436 ValueError: If the output format is invalid -437 """ -438 if output_format == "csv": -439 print(self.get_csv()) -440 elif output_format == "json": -441 print(self.get_json()) -442 else: -443 raise ValueError("Invalid output format") +@@ -729,26 +763,26 @@456 def print_statistics(self, output_format: Literal["csv", "json"]) -> None: +457 """ +458 Print the statistics in the specified format to stdout. +459 +460 Args: +461 output_format: The format to print the statistics in (csv, json) +462 +463 Raises: +464 ValueError: If the output format is invalid +465 """ +466 if output_format == "csv": +467 print(self.get_csv()) +468 elif output_format == "json": +469 print(self.get_json()) +470 else: +471 raise ValueError("Invalid output format")Raises:
445 def get_csv(self) -> str: -446 """ -447 Get the bitrate statistics as a CSV string. -448 -449 Raises: -450 RuntimeError: If no bitrate statistics are available -451 -452 Returns: -453 str: The bitrate statistics as a CSV string -454 """ -455 if not self.bitrate_stats: -456 raise RuntimeError("No bitrate stats available") -457 -458 df = pd.DataFrame(self.bitrate_stats) -459 df.reset_index(level=0, inplace=True) -460 df.rename(index=str, columns={"index": "chunk_index"}, inplace=True) -461 cols = df.columns.tolist() -462 cols.insert(0, cols.pop(cols.index("input_file"))) -463 df = df.reindex(columns=cols) -464 return cast(str, df.to_csv(index=False)) +@@ -780,20 +814,20 @@473 def get_csv(self) -> str: +474 """ +475 Get the bitrate statistics as a CSV string. +476 +477 Raises: +478 RuntimeError: If no bitrate statistics are available +479 +480 Returns: +481 str: The bitrate statistics as a CSV string +482 """ +483 if not self.bitrate_stats: +484 raise RuntimeError("No bitrate stats available") +485 +486 df = pd.DataFrame(self.bitrate_stats) +487 df.reset_index(level=0, inplace=True) +488 df.rename(index=str, columns={"index": "chunk_index"}, inplace=True) +489 cols = df.columns.tolist() +490 cols.insert(0, cols.pop(cols.index("input_file"))) +491 df = df.reindex(columns=cols) +492 return cast(str, df.to_csv(index=False))Returns:
466 def get_json(self) -> str: -467 """ -468 Get the bitrate statistics as a JSON string. -469 -470 Raises: -471 RuntimeError: If no bitrate statistics are available -472 -473 Returns: -474 str: The bitrate statistics as a JSON string -475 """ -476 if not self.bitrate_stats: -477 raise RuntimeError("No bitrate stats available") -478 -479 return json.dumps(self.bitrate_stats, indent=4) +@@ -825,45 +859,45 @@494 def get_json(self) -> str: +495 """ +496 Get the bitrate statistics as a JSON string. +497 +498 Raises: +499 RuntimeError: If no bitrate statistics are available +500 +501 Returns: +502 str: The bitrate statistics as a JSON string +503 """ +504 if not self.bitrate_stats: +505 raise RuntimeError("No bitrate stats available") +506 +507 return json.dumps(self.bitrate_stats, indent=4)Returns:
481 def plot(self, width: int = 80, height: int = 30) -> None: -482 """ -483 Plot the bitrate over time to STDERR. -484 -485 Args: -486 width (int, optional): Width of the plot. Defaults to 80. -487 height (int, optional): Height of the plot. Defaults to 30. -488 """ -489 chunks = self._collect_chunks() -490 -491 fig = plotille.Figure() -492 fig.width = width -493 fig.height = height -494 -495 def _round_decimals( -496 val: Any, chars: int, delta: float, left: bool = False -497 ) -> str: -498 align = "<" if left else "" -499 return f"{val:{align}{chars}.{self.rounding_factor}f}" -500 -501 x_values = ( -502 self._gop_start_times -503 if self.aggregation == "gop" -504 else [i * self.chunk_size for i in range(len(chunks))] -505 ) -506 -507 fig.register_label_formatter(int, _round_decimals) -508 fig.register_label_formatter(float, _round_decimals) -509 fig.set_x_limits(min_=0, max_=self.duration) -510 fig.set_y_limits(min_=0) -511 fig.x_label = "Time (s)" -512 fig.y_label = "Bitrate (kbit/s)" -513 -514 fig.plot( -515 x_values, -516 chunks, -517 ) +@@ -891,59 +925,59 @@509 def plot(self, width: int = 80, height: int = 30) -> None: +510 """ +511 Plot the bitrate over time to STDERR. +512 +513 Args: +514 width (int, optional): Width of the plot. Defaults to 80. +515 height (int, optional): Height of the plot. Defaults to 30. +516 """ +517 chunks = self._collect_chunks() 518 -519 print(fig.show(), file=sys.stderr) +519 fig = plotille.Figure() +520 fig.width = width +521 fig.height = height +522 +523 def _round_decimals( +524 val: Any, chars: int, delta: float, left: bool = False +525 ) -> str: +526 align = "<" if left else "" +527 return f"{val:{align}{chars}.{self.rounding_factor}f}" +528 +529 x_values = ( +530 self._gop_start_times +531 if self.aggregation == "gop" +532 else [i * self.chunk_size for i in range(len(chunks))] +533 ) +534 +535 fig.register_label_formatter(int, _round_decimals) +536 fig.register_label_formatter(float, _round_decimals) +537 fig.set_x_limits(min_=0, max_=self.duration) +538 fig.set_y_limits(min_=0) +539 fig.x_label = "Time (s)" +540 fig.y_label = "Bitrate (kbit/s)" +541 +542 fig.plot( +543 x_values, +544 chunks, +545 ) +546 +547 print(fig.show(), file=sys.stderr)Arguments:
52class BitrateStatsSummary(TypedDict): - 53 input_file: str - 54 """ - 55 The input file. - 56 """ - 57 stream_type: StreamType - 58 """ - 59 The stream type (audio/video). - 60 """ - 61 avg_fps: float - 62 """ - 63 The average FPS. - 64 """ - 65 num_frames: int - 66 """ - 67 The number of frames. - 68 """ - 69 avg_bitrate: float - 70 """ - 71 The average bitrate in kbit/s. - 72 """ - 73 avg_bitrate_over_chunks: float - 74 """ - 75 The average bitrate in kbit/s over chunks. - 76 """ - 77 max_bitrate: float - 78 """ - 79 The maximum bitrate in kbit/s. - 80 """ - 81 min_bitrate: float - 82 """ - 83 The minimum bitrate in kbit/s. - 84 """ - 85 max_bitrate_factor: float - 86 """ - 87 Relation between peak and average. - 88 """ - 89 bitrate_per_chunk: list[float] - 90 """ - 91 The bitrate per chunk in kbit/s. - 92 """ - 93 aggregation: Aggregation - 94 """ - 95 The aggregation type (time/chunks). - 96 """ - 97 chunk_size: Optional[int] - 98 """ - 99 The chunk size in seconds. -100 """ -101 duration: float -102 """ -103 The duration in seconds. -104 """ +@@ -1143,32 +1177,35 @@55class BitrateStatsSummary(TypedDict): + 56 input_file: str + 57 """ + 58 The input file. + 59 """ + 60 stream_type: StreamType + 61 """ + 62 The stream type (audio/video). + 63 """ + 64 avg_fps: float + 65 """ + 66 The average FPS. + 67 """ + 68 num_frames: int + 69 """ + 70 The number of frames. + 71 """ + 72 avg_bitrate: float + 73 """ + 74 The average bitrate in kbit/s. + 75 """ + 76 avg_bitrate_over_chunks: float + 77 """ + 78 The average bitrate in kbit/s over chunks. + 79 """ + 80 max_bitrate: float + 81 """ + 82 The maximum bitrate in kbit/s. + 83 """ + 84 min_bitrate: float + 85 """ + 86 The minimum bitrate in kbit/s. + 87 """ + 88 max_bitrate_factor: float + 89 """ + 90 Relation between peak and average. + 91 """ + 92 bitrate_per_chunk: list[float] + 93 """ + 94 The bitrate per chunk in kbit/s. + 95 """ + 96 aggregation: Aggregation + 97 """ + 98 The aggregation type (time/chunks). + 99 """ +100 chunk_size: Optional[int] +101 """ +102 The chunk size in seconds. +103 """ +104 duration: float +105 """ +106 The duration in seconds. +107 """Inherited Members
def - run_command( cmd: List[str], dry_run: bool = False, verbose: bool = False) -> tuple[str, str] | tuple[None, None]: + run_command( cmd: List[str], dry_run: bool = False) -> tuple[str, str] | tuple[None, None]:diff --git a/docs/search.js b/docs/search.js index e33f4a4..bbf7960 100644 --- a/docs/search.js +++ b/docs/search.js @@ -1,6 +1,6 @@ window.pdocSearch = (function(){ /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u18def run_command( -19 cmd: List[str], dry_run: bool = False, verbose: bool = False +19 cmd: List[str], dry_run: bool = False 20) -> tuple[str, str] | tuple[None, None]: 21 """ 22 Run a command directly 23 """ -24 if dry_run or verbose: -25 logger.info("[cmd] " + " ".join(cmd)) -26 if dry_run: -27 return None, None -28 -29 process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) -30 stdout, stderr = process.communicate() +24 +25 # for verbose mode +26 logger.debug("[cmd] " + " ".join(cmd)) +27 +28 if dry_run: +29 logger.info("[cmd] " + " ".join(cmd)) +30 return None, None 31 -32 if process.returncode == 0: -33 return stdout.decode("utf-8"), stderr.decode("utf-8") -34 else: -35 logger.error("error running command: {}".format(" ".join(cmd))) -36 logger.error(stderr.decode("utf-8")) -37 sys.exit(1) +32 process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +33 stdout, stderr = process.communicate() +34 +35 if process.returncode == 0: +36 return stdout.decode("utf-8"), stderr.decode("utf-8") +37 else: +38 logger.error("error running command: {}".format(" ".join(cmd))) +39 logger.error(stderr.decode("utf-8")) +40 sys.exit(1)0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e 1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o \n"}, "ffmpeg_bitrate_stats.BitrateStats": {"fullname": "ffmpeg_bitrate_stats.BitrateStats", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats", "kind": "class", "doc": " Initialize the BitrateStats class.
\n\nArguments:
\n\n\n
\n"}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.__init__", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.__init__", "kind": "function", "doc": "\n", "signature": "(\tinput_file: str,\tstream_type: Literal['audio', 'video'] = 'video',\taggregation: Literal['time', 'gop'] = 'time',\tchunk_size: int = 1,\tdry_run: bool = False)"}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.calculate_statistics", "kind": "function", "doc": "- input_file (str): Path to the input file
\n- stream_type (str, optional): Stream type (audio/video). Defaults to \"video\".
\n- aggregation (str, optional): Aggregation type (time/gop). Defaults to \"time\".
\n- chunk_size (int, optional): Chunk size. Defaults to 1.
\n- dry_run (bool, optional): Dry run. Defaults to False.
\nCalculate the bitrate statistics.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If an error occurred.
\nReturns:
\n\n\n\n", "signature": "(self) -> ffmpeg_bitrate_stats.bitrate_stats.BitrateStatsSummary:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.print_statistics", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.print_statistics", "kind": "function", "doc": "dict: The bitrate statistics summary.
\nPrint the statistics in the specified format to stdout.
\n\nArguments:
\n\n\n
\n\n- output_format: The format to print the statistics in (csv, json)
\nRaises:
\n\n\n
\n", "signature": "(self, output_format: Literal['csv', 'json']) -> None:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.get_csv", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.get_csv", "kind": "function", "doc": "- ValueError: If the output format is invalid
\nGet the bitrate statistics as a CSV string.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If no bitrate statistics are available
\nReturns:
\n\n\n\n", "signature": "(self) -> str:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.get_json", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.get_json", "kind": "function", "doc": "str: The bitrate statistics as a CSV string
\nGet the bitrate statistics as a JSON string.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If no bitrate statistics are available
\nReturns:
\n\n\n\n", "signature": "(self) -> str:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.plot", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.plot", "kind": "function", "doc": "str: The bitrate statistics as a JSON string
\nPlot the bitrate over time to STDERR.
\n\nArguments:
\n\n\n
\n", "signature": "(self, width: int = 80, height: int = 30) -> None:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary", "kind": "class", "doc": "\n", "bases": "typing.TypedDict"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.input_file", "kind": "variable", "doc": "- width (int, optional): Width of the plot. Defaults to 80.
\n- height (int, optional): Height of the plot. Defaults to 30.
\nThe input file.
\n", "annotation": ": str"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.stream_type", "kind": "variable", "doc": "The stream type (audio/video).
\n", "annotation": ": Literal['audio', 'video']"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_fps", "kind": "variable", "doc": "The average FPS.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.num_frames", "kind": "variable", "doc": "The number of frames.
\n", "annotation": ": int"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_bitrate", "kind": "variable", "doc": "The average bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_bitrate_over_chunks", "kind": "variable", "doc": "The average bitrate in kbit/s over chunks.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.max_bitrate", "kind": "variable", "doc": "The maximum bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.min_bitrate", "kind": "variable", "doc": "The minimum bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.max_bitrate_factor", "kind": "variable", "doc": "Relation between peak and average.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.bitrate_per_chunk", "kind": "variable", "doc": "The bitrate per chunk in kbit/s.
\n", "annotation": ": list[float]"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.aggregation", "kind": "variable", "doc": "The aggregation type (time/chunks).
\n", "annotation": ": Literal['time', 'gop']"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.chunk_size", "kind": "variable", "doc": "The chunk size in seconds.
\n", "annotation": ": Optional[int]"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.duration", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.duration", "kind": "variable", "doc": "The duration in seconds.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.run_command": {"fullname": "ffmpeg_bitrate_stats.run_command", "modulename": "ffmpeg_bitrate_stats", "qualname": "run_command", "kind": "function", "doc": "Run a command directly
\n", "signature": "(\tcmd: List[str],\tdry_run: bool = False,\tverbose: bool = False) -> tuple[str, str] | tuple[None, None]:", "funcdef": "def"}}, "docInfo": {"ffmpeg_bitrate_stats": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStats": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 88}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 139, "bases": 0, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 39}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 53}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 46}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 46}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 49}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"qualname": 3, "fullname": 6, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"qualname": 5, "fullname": 8, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"qualname": 4, "fullname": 7, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"qualname": 4, "fullname": 7, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"qualname": 2, "fullname": 5, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"qualname": 2, "fullname": 5, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.run_command": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 93, "bases": 0, "doc": 6}}, "length": 23, "save": true}, "index": {"qualname": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 14}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 3}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}, "fullname": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 14}}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 3}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}, "annotation": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}}}}}}}}, "x": {"2": {"7": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 2}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 2}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 7}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"1": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}, "3": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "9": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2}}, "df": 2}, "docs": {}, "df": 0}, "8": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 10.246950765959598}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 4.47213595499958}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 5.830951894845301}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 6.324555320336759}, "ffmpeg_bitrate_stats.run_command": {"tf": 8.774964387392123}}, "df": 7, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 2}}}}, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.7320508075688772}}, "df": 4, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 5}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 3}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}}, "df": 1}}}}}}}}}}}, "doc": {"root": {"1": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}, "3": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "8": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ffmpeg_bitrate_stats": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 6.164414002968976}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 4.795831523312719}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 4.898979485566356}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 23, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 8, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 2}}}, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 4}, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2.23606797749979}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 18}}, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2.23606797749979}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}}, "df": 3}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 3, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}}, "df": 2}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 3}}}}}}}, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 2}}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 2}}}}}}}}}}, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 4}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.7320508075688772}}, "df": 4}}}}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 2}}}, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 4}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "k": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 5}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"ffmpeg_bitrate_stats": {"fullname": "ffmpeg_bitrate_stats", "modulename": "ffmpeg_bitrate_stats", "kind": "module", "doc": "\n"}, "ffmpeg_bitrate_stats.BitrateStats": {"fullname": "ffmpeg_bitrate_stats.BitrateStats", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats", "kind": "class", "doc": "Initialize the BitrateStats class.
\n\nArguments:
\n\n\n
\n"}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.__init__", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.__init__", "kind": "function", "doc": "\n", "signature": "(\tinput_file: str,\tstream_type: Literal['audio', 'video'] = 'video',\taggregation: Literal['time', 'gop'] = 'time',\tchunk_size: int = 1,\tread_start: Optional[str] = None,\tread_duration: Optional[str] = None,\tdry_run: bool = False)"}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.calculate_statistics", "kind": "function", "doc": "- input_file (str): Path to the input file
\n- stream_type (str, optional): Stream type (audio/video). Defaults to \"video\".
\n- aggregation (str, optional): Aggregation type (time/gop). Defaults to \"time\".
\n- chunk_size (int, optional): Chunk size. Defaults to 1.
\n- read_start (str, optional): Start time for reading in HH:MM:SS.msec or seconds. Defaults to None.
\n- read_duration (str, optional): Duration for reading in HH:MM:SS.msec or seconds. Defaults to None.
\n- dry_run (bool, optional): Dry run. Defaults to False.
\nCalculate the bitrate statistics.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If an error occurred.
\nReturns:
\n\n\n\n", "signature": "(self) -> ffmpeg_bitrate_stats.bitrate_stats.BitrateStatsSummary:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.print_statistics", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.print_statistics", "kind": "function", "doc": "dict: The bitrate statistics summary.
\nPrint the statistics in the specified format to stdout.
\n\nArguments:
\n\n\n
\n\n- output_format: The format to print the statistics in (csv, json)
\nRaises:
\n\n\n
\n", "signature": "(self, output_format: Literal['csv', 'json']) -> None:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.get_csv", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.get_csv", "kind": "function", "doc": "- ValueError: If the output format is invalid
\nGet the bitrate statistics as a CSV string.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If no bitrate statistics are available
\nReturns:
\n\n\n\n", "signature": "(self) -> str:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.get_json", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.get_json", "kind": "function", "doc": "str: The bitrate statistics as a CSV string
\nGet the bitrate statistics as a JSON string.
\n\nRaises:
\n\n\n
\n\n- RuntimeError: If no bitrate statistics are available
\nReturns:
\n\n\n\n", "signature": "(self) -> str:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"fullname": "ffmpeg_bitrate_stats.BitrateStats.plot", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStats.plot", "kind": "function", "doc": "str: The bitrate statistics as a JSON string
\nPlot the bitrate over time to STDERR.
\n\nArguments:
\n\n\n
\n", "signature": "(self, width: int = 80, height: int = 30) -> None:", "funcdef": "def"}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary", "kind": "class", "doc": "\n", "bases": "typing.TypedDict"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.input_file", "kind": "variable", "doc": "- width (int, optional): Width of the plot. Defaults to 80.
\n- height (int, optional): Height of the plot. Defaults to 30.
\nThe input file.
\n", "annotation": ": str"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.stream_type", "kind": "variable", "doc": "The stream type (audio/video).
\n", "annotation": ": Literal['audio', 'video']"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_fps", "kind": "variable", "doc": "The average FPS.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.num_frames", "kind": "variable", "doc": "The number of frames.
\n", "annotation": ": int"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_bitrate", "kind": "variable", "doc": "The average bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.avg_bitrate_over_chunks", "kind": "variable", "doc": "The average bitrate in kbit/s over chunks.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.max_bitrate", "kind": "variable", "doc": "The maximum bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.min_bitrate", "kind": "variable", "doc": "The minimum bitrate in kbit/s.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.max_bitrate_factor", "kind": "variable", "doc": "Relation between peak and average.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.bitrate_per_chunk", "kind": "variable", "doc": "The bitrate per chunk in kbit/s.
\n", "annotation": ": list[float]"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.aggregation", "kind": "variable", "doc": "The aggregation type (time/chunks).
\n", "annotation": ": Literal['time', 'gop']"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.chunk_size", "kind": "variable", "doc": "The chunk size in seconds.
\n", "annotation": ": Optional[int]"}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"fullname": "ffmpeg_bitrate_stats.BitrateStatsSummary.duration", "modulename": "ffmpeg_bitrate_stats", "qualname": "BitrateStatsSummary.duration", "kind": "variable", "doc": "The duration in seconds.
\n", "annotation": ": float"}, "ffmpeg_bitrate_stats.run_command": {"fullname": "ffmpeg_bitrate_stats.run_command", "modulename": "ffmpeg_bitrate_stats", "qualname": "run_command", "kind": "function", "doc": "Run a command directly
\n", "signature": "(\tcmd: List[str],\tdry_run: bool = False) -> tuple[str, str] | tuple[None, None]:", "funcdef": "def"}}, "docInfo": {"ffmpeg_bitrate_stats": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStats": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 131}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 189, "bases": 0, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 39}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 53}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 46}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 46}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 49}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 3}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"qualname": 3, "fullname": 6, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"qualname": 5, "fullname": 8, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"qualname": 4, "fullname": 7, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"qualname": 4, "fullname": 7, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"qualname": 2, "fullname": 5, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"qualname": 3, "fullname": 6, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 8}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"qualname": 2, "fullname": 5, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ffmpeg_bitrate_stats.run_command": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 6}}, "length": 23, "save": true}, "index": {"qualname": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 14}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 3}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}, "fullname": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 14}}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 23}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 3}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}, "annotation": {"root": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}}}}}}}}, "x": {"2": {"7": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 2}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 2}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 7}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"1": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}, "3": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "9": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2}}, "df": 2}, "docs": {}, "df": 0}, "8": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 12.041594578792296}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 4.47213595499958}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 5.830951894845301}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 3.4641016151377544}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 6.324555320336759}, "ffmpeg_bitrate_stats.run_command": {"tf": 7.874007874011811}}, "df": 7, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}}, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.7320508075688772}}, "df": 4, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 5}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1}}, "df": 1}}}}}}}}}}}, "doc": {"root": {"1": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}, "3": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "8": {"0": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ffmpeg_bitrate_stats": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats": {"tf": 7.0710678118654755}, "ffmpeg_bitrate_stats.BitrateStats.__init__": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 4.795831523312719}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 4.898979485566356}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 4.58257569495584}, "ffmpeg_bitrate_stats.BitrateStatsSummary": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.run_command": {"tf": 1.4142135623730951}}, "df": 23, "i": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 9, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 2}}}, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 4}, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2.23606797749979}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 18}}, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2.6457513110645907}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}}, "df": 3}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 3, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}}, "df": 2}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 3}}}}}}}, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 2}}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.aggregation": {"tf": 1}}, "df": 2}}}}}}}}}}, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 4}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.input_file": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 2}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_fps": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2.23606797749979}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.stream_type": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1.7320508075688772}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.7320508075688772}}, "df": 4}}}}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.chunk_size": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 3}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.7320508075688772}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2.449489742783178}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}}, "df": 2}}}, "f": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 2.449489742783178}, "ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.BitrateStatsSummary.duration": {"tf": 1}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate_factor": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}, "ffmpeg_bitrate_stats.run_command": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 3}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 4}}}}}}, "h": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "e": {"docs": {"ffmpeg_bitrate_stats.BitrateStats": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.num_frames": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.calculate_statistics": {"tf": 1}}, "df": 1}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.print_statistics": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1.4142135623730951}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.get_csv": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStats.get_json": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ffmpeg_bitrate_stats.BitrateStats.plot": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "k": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {"ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.avg_bitrate_over_chunks": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.max_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.min_bitrate": {"tf": 1}, "ffmpeg_bitrate_stats.BitrateStatsSummary.bitrate_per_chunk": {"tf": 1}}, "df": 5}}}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; // mirrored in build-search-index.js (part 1) // Also split on html tags. this is a cheap heuristic, but good enough. diff --git a/ffmpeg_bitrate_stats/__init__.py b/ffmpeg_bitrate_stats/__init__.py index 77871df..69a32db 100644 --- a/ffmpeg_bitrate_stats/__init__.py +++ b/ffmpeg_bitrate_stats/__init__.py @@ -1,5 +1,5 @@ from .bitrate_stats import BitrateStats, BitrateStatsSummary, run_command -__version__ = "1.0.2" +__version__ = "1.1.0" __all__ = ["BitrateStats", "BitrateStatsSummary", "run_command"]