Slowing down 960 fps video with ffmpeg (setpts is not working) -


i trying slow down video recorded on android phone @ 960fps. found lot of previous posts , blogs same thing, need change "presentation timestamp" (pts). found official documentation saying same thing. command-line looks this:

ffmpeg -i input.mp4 -filter:v "setpts=4*pts" -r 30 -y output.mp4 

i copied video file using android filter transfer , when use above command-line, works slow down, resulting output choppy. output of ffmpeg indicates duplicating frames:

frame=  687 fps=103 q=-1.0 lsize=    4454kb time=00:00:22.80 bitrate=1600.1kbits/s dup=515 drop=0 speed=3.42x 

running ffprobe on file shows this:

ffprobe version 3.1.1 copyright (c) 2007-2016 ffmpeg developers   built apple llvm version 7.3.0 (clang-703.0.31)   configuration: --prefix=/usr/local/cellar/ffmpeg/3.1.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-lda   libavutil      55. 28.100 / 55. 28.100   libavcodec     57. 48.101 / 57. 48.101   libavformat    57. 41.100 / 57. 41.100   libavdevice    57.  0.101 / 57.  0.101   libavfilter     6. 47.100 /  6. 47.100   libavresample   3.  0.  0 /  3.  0.  0   libswscale      4.  1.100 /  4.  1.100   libswresample   2.  1.100 /  2.  1.100   libpostproc    54.  0.100 / 54.  0.100 input #0, mov,mp4,m4a,3gp,3g2,mj2, 'vid_20161030_213810.mp4':   metadata:     major_brand     : mp42     minor_version   : 0     compatible_brands: isommp42     creation_time   : 2016-10-30 16:08:14     location        : +17.3874+078.3395/     location-eng    : +17.3874+078.3395/     com.android.version: 6.0.1     com.android.capture.fps: 120.000000   duration: 00:00:05.73, start: 0.000000, bitrate: 14991 kb/s     stream #0:0(eng): video: h264 (baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 13859 kb/s, sar 1:1 dar 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)     metadata:       creation_time   : 2016-10-30 16:08:14       handler_name    : videohandle 

this seems detect video 30 fps instead of 960 fps, why filling in duplicate frames instead of using existing frames.

i recording video on lenovo z2 plus (aka zuk z2). if playback video using built-in player @ slow speed looks extremely smooth, frames there. me figure out right way? file available here (about 10mb), in case try it.

update: video playback @ slo-mo on phone recorded phone. notice how smooth , slow sparks thrown around, impossible if original video 30fps.


Comments

Popular posts from this blog

java - SSE Emitter : Manage timeouts and complete() -

jquery - uncaught exception: DataTables Editor - remote hosting of code not allowed -

java - How to resolve error - package com.squareup.okhttp3 doesn't exist? -