From e0124c0ff36fb16d2ba9e1613c4c0774bfd997ca Mon Sep 17 00:00:00 2001 From: Roz K Date: Sat, 4 Oct 2025 14:22:39 +0200 Subject: [PATCH] test --- pve.py | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/pve.py b/pve.py index 8d233b0..4719812 100644 --- a/pve.py +++ b/pve.py @@ -14,6 +14,8 @@ # You should have received a copy of the GNU General Public License along with People's Video Editor. # If not, see . +import cProfile + from pyav.demuxer import Demuxer from pyav.decoder import Decoder @@ -26,14 +28,21 @@ print(f"audio codec = {demuxer.audio_stream.codec.name}") video_decoder = Decoder(demuxer.video_stream) audio_decoder = Decoder(demuxer.audio_stream) -while True: - packet = demuxer.read_packet() - eof = (packet is None) - if eof or demuxer.video_stream.contains(packet): - video_frames = video_decoder.decode(packet) - print(f"decoded {len(video_frames)} video frames") - if eof or demuxer.audio_stream.contains(packet): - audio_frames = audio_decoder.decode(packet) - print(f"decoded {len(audio_frames)} audio frames") - if eof: - break +num_frames = 0 + +with cProfile.Profile() as pr: + while True: + packet = demuxer.read_packet() + eof = (packet is None) + if eof or demuxer.video_stream.contains(packet): + video_frames = video_decoder.decode(packet) + num_frames += len(video_frames) + # print(f"decoded {len(video_frames)} video frames") + if eof or demuxer.audio_stream.contains(packet): + audio_frames = audio_decoder.decode(packet) + # print(f"decoded {len(audio_frames)} audio frames") + if eof: + break + +print(f"num frames: {num_frames}") +pr.print_stats()