Files
rk_pve/pve.py
2025-10-03 17:07:17 +02:00

37 lines
1.0 KiB
Python

# RozK
from mp4.demuxer import Demuxer
from mp4.decoder import Decoder
demuxer = Demuxer('test.mp4')
print(f"nb_streams = {demuxer.nb_streams}")
print(f"video codec = {demuxer.video_stream.codec.name}")
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()
if packet is None:
break
if demuxer.video_stream.contains(packet):
video_frames = video_decoder.decode(packet)
print(f"decoded {len(video_frames)} video frames")
continue
elif demuxer.audio_stream.contains(packet):
audio_frames = audio_decoder.decode(packet)
print(f"decoded {len(audio_frames)} audio frames")
continue
else:
print("unkown packet")
video_frames = video_decoder.flush()
print(f"flushed {len(video_frames)} video frames")
audio_frames = audio_decoder.flush()
print(f"flushed {len(audio_frames)} audio frames")
demuxer.close()