Ffmpeg несколько каналов с разными фильтрами и выходами ⇐ Linux
-
Anonymous
Ffmpeg несколько каналов с разными фильтрами и выходами
Я работаю над проектом, который требует, чтобы пользователь загружал видео на s3, после чего запускалась задача ECS, чтобы взять исходное видео, создать несколько разрешений и GIF. Пока работает только в том случае, если я попробовал только один канал, как только я добавляю еще, я получаю Не удалось записать заголовок (неправильные параметры кодека?): Ошибка сломанного канала.
aws s3 cp s3://имя-контейнера/original.mp4 - | \ ffmpeg -f mp4 -i канал:0 \ -vf "scale=1280x720:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:1 | aws s3 cp - s3://bucket-name/720.mp4 --region мой-регион \ -vf "scale=854x480:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:2 | aws s3 cp - s3://bucket-name/480.mp4 --region мой-регион \ -vf "scale=640x360:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:3 | aws s3 cp - s3://bucket-name/360.mp4 --region мой-регион \ -ss 00:00:00 -t 3 -vf "fps=10,scale=720:-1" -movflags frag_keyframe+empty_moov -f gif Pipe:4 | aws s3 cp - s3://bucket-name/thumbnail.gif --region мой-регион После некоторого поиска я обнаружил, что в ffmpeg есть что-то под названием tee, но поскольку я не так хорош, я не уверен, как это реализовать.
Заранее спасибо
Я работаю над проектом, который требует, чтобы пользователь загружал видео на s3, после чего запускалась задача ECS, чтобы взять исходное видео, создать несколько разрешений и GIF. Пока работает только в том случае, если я попробовал только один канал, как только я добавляю еще, я получаю Не удалось записать заголовок (неправильные параметры кодека?): Ошибка сломанного канала.
aws s3 cp s3://имя-контейнера/original.mp4 - | \ ffmpeg -f mp4 -i канал:0 \ -vf "scale=1280x720:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:1 | aws s3 cp - s3://bucket-name/720.mp4 --region мой-регион \ -vf "scale=854x480:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:2 | aws s3 cp - s3://bucket-name/480.mp4 --region мой-регион \ -vf "scale=640x360:flags=lanczos" -c:a aac -b:a 96k -movflags frag_keyframe+empty_moov -f mp4 Pipe:3 | aws s3 cp - s3://bucket-name/360.mp4 --region мой-регион \ -ss 00:00:00 -t 3 -vf "fps=10,scale=720:-1" -movflags frag_keyframe+empty_moov -f gif Pipe:4 | aws s3 cp - s3://bucket-name/thumbnail.gif --region мой-регион После некоторого поиска я обнаружил, что в ffmpeg есть что-то под названием tee, но поскольку я не так хорош, я не уверен, как это реализовать.
Заранее спасибо
Мобильная версия