First question on this site, unsure if it's off-topic to ask for specific solutions to specific problems. If it is, I'm sorry in advance.
I have the following
ffmpeg command inside a
bash script. You can assume I have values for all the variables in it - it is working just fine as it is, after all.
blackout_duration=14 transition_time=2 dur=$(ffprobe -loglevel error -show_entries format=duration -of default=nk=1:nw=1 "$1.mp3") echo "Duration $dur" offset=$(bc -l <<< "$dur"-"$blackout_duration") ffmpeg -hide_banner -loop 1 -i $1.png -i $1.mp3 -c:v libx264 -preset ultrafast -tune stillimage -pix_fmt yuv420p -shortest -filter_complex "[0:v]fade=type=out:duration=$transition_time:start_time='$offset'[v]" -map "[v]" -map "1:a" $1.mkv
- Combines a
mp3files together to produce one
- Fades the last
nseconds to black (while there's still some music playing in the audio).
On a reasonably modern CPU (i7-8665U), I'm getting around 60 FPS while processing this.
Is it me or this seems awfully slow, given the fact that there's absolutely no process being done on the audio and the video is just the same frame repeated over and over?
And, if it is, could you provide a better approach?