diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c
index e17c4a598894374885f1816cf1cf6c0ec0c562d2..4f1e5722cb48912ff987e0bda02e331f093927a6 100644
--- a/ffmpeg_filter.c
+++ b/ffmpeg_filter.c
@@ -302,11 +302,11 @@ static int insert_trim(int64_t start_time, int64_t duration,
         return AVERROR(ENOMEM);
 
     if (duration != INT64_MAX) {
-        ret = av_opt_set_double(ctx, "duration", (double)duration / 1e6,
+        ret = av_opt_set_int(ctx, "durationi", duration,
                                 AV_OPT_SEARCH_CHILDREN);
     }
     if (ret >= 0 && start_time != AV_NOPTS_VALUE) {
-        ret = av_opt_set_double(ctx, "start", (double)start_time / 1e6,
+        ret = av_opt_set_int(ctx, "starti", start_time,
                                 AV_OPT_SEARCH_CHILDREN);
     }
     if (ret < 0) {