Я хочу присоединиться к набору видеоклипов (со звуком), используя несколько коротких переходов (в идеале кроссфейд), простым, автоматизированным и эффективным способом.
IE:
ClipA ---> ClipB --> ClipC --> ClipD
[aaaaaaaa][bbbbbbbb][cccccccc][dddddddd]
(--> indicate crossfades, not to scale!)
Чтобы уточнить:
- по прямому, в идеале было бы включать использование «стандартные» инструментов (то есть те , которые я уже знаком с такой
ffmpeg
но менее известные инструменты , какmelt
определенно квалифицировать, и я готов исследовать новые горизонты , как MoviePy) - под автоматизированным я подразумеваю что-то, что может быть параметризовано и помещено в скрипт
python
/shell
/etc - под эффективным я имею в виду быстрое кодирование или минимизацию перекодирования
В настоящее время я использую python
и ffmpeg
чтобы нарезать видеофайл уже в Matroska/h264/aac, используя параметр потокового копирования (очень быстро) на основе временных кодов в текстовом файле. Затем melt
последовательно струны эти клипы один за другим с помощью короткого яркостной (склейка) переходов (очень медленно из - за повторного кодирования всей последовательности).
Мне кажется, что из этих длинных видеоклипов нужно обработать и перекодировать всего несколько секунд - сами переходы. Остальное можно скопировать. Есть ли уже существующий / интуитивный способ сделать это? Мой наивный подход состоял бы в том, чтобы дополнительно нарезать клипы на подклипы, используя melt
для создания переходов и используя фильтр concat
для склеивания беспорядка.
Например:
ClipA1 ClipA2 ClipB1 ClipB2 ClipB3 ClipC1 ClipC2 ClipC3 ClipD1 Clip D2
[aaaaaaa] + [a][b] + [bbbbbb] + [b][c] + [cccccc] + [c][d] + [ddddddd]
(+ indicates concat-ing of subclips; [x][y] indicates a short xfade from x to y)
Тем не менее, я не тороплюсь списывать со счетов то, что может быть дураком, поскольку я ожидаю, что связанные с melt
/ffmpeg
промахи касаются времени сокращений и синхронизации звука; и я не хочу пропустить разделы видео или аудио из-за размещения I-кадра или что там у вас. Плюс ко всему, у меня такое чувство, что я не первый, кто сталкивается с этим, поэтому мне любопытно, как эти умнее, чем я, решили это - мои решения имеют тенденцию к наивности, как я говорю!
Надеюсь, это было ясно. Ура за чтение и заранее спасибо!
Для контекста, я намерен превратить неотредактированное видео в прямом эфире из видеоигры в интересное / "полезное" видео; это исключает скучную загрузку, сортировку проблем с подключением и т. д. Но также можно выделить основные моменты - монтаж для демонстрации прогресса. Поскольку это то, что теоретически будет появляться каждый раз, когда появляются новые кадры, я очень заинтересован в том, чтобы сделать это наиболее эффективным (упреждающе ленивым) способом.