Я использую ffmpeg для создания нескольких отдельных видео с разделенным экраном из двух отдельных видео. В 2 видео есть звук, поэтому я хочу извлечь аудиопотоки 2 видео в виде 2 отдельных mp3, а также создать миниатюру из готового видео с разделенным экраном. Можно ли сделать эти 3 действия за один проход?
Вот код, который я бы использовал для создания видео с разделенным экраном:
ffmpeg -i input0.mov -i input1.mov -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[v0][v1] xstack=inputs=2:layout=0_0|w0_0|[v]" -map "[v]" -an output.mp4
Вот код, который я бы использовал для создания миниатюры результирующего видео с разделенным экраном:
ffmpeg -y -i input.mp4 -vframes 1 OUTPUT.jpg
Вот код, который я бы использовал для создания одного mp3
ffmpeg -i input0.mov output0.mp3
Комбинированная команда:
ffmpeg -i input0.mov -i input1.mov -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[v0][v1]hstack,split[video][image]" -map "[video]" output.mp4 -map 0:a audio0.mp3 -map 1:a audio1.mp3 -map "[image]" -frames:v 1 image.jpg
Для 4 видео в макете 2x2:
ffmpeg -i input0.mov -i input1.mov -i input2.mov -i input3.mov -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[2]scale=640x360[v2];[3]scale=640x360[v3];[v0][v1][v2][v3]xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0,split[video][image]" -map "[video]" output.mp4 -map 0:a audio0.mp3 -map 1:a audio1.mp3 -map 2:a audio2.mp3 -map 3:a audio3.mp3 -map "[image]" -frames:v 1 image.jpg
Бен Харди
Логан
Бен Харди
Логан