Видео, созданное с помощью OpenCV, не воспроизводится в Android

Я создаю простое видео из файлов.png с помощью скрипта Python. Созданное видео нормально воспроизводится на моем компьютере, но я хочу отправить его на некоторые устройства Android (например, с помощью Whatsapp) и воспроизвести там. Но мне не удается найти работающий кодек. Конечно, я могу установить VLC на Android, но мне нравится играть без дополнительных приложений.

Пожалуйста, посмотрите на мой исходный код.

frame = cv2.imread(path.join(directory, images[0]))
height, width, layers = frame.shape
video = cv2.VideoWriter(directory + "/test.avi", cv2.VideoWriter.fourcc('M', 'J', 'P', 'G'), 5, (width,height))

for image in images:
    video.write(cv2.imread(path.join(directory, image)))

Я до сих пор пробовал окончания.avi и.mp4, MJPG, DIVX и некоторые, которые я не могу вспомнить. Я работаю в системе Windows, используя pycharm с python3 venv, где я установил cv2 с pycharm. Я также попробовал это с H264, но отсутствует файл DLL. Я скачал его, но он не работает, когда я копирую файл в свой проект или в папку cv2 в папке venv.

Может быть, у кого-то есть простое решение, чтобы решить эту проблему. Спасибо!

1 ответ

Решение

Я решил это. Спасибо @Morrison Chang за список. H264 - правильный кодек. Предоставленный файл.dll должен находиться в том же месте, где находится исполняемый файл "python.exe".

Другие вопросы по тегам