Оптимизация размера видео - PullRequest
1 голос
/ 20 января 2020

Я работаю над задачей, которая должна оптимизировать размер видео перед загрузкой на сервер в веб-приложении. Поэтому я хочу, чтобы моя модель автоматически оптимизировала каждый размер входного видео.

У меня есть много испытаний в разных подходах, таких как FFmpeg: я использовал libx265, h264 и lib265 в качестве кода c, в некоторых видео это увеличивает видео size и другие минимизируют его с небольшим соотношением, и генерация выходного файла занимает очень много времени.

, например, для видео размером 8M

input = {input_name: None}
output = {output_name: '-n preset faster -vcodec libx265 -crf 28'} 

Выходной файл равен 10M.

А также попробовал OpenCV: Но выводимые видео не записываются, размер файла составляет 0 КБ.

Например: с разрешением входного видео (1280 × 544) я хочу уменьшить его на:

cap= cv2.VideoCapture(file_name)
cap.set(3,640)
cap.set(4,480)
codec = cv2.VideoWriter_fourcc(*'XDIV')
out = cv2.VideoWriter(output_file, codec, 28.0 , (640,480))
While cap.isOpened():
   bol, frame = cap.read()
   out.write(frame)
   cv2.imshow('video', frame)

Я немного запутался. Каковы параметры ввода, вывода видео, которые я должен рассмотреть, чтобы быть оптимизированными и внести существенные изменения размера в каждом конкретном c видео? Это код c, ширина, высота только?

Каков наиболее эффективный подход для этого?

Должен ли я построить прогностическую модель для оценки подходящих параметров выходного видеофайла или есть метод автоматической настройки?

, если есть иллюстративный пример, пожалуйста, предоставьте мне.

...