Разные результаты для opencv против ffmpeg для webm - PullRequest
0 голосов
/ 19 июня 2019

Попытка сохранить кадр по frame_id:

В ffmpeg (который, я считаю, дает действительные результаты):

ffmpeg -i <video_filepath> -vf "select=eq(n\,<frame_id>)" -vframes 1 <frame_id>.png

В opencv (который дает другой результат):

def save_frame(input_video_filepath, output_image_filepath, frame_id):
    cap = cv2.VideoCapture(input_video_filepath)
    n_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))

    iter = tqdm(range(n_frames))
    for i in iter:
        flag, frame = cap.read()
        if i==frame_id:
            cv2.imwrite(output_image_filepath, frame)
            iter.close()
            break

Почему версия opencv дает другой результат?

Обновление:

Преобразование webm в mp4, например:

ffmpeg -i <input_filepath>.webm -r 25 <output_filepath>.mp4

и затем использованиеэти 2 метода дают одинаковые результаты, так что, как я понимаю, у opencv есть некоторые проблемы с форматом webm?

...