user13870: I am using ffmpeg to load and mp4 and save an mp4. When I load the source mp4 (from android screen record) into blender, it will not import properly and unusable.
When I run the mp4 through ffmpeg, the problem is resolved. A new problem is unfortunately introduced.
The resulting video is at a noticeably lower framerate. It is distinguishable to the naked eye, and I have unanimously had three other people confirm that the output video is choppy where the source video is not.
The funny thing is, is that when loaded in VLC, it is reported they are both at 12.58 fps under tools>media info>codec. The source video still looks smooth though, where the output does not.
Does anyone have an direction that could be given in possibly rectifying this problem?
Thanks
Here is the command and the output
ffmpeg -i android_record1.mp4 -crf 18 ../corrected/output.mp4
ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 18.100 / 55. 18.100
  libavcodec     57. 24.103 / 57. 24.103
  libavformat    57. 25.101 / 57. 25.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 34.100 /  6. 34.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'android_record1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-02-24 20:17:38
  Duration: 00:00:33.54, start: 0.000000, bitrate: 921 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x800, 918 kb/s, SAR 1:1 DAR 8:5, 12.94 fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
[libx264 @ 00000000039fea40] using SAR=1/1
[libx264 @ 00000000039fea40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 00000000039fea40] profile High 4:4:4 Predictive, level 3.2, 4:2:0 8-bit
[libx264 @ 00000000039fea40] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=12 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to '../corrected/output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    encoder         : Lavf57.25.101
    Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x800 [SAR 1:1 DAR 8:5], q=-1--1, 12.94 fps, 315k tbn, 12.94 tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
      encoder         : Lavc57.24.103 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
