Как разделить видео на кадры, а затем собрать его заново, добавив звук?

Как разделить видео на кадры, а затем собрать его заново, добавив звук?

Как разделить видео на кадры, а затем собрать его заново, добавив звук?

Я использую это:

Для извлечения кадров: ffmpeg -i "video_path" frame%04d.png

Для извлечения аудио: ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

Для повторной сборки: ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

решение1

Чтобы разделить видео на кадры, а затем собрать его вместе со звуком, можно воспользоваться инструментом командной строки ffmpeg.

Чтобы извлечь кадры из видео, вы можете использовать следующую команду:

ffmpeg -i "video_path" frame%04d.png

Эта команда извлечет кадры из видео и сохранит их как отдельные файлы изображений. %04dВ имени выходного файла указывается номер кадра с ведущими нулями, чтобы гарантировать правильную сортировку файлов.

Чтобы извлечь звук из видео, вы можете использовать следующую команду:

ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

Эта команда извлечет звук из видео и сохранит его как отдельный файл MP3.

Чтобы собрать видео из кадров и звука, можно использовать следующую команду:

ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

Эта команда возьмет кадры и аудио в качестве входных данных и соберет их в новый видеофайл. Параметры -c:vи -c:aуказывают кодеки, которые будут использоваться для видео и аудио соответственно. Параметр -rуказывает частоту кадров, а -pix_fmtпараметр указывает формат пикселей. Параметр -shortestгарантирует, что выходное видео будет иметь ту же длительность, что и самые короткие входные данные (видео или аудио).

Чтобы объединить три команды в один скрипт, можно использовать следующий скрипт оболочки:

    # Extract frames from video
ffmpeg -i "video_path" frame%04d.png

# Extract audio from video
ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

# Reassemble video from frames and audio
ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

Вы можете сохранить этот скрипт в файл (например, split_and_reassemble.sh) и запустить его с помощью следующей команды:

bash split_and_reassemble.sh

Это позволит последовательно выполнить три команды: извлечь кадры из видео, извлечь аудио, а затем снова собрать видео из кадров и аудио.

Связанный контент