Я хочу напрямую кодировать видео из бесчисленных массивов видеокадров. Open-cv предлагает такую функциональность через cv2.VideoWriter
, однако мне нужен кодек h.264, который недоступен. Лучшее, что у меня есть, - это использовать open-cv для записи видео, а затем перекодировать его через:
# write video from numpy arrays via cv2
out = cv2.VideoWriter("/tmp/video.mp4", cv2.VideoWriter_fourcc(*"mp4v"), fps, size)
for frame in frames:
out.write(frame)
out.release()
# reencode video with ffmpeg
os.system("ffmpeg -y -i /tmp/video.mp4 -vcodec libx264 /tmp/video2.mp4")
Тем не менее, я думаю, что первое кодирование не меньше потерь, поэтому вместо этого я ищу решение, в котором я могу напрямую кодировать видео с python.
Спасибо за вашу помощь!