Past duration 0.725090 too large
Past duration 0.716301 too large
Past duration 0.818840 too large
Past duration 0.936516 too large   2196kB time=00:00:05.71 bitrate=3145.4kbits/s dup=66 drop=0 speed=9.91x
Past duration 0.644524 too large
Past duration 0.733879 too large
Past duration 0.888176 too large
Past duration 2.010735 too large
Past duration 0.915520 too large
Past duration 0.774406 too large   3675kB time=00:00:14.37 bitrate=2094.3kbits/s dup=149 drop=8 speed=  13x
Past duration 2.095695 too large
Past duration 1.697746 too large
Past duration 0.891594 too large
Past duration 2.141594 too large   4102kB time=00:00:22.02 bitrate=1525.6kbits/s dup=224 drop=18 speed=13.7x
frame=  436 fps=180 q=-1.0 Lsize=    4702kB time=00:00:33.69 bitrate=1143.2kbits/s dup=227 drop=225 speed=13.9x
video:4699kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.054633%
[libx264 @ 00000000039fea40] frame I:2     Avg QP: 0.00  size:316054
[libx264 @ 00000000039fea40] frame P:434   Avg QP: 0.00  size:  9630
[libx264 @ 00000000039fea40] mb I  I16..4..PCM: 53.7%  0.0% 46.3%  0.0%
[libx264 @ 00000000039fea40] mb P  I16..4..PCM:  1.3%  0.0%  0.4%  0.0%  P16..4:  3.5%  0.2%  0.1%  0.0%  0.0%    skip:94.6%
[libx264 @ 00000000039fea40] 8x8 transform intra:0.0% inter:25.9%
[libx264 @ 00000000039fea40] coded y,uvDC,uvAC intra: 52.8% 52.4% 51.4% inter: 2.1% 2.9% 2.9%
[libx264 @ 00000000039fea40] i16 v,h,dc,p: 50% 50%  0%  0%
[libx264 @ 00000000039fea40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 49%  6%  3%  3%  2%  2%  2%  3%
[libx264 @ 00000000039fea40] i8c dc,h,v,p: 21% 47% 32%  0%
[libx264 @ 00000000039fea40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000000039fea40] ref P L0: 90.2%  1.2%  6.2%  2.4%
[libx264 @ 00000000039fea40] kb/s:1142.43


user1871: Your source video is variable frame rate and then there's a great variance in the last third of the file. I estimate a peak framerate of 30 fps, based on a crude calculation, so try
ffmpeg -i android_record1.mp4 -crf 18 -r 30 ../corrected/output.mp4

Experiment with higher values, if needed.

13870: <p>I am using ffmpeg to load and mp4 and save an mp4. When I load the source mp4 (from android screen record) into blender, it will not import properly and unusable.</p>

<p>When I run the mp4 through ffmpeg, the problem is resolved. A new problem is unfortunately introduced.</p>

<p>The resulting video is at a noticeably lower framerate. It is distinguishable to the naked eye, and I have unanimously had three other people confirm that the output video is choppy where the source video is not.</p>

<p>The funny thing is, is that when loaded in VLC, it is reported they are both at 12.58 fps under tools>media info>codec. The source video still looks smooth though, where the output does not.</p>

<p>Does anyone have an direction that could be given in possibly rectifying this problem?</p>

<p>Thanks</p>

<p>Here is the command and the output</p>

<pre><code>ffmpeg -i android_record1.mp4 -crf 18 ../corrected/output.mp4
ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 18.100 / 55. 18.100
  libavcodec     57. 24.103 / 57. 24.103
  libavformat    57. 25.101 / 57. 25.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 34.100 /  6. 34.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'android_record1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-02-24 20:17:38
  Duration: 00:00:33.54, start: 0.000000, bitrate: 921 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x800, 918 kb/s, SAR 1:1 DAR 8:5, 12.94 fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
[libx264 @ 00000000039fea40] using SAR=1/1
[libx264 @ 00000000039fea40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 00000000039fea40] profile High 4:4:4 Predictive, level 3.2, 4:2:0 8-bit
[libx264 @ 00000000039fea40] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=12 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to '../corrected/output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    encoder         : Lavf57.25.101
    Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x800 [SAR 1:1 DAR 8:5], q=-1--1, 12.94 fps, 315k tbn, 12.94 tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
      encoder         : Lavc57.24.103 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -&gt; #0:0 (h264 (native) -&gt; h264 (libx264))
Press [q] to stop, [?] for help
Past duration 0.725090 too large
Past duration 0.716301 too large
Past duration 0.818840 too large
Past duration 0.936516 too large   2196kB time=00:00:05.71 bitrate=3145.4kbits/s dup=66 drop=0 speed=9.91x
Past duration 0.644524 too large
Past duration 0.733879 too large
Past duration 0.888176 too large
Past duration 2.010735 too large
Past duration 0.915520 too large
Past duration 0.774406 too large   3675kB time=00:00:14.37 bitrate=2094.3kbits/s dup=149 drop=8 speed=  13x
Past duration 2.095695 too large
Past duration 1.697746 too large
Past duration 0.891594 too large
Past duration 2.141594 too large   4102kB time=00:00:22.02 bitrate=1525.6kbits/s dup=224 drop=18 speed=13.7x
frame=  436 fps=180 q=-1.0 Lsize=    4702kB time=00:00:33.69 bitrate=1143.2kbits/s dup=227 drop=225 speed=13.9x
video:4699kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.054633%
[libx264 @ 00000000039fea40] frame I:2     Avg QP: 0.00  size:316054
[libx264 @ 00000000039fea40] frame P:434   Avg QP: 0.00  size:  9630
[libx264 @ 00000000039fea40] mb I  I16..4..PCM: 53.7%  0.0% 46.3%  0.0%
[libx264 @ 00000000039fea40] mb P  I16..4..PCM:  1.3%  0.0%  0.4%  0.0%  P16..4:  3.5%  0.2%  0.1%  0.0%  0.0%    skip:94.6%
[libx264 @ 00000000039fea40] 8x8 transform intra:0.0% inter:25.9%
[libx264 @ 00000000039fea40] coded y,uvDC,uvAC intra: 52.8% 52.4% 51.4% inter: 2.1% 2.9% 2.9%
[libx264 @ 00000000039fea40] i16 v,h,dc,p: 50% 50%  0%  0%
[libx264 @ 00000000039fea40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 49%  6%  3%  3%  2%  2%  2%  3%
[libx264 @ 00000000039fea40] i8c dc,h,v,p: 21% 47% 32%  0%
[libx264 @ 00000000039fea40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000000039fea40] ref P L0: 90.2%  1.2%  6.2%  2.4%
[libx264 @ 00000000039fea40] kb/s:1142.43
</code></pre>
 1871: <p>Your source video is variable frame rate and then there's a great variance in the last third of the file. I estimate a peak framerate of 30 fps, based on a crude calculation, so try</p>

<pre><code>ffmpeg -i android_record1.mp4 -crf 18 -r 30 ../corrected/output.mp4
</code></pre>

<p>Experiment with higher values, if needed.</p>
