#ffmpeg #android-ffmpeg
Вопрос:
Я новичок в FFmpeg и не знаю, как добавить rotate="90"
в свою команду. Я пытался добавить его в разных местах, и у меня получилось Unable to find suitable output format for 'rotate=90' rotate=90: Invalid argument
.
Я хочу добавить вступительное видео к серии других видео, снятых камерой Android, и объединить их вместе. Объединение работает нормально, за исключением того, что поворот должен быть в портретном режиме, а не в альбомном.
Это мой приказ:
const ffmpegCommand = `-hide_banner -loglevel error -loop 1 -i ${imageUri} -f lavfi -i anullsrc=cl=mono:r=48000 -c:v libx264 -profile:v high -level:v 4.0 -video_track_timescale 90k -t ${duration} -pix_fmt yuv420p -r ${resolution[0]/resolution[1]} ${outputUri}`;
Комментарии:
1. ваша проблема состоит в том, чтобы снимать видео в портретном режиме и отображать его на альбомном экране, верно?..
2. @BADSHAH нет, я хочу избежать перекодировки. Я просто хочу добавить в эту команду атрибут вращения. Мои видео, снятые камерой Android, находятся в портретном режиме, и FFmpeg concat делает их альбомными, потому что мое сгенерированное вступительное видео является первым видео в массиве и его в альбомной ориентации. Я просто хочу, чтобы это изображение было портретным, чтобы функция FFmpeg concat не вращала остальные видео.
3. именно я беру о проверке поворота видео на 90 градусов, чтобы изменить градус видео с помощью этой команды ffmpeg-y,- i, видеопат,- s, ширина x высота,- предустановленный, очень быстрый, выходной путь; после этого выходной путь добавит ваш список объектов, а затем основная проблема команды решена.
Ответ №1:
Нашел решение. Я не уверен, что это правильное решение, но для меня оно делает то, что мне нужно.
const ffmpegCommand = `-i ${firstRecordedVideURL} -i ${generatedImageVideoURL} -map 1 -c copy -map_metadata 0 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a ${output}`;
Я беру первое видео, записанное с помощью камеры Android, и копирую метаданные в видео, которое я только что сгенерировал из файла изображения. Таким образом, сгенерированное видео будет иметь соответствующие метаданные, и объединение будет работать должным образом.