3

Кто-нибудь знает о программном обеспечении, которое можно было бы установить / скомпилировать для Linux, которое может вырезать видео по кадру? Благодарю.

1 ответ1

4

ffmpeg может это сделать. Если видеокодек интеркодирован и вам нужна точная точность кадров, вам придется перекодировать видео. Если вам не нужно перекодировать видео, ffmpeg будет вырезать от ближайшей границы GOP до указанной точки вырезания.

Вырезать и скопировать:

ffmpeg -i input -ss T -t D -c copy -fflags +genpts output

-ss T указывает начальную точку, выраженную в виде временного кода в формате S+[.m...] [.m ...], например, 24 или 65.22 или [HH:]MM:SS[.m...] например, 02:34:11.644

-t D указывает продолжительность в том же формате.

Это не будет с точностью до кадра, если начальная точка не находится на границе GOP.

Вырезать и перекодировать:

ffmpeg -i input -ss T -t D -fflags +genpts output

То же, что и выше, но это будет с точностью до кадра.

Если вам нужно указать точки входа и выхода по номерам кадров:

ffmpeg -i input -vf trim=start_frame=n:end_frame=m -af atrim=start=s:end=t -fflags +genpts output

n и m - номера кадров точек входа и выхода видео. s и t - временные коды для соответствующего аудио.

Кодеки, выбранные для перекодированных видео, будут соответствовать тем настройкам по умолчанию, которые ffmpeg установил для выходного контейнера, например H.264 и AAC для MP4.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .