diff --git a/hls_service_ws_kadian.py b/hls_service_ws_kadian.py index 55e4bb3..4e7ec54 100644 --- a/hls_service_ws_kadian.py +++ b/hls_service_ws_kadian.py @@ -170,13 +170,13 @@ class TSReaderWorker(threading.Thread): if next_segment is not None: # 读取下一个分片 - # logger.info(f"[INFO] Starting to read TS segment: {next_segment}") - # start_time = time.time() + logger.info(f"[INFO] Starting to read TS segment: {next_segment}") + start_time = time.time() current_frames = self.read_ts_frames(next_segment) - # elapsed_time = (time.time() - start_time) * 1000 # 转换为毫秒 - # logger.info(f"[INFO] Finished reading TS segment, took {elapsed_time:.1f}ms") + elapsed_time = (time.time() - start_time) * 1000 # 转换为毫秒 + logger.info(f"[INFO] Finished reading TS segment, took {elapsed_time:.1f}ms") if current_frames: self.current_segment_num += 1 @@ -253,12 +253,6 @@ class HLSFrameProcessor(threading.Thread): self.base_pts = frame_data['pts_ms'] logger.info("[INFO] Frame processor initialized time base") - # # 打印距离上次处理过去的时间 - # current_time = time.time() - # if self.last_process_time is not None: - # time_since_last = (current_time - self.last_process_time) * 1000 # 转换为毫秒 - # logger.info(f"[INFO] Time since last frame: {time_since_last:.1f}ms") - # self.last_process_time = current_time # 计算预期的播放时间 expected_play_time = self.start_time + (frame_data['pts_ms'] - self.base_pts) / 1000.0 @@ -266,6 +260,13 @@ class HLSFrameProcessor(threading.Thread): # 计算时间差 time_diff = current_time - expected_play_time + + # 打印距离上次处理过去的时间 + current_time = time.time() + if self.last_process_time is not None: + time_since_last = (current_time - self.last_process_time) * 1000 # 转换为毫秒 + logger.info(f"[INFO] Time since last frame: {time_since_last:.1f}ms, pts: {frame_data['pts_ms']} ms") + self.last_process_time = current_time # 时间同步策略 if time_diff > 0.06: # 超过60ms,播放落后 (3帧)