0

The following command line for encoding audio with an image works fine.

ffmpeg -y -loop 1 -framerate 15 -i  "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3"  -c:v libx264 -vf format=yuv420p -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"

I want to overlay text over an image in the video frame. Based on this link, I added an overlay text like so. Since I want to use the default font, I skip the drawtext="fontfile=" command deliberately like so. But now no video frames are visible, not even the background image. How can I do it? Thanks.

ffmpeg -y -loop 1 -framerate 15 -i  "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3"  -c:v libx264 -vf format=yuv420p -vf drawtext="text='Hello World': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2"   -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"
ark1974
  • 601
  • 4
  • 15

1 Answers1

1

Combine simple filters with a comma (,):

ffmpeg -y -loop 1 -framerate 15 -i "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3" -c:v libx264 -vf "drawtext=text='Hello World': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2,format=yuv420p" -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"

See filtering introduction for more info.

llogan
  • 105,293
  • 25
  • 200
  • 219