Proper command to remux mpeg-ts to mp4 with FFmpeg? Should I just use plain command like this:

ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc C:\video_output.mp4


but I have seen many using -copyts to it, why is this needed I do not completely understand it's documentation?

ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc -copyts C:\video_output.mp4


and also every time I use -copyts there is an added delay before the first frame starts, so to fix this is it safe to use -start_at_zero or it breaks the point of copyts to some degree (if that makes any sense)?

ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc -copyts -start_at_zero C:\video_output.mp4


Thanks!
Unless you know you have a specific need to preserve timestamps, there's no need to use -copyts. MPEG-TS, being a format, used for remote viewing, will have some start time offset, by default, to allow for buffering at the player's side. MP4 for local playback, doesn't need that, copyts will preserve it.