If you were in my boat you were frustrated that you had to double encode, eg. one separate encode for watermark and a separate from concat and it's not easy to figure out this with ffmpeg on your own. However it is a nice way to save time!
ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 -i watermark.png -filter_complex "[0:v]setpts=PTS-STARTPTS[v0]; [1:v]setpts=PTS-STARTPTS[v1]; [2:v]setpts=PTS-STARTPTS[v2]; [v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[v][aout]; [v][3:........
When things go wrong your video is basically unplayable or the first video plays fine and then freezes when moving on to the next. Generally if both videos weren't produced with the exact 100% same settings you will have issues. You can try the basic concat but it often won't work right.
Solution for me:
My example uses 3 videos in total so "n=3" and a=1 to include audio.
ffmpeg -threads 12 -i file1.mp4 -........
I believe from what I've read that this card's driver doesn't support the features after trying all known troubleshooting methods.
ffmpeg -i uservideoRendered.mp4 -filter:v hwupload_cuda,scale_npp=w=1920:h=1080:format=nv12:interp_algo=lanczos,hwdownload -c:v hevc_nvenc -profile main -preset slow -rc vbr_hq -c:a copy uservideoRendered.mp4-test
ffmpeg -i uservideoRendered.mp4 -filter:v hwupload_cuda,scale_npp=w=1920:h=1080:format=nv12:interp_algo=lanczos,hwdownload........
If you have this problem: http://realtechtalk.com/mencoder_bmovl_error_vf_bmovl_Unknown_command_Ignoring_-1860-articles
Then ffmpeg is for you. Go here if you are using Linux Mint and cannot find or install it to use an external PPA........