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.
|
# 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/>.
|
# If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import cProfile
|
||||||
|
|
||||||
from pyav.demuxer import Demuxer
|
from pyav.demuxer import Demuxer
|
||||||
from pyav.decoder import Decoder
|
from pyav.decoder import Decoder
|
||||||
|
|
||||||
@ -26,14 +28,21 @@ print(f"audio codec = {demuxer.audio_stream.codec.name}")
|
|||||||
video_decoder = Decoder(demuxer.video_stream)
|
video_decoder = Decoder(demuxer.video_stream)
|
||||||
audio_decoder = Decoder(demuxer.audio_stream)
|
audio_decoder = Decoder(demuxer.audio_stream)
|
||||||
|
|
||||||
while True:
|
num_frames = 0
|
||||||
packet = demuxer.read_packet()
|
|
||||||
eof = (packet is None)
|
with cProfile.Profile() as pr:
|
||||||
if eof or demuxer.video_stream.contains(packet):
|
while True:
|
||||||
video_frames = video_decoder.decode(packet)
|
packet = demuxer.read_packet()
|
||||||
print(f"decoded {len(video_frames)} video frames")
|
eof = (packet is None)
|
||||||
if eof or demuxer.audio_stream.contains(packet):
|
if eof or demuxer.video_stream.contains(packet):
|
||||||
audio_frames = audio_decoder.decode(packet)
|
video_frames = video_decoder.decode(packet)
|
||||||
print(f"decoded {len(audio_frames)} audio frames")
|
num_frames += len(video_frames)
|
||||||
if eof:
|
# print(f"decoded {len(video_frames)} video frames")
|
||||||
break
|
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