I am having a similar issue with my Sony A8H that I suspected was with 25fps content. After coming across this thread I’ve been trying to encode my own video which encounters the issue using ffmpeg
with no success.
I have a 15 second clip which I can reliably reproduce the issue on. I extracted this clip from the original material with the following command:
ffmpeg -ss 00:01:00 -to 00:01:15 -i SOURCE.mkv -c copy clip.mkv
The closet copy I’ve been able to make from this source is via the following command:
ffmpeg \
-i clip.mkv \
-map 0 \
-c:a copy \
-c:v libx265 \
-x265-params hdr-opt=1:repeat-headers=1:colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:master-display="G(0,0)B(0,0)R(0,0)WP(0,0)L(0,0):chromaloc=2:level-idc=51" \
-crf 4 \
-preset veryfast \
-pix_fmt yuv420p10le \
tmp.mkv
The output of ffmpeg -i FILENAME
against the two files differs only in the following ways
@@ -10,11 +10,11 @@
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
-Input #0, matroska,webm, from 'clip.mkv':
+Input #0, matroska,webm, from 'tmp.mkv':
Metadata:
ENCODER : Lavf58.45.100
- Duration: 00:00:15.76, start: 0.000000, bitrate: 38921 kb/s
+ Duration: 00:00:15.76, start: 0.000000, bitrate: 36939 kb/s
Chapter #0:0: start 0.000000, end 572.719600
Metadata:
title :
@@ -30,7 +30,7 @@
Chapter #0:4: start 2500.799521, end 2882.563000
Metadata:
title :
- Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 23.98 tbc (default)
+ Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
Metadata:
BPS-eng : 44712655
DURATION-eng : 00:49:02.560000000
@@ -39,6 +39,7 @@
_STATISTICS_WRITING_APP-eng: mkvmerge v23.0.0 ('The Bride Said No') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2018-07-03 15:56:58
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
+ ENCODER : Lavc58.91.100 libx265
DURATION : 00:00:15.760000000
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit) (default)
Metadata:
Additionally the output of mediainfo FILENAME
differs only in the following ways:
@@ -1,12 +1,12 @@
General
-Unique ID : 119244307629973144509392521206569066714 (0x59B59E4759D6DB7F29A6852BED2F60DA)
-Complete name : clip.mkv
+Unique ID : 233430700465692920000581663236344472961 (0xAF9D1E1ACFD6312CF5EB189560376581)
+Complete name : tmp.mkv
Format : Matroska
Format version : Version 4
-File size : 73.1 MiB
+File size : 69.4 MiB
Duration : 15 s 760 ms
Overall bit rate mode : Variable
-Overall bit rate : 38.9 Mb/s
+Overall bit rate : 36.9 Mb/s
Writing application : Lavf58.45.100
Writing library : Lavf58.45.100
@@ -26,12 +26,14 @@
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 4 667.766 FPS
-Original frame rate : 23.976 (24000/1001) FPS
+Original frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.001
Stream size : 15.3 GiB
+Writing library : x265 0.0:[Mac OS X][clang 12.0.0][64 bit] 10bit
+Encoding settings : cpuid=1111039 / frame-threads=3 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=0 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=2 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=25 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=15 / lookahead-slices=8 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=1 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=2 / selective-sao=4 / early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=4.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / crf-max=0.0 / crf-min=0.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(0,0)B(0,0)R(0,0)WP(0,0)L(0,0) / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / hdr10 / hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0
Default : Yes
Forced : No
Color range : Limited
Given that my encoded copy of the 25fps files seem to work, it seems that something else is the culprit of the stutter. Perhaps it has something to do with the framerate of the original file being 25fps, but its tbc
being 23.98
. I’ve not figured out how to make those numbers match after re-encoding the video.