Есть ли способ передать входное видео в ffmpeg? - PullRequest
0 голосов
/ 29 января 2019

ffmpeg -f avfoundation -i "1:0" -vf "crop=1920:1080:0:0" -pix_fmt yuv420p -y -r 30 -c:a aac -b:a 128k -f flv rtmp://RTMP_SERVER:RTMP_PORT/STREAM_KEY

Здравствуйте, ребята, приведенная выше команда работает довольно хорошо.Он записывает аудио / видео с компьютера.Но то, что я хочу сделать, это передать повторяющееся видео или изображение (png / jpeg / gif), чтобы не было прямой трансляции видео с компьютера, а только изображение в потоке со звуком.

Как бы вы поступили так?

Кроме того, если вы знаете какие-либо программные интерфейсы, которые могут делать то же самое, пожалуйста, дайте предложения.Потому что я бы не хотел использовать CLI.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Используйте none или не используйте значение вообще (:0) для индекса видеоустройства и укажите дополнительный вход:

ffmpeg -f avfoundation -i :0 -i image.png ...

Для изображений, таких как анимированные GIF-файлы и-stream_loop для входных потоков.

Вы можете использовать API FFmpeg непосредственно вместо CLI.

0 голосов
/ 31 января 2019

Я думаю, вы сможете достичь этого, используя -loop и некоторые -map: ing.Я не могу проверить с помощью avfoundation, но что-то вроде этого работает для меня:

ffmpeg -loop 1 -i image.png -i file_to_take_audio_from.mp4 -vf "scale=1920:1080:0:0" -pix_fmt yuv420p -r 30 -c:a aac -b:a 128k -map 0:v -map 1:a output.mp4

Заменить -i file_to_take_audio_from.mp4 на -f avfoundation -i "1:0" и output.mp4 на -f flv rtmp://RTMP_SERVER:RTMP_PORT/STREAM_KEY.

Также выможет пропустить -vf, если изображение имеет правильное разрешение.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...