Как определить начало и конец кусочков в сшитом видео?

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

Пользователь передает видео длительностью X минут. Видео было создано путем объединения нескольких видеороликов переменной длины (с максимальной длиной видео K секунд, скажем, 60). Цель приложения - определить, когда начинается и заканчивается каждое видео в большом видео длительностью X минут.

Например, пользователь передает видео длительностью 25 (это X) минут. Мы знаем, что одно видео не может быть больше 10 (это K) минут. Таким образом, максимальное количество видео, которое пользователь мог бы сшить вместе для создания входного видео, составляет 3 видео (два десятиминутных видео и одно пятиминутное видео). Но так бывает не всегда, возможна еще одна комбинация (пять 5-минутных видеороликов и т. Д.).

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

Спасибо за любую помощь! Мы искренне ценим это.


person user1320885    schedule 08.04.2016    source источник


Ответы (1)


Если вы хотите использовать только целые единицы (мунуты, секунды), вычислите два значения

R = X % K  - integer modulo 7 % 3 = 1, residue
M = X / K   -integer division  7 / 3 = 2

Если остаток R равен нулю, то общее количество сегментов видео составляет M, иначе M + 1.

Время начала i-th видеофрагмента - Ts[i] = i * K

Время окончания i-th видеосегмента Te[i] = (i + 1) * K для всего сегмента, кроме последнего Te[last] = X

Надеюсь, это очень простая математика.

person MBo    schedule 09.04.2016
comment
Насколько я понимаю, это работает, только если все сегменты имеют длину точно K. Однако K - это только максимальная длина сегмента, сегмент может быть намного короче. Я что-то упускаю? Спасибо за ваше время и ответ! - person user1320885; 09.04.2016
comment
Да, я считал ваш пример базовым. Если вас интересуют другие виды комбинаций, вы должны разработать для них четкие критерии. - person MBo; 09.04.2016
comment
Какие еще критерии нужны? сегменты могут быть разной длины, с максимальной длиной K. - person user1320885; 10.04.2016
comment
Я не знаю. Возможно, вы захотите сгенерировать случайный раздел с максимальным размером части K, всеми возможными разделами (обычно их много), лучшим распределенным разделом (с почти равными частями) и так далее. Пока твоя воля слишком абстрактна - person MBo; 10.04.2016