Jafner.net/archive/PyClipIt/test.py

21 lines
955 B
Python
Raw Normal View History

2024-06-04 12:55:15 -07:00
import av
with av.open("TestClips/x264Source.mkv") as container:
frame_num = 622
time_base = container.streams.video[0].time_base
framerate = container.streams.video[0].average_rate
timestamp = frame_num/framerate
rounded_pts = round((frame_num / framerate) / time_base)
print(f"Variables:\n\
frame_num: {frame_num} (type: {type(frame_num)}\n\
time_base: {time_base} (type: {type(time_base)}\n\
timestamp: {timestamp} (type: {type(timestamp)}\n\
frame_num / framerate: {frame_num / framerate}\n\
frame_num / time_base: {frame_num / time_base}\n\
(frame_num / framerate) / time_base: {(frame_num / framerate) / time_base}\n\
rounded_pts = {rounded_pts}\
")
container.seek(rounded_pts, backward=True, stream=container.streams.video[0])
frame = next(container.decode(video=0))
frame.to_image().save("TestClips/Thumbnail3.jpg".format(frame.pts), quality=80)