Я использую OpenCV для обработки видео и требую, чтобы выходной файл был в кодировке H264 в контейнере MP4.Это работает на Ubuntu 16.04 в контейнере Docker, но я также протестировал в Debian 9 (Stretch) и обнаружил ту же проблему.Когда программа записи видео начинает запись в файл, возникает следующая ошибка:
[h264_nvenc @ 0x7fd3c0468b60] Cannot load libcuda.so.1
Could not open codec ‘h264_nvenc’: Unspecified error
Это, по-видимому, означает, что nVidia cuda и nvenc используются для кодирования выходного видео.Для этого требуется установить драйверы nVidia, что сейчас не вариант.
VideoWriter создается следующим образом:
self.out = cv2.VideoWriter("test.mp4", cv2.VideoWriter_fourcc(*'X264'), 30, (1280, 720))
Насколько я понимаю, OpenCV использует FFmpeg для чтения видео инаписание видео.В моей установке FFmpeg включена библиотека libx264 - есть ли способ заставить OpenCV использовать FFmpeg и libx264 для записи видео вместо libcuda и nvenc?
Спасибо.