I think it’s mostly because frame_source is empty, i.e video is not getting read properly, hence the video object frame_source must be None.
Try to use cv2.imshow and display the frames of the video, this will give you an idea if it’s reading it properly or not.