test
This commit is contained in:
31
pve.py
31
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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user