Some tweaks to examine.py
authorCarl Hetherington <cth@carlh.net>
Sat, 1 Aug 2020 22:03:21 +0000 (00:03 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 1 Aug 2020 22:03:21 +0000 (00:03 +0200)
hacks/examine.py

index 34544c7f6399e418d3145115dceb9bacb88cc1cb..3eed3f0c6fed516080356eb5d9a3efaa639ad9e5 100644 (file)
@@ -5,7 +5,8 @@ import shlex
 import sys
 
 AUDIO_STREAM = "1"
-types = ['audio']
+types = ['video']
+VIDEO_RATE = 29.97
 
 last_video = None
 last_video_pts = None
@@ -13,6 +14,8 @@ last_video_pts = None
 last_audio_pts = {}
 last_channels = {}
 
+video_frame_count = 0
+
 def check_pts_dts(frame):
     diff = frame['pkt_pts_time'] - frame['pkt_dts_time']
     if abs(diff) > 1e-8:
@@ -22,16 +25,18 @@ def handle(frame):
     global last_video
     global last_video_pts
     global last_audio_pts
+    global video_frame_count
     if frame['media_type'] == 'video' and 'video' in types:
         if last_video_pts is not None and frame['pkt_pts_time'] <= last_video_pts:
             print 'Out of order video frame %f (%d) is same as or behind %f (%d)' % (frame['pkt_pts_time'], frame['pkt_pts'], last_video_pts, last_video)
         elif last_video_pts is not None:
-            print 'OK V    frame %f %f %f %f %d' % (frame['pkt_pts_time'], frame['pkt_dts_time'], frame['pkt_pts_time'] - last_video_pts, 1 / (frame['pkt_pts_time'] - last_video_pts), frame['pkt_size'])
+            print 'OK V    frame %f %f %f %f %d indices %d/%d' % (frame['pkt_pts_time'], frame['pkt_dts_time'], frame['pkt_pts_time'] - last_video_pts, 1 / (frame['pkt_pts_time'] - last_video_pts), frame['pkt_size'], video_frame_count, frame['pkt_pts_time'] * VIDEO_RATE)
             check_pts_dts(frame)
        else:
-            print 'OK V    frame %f' % (frame['pkt_pts_time'])
+            print 'OK V    frame %f counted %d' % (frame['pkt_pts_time'], video_frame_count)
         last_video = frame['pkt_pts']
         last_video_pts = frame['pkt_pts_time']
+        video_frame_count += 1
     elif frame['media_type'] == 'audio' and 'audio' in types:
        stream_index = frame['stream_index']
        if stream_index in last_audio_pts and (stream_index == AUDIO_STREAM or AUDIO_STREAM is None):