使用ffmpeg以1fps的速度播放幻灯片,但仍能以25fps的速度播放

使用ffmpeg以1fps的速度播放幻灯片,但仍能以25fps的速度播放,ffmpeg,frame-rate,Ffmpeg,Frame Rate,我从另一个SO问题中执行此命令: $ ffmpeg -i obraz%04d.png -framerate 1 -c:v libx265 output.mkv 我告诉它最多1fps,但日志和鹦鹉螺都告诉我视频是25fps 请提出行动方案 来自ffmpeg的完整日志: $ ffmpeg -i obraz%04d.png -framerate 1 -c:v libx265 output.mkv ffmpeg version 4.3.1-4ubuntu1 Copyright (c) 2000-202

我从另一个SO问题中执行此命令:

$ ffmpeg -i obraz%04d.png -framerate 1 -c:v libx265 output.mkv
我告诉它最多1fps,但日志和鹦鹉螺都告诉我视频是25fps

请提出行动方案

来自ffmpeg的完整日志:

$ ffmpeg -i obraz%04d.png -framerate 1 -c:v libx265 output.mkv
ffmpeg version 4.3.1-4ubuntu1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10 (Ubuntu 10.2.0-9ubuntu2)
  configuration: --prefix=/usr --extra-version=4ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, image2, from 'obraz%04d.png':
  **Duration: 00:00:00.16,** start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgba(pc), 1848x1053, **25 fps**, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> hevc (libx265))
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 3.4
x265 [info]: build info [Linux][GCC 9.3.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4 FMA3 BMI1
x265 [warning]: halving the quality when psy-rd is enabled for 444 input. Setting cbQpOffset = 6 and crQpOffset = 6
x265 [info]: Main 4:4:4 profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 3 / wpp(17 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias  : 25 / 250 / 40 / 5.00 
x265 [info]: Cb/Cr QP Offset                     : 6 / 6
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing lslices=6 deblock sao
Output #0, matroska, to 'output.mkv':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: hevc (libx265), gbrp, 1848x1053, q=-1--1, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 libx265
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=    4 fps=0.0 q=35.9 Lsize=     137kB time=00:00:00.04 bitrate=27360.6kbits/s speed=0.0532x    
video:134kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 2.194414%
x265 [info]: frame I:      1, Avg QP:30.46  kb/s: 27274.00
x265 [info]: frame P:      1, Avg QP:32.75  kb/s: 106.00  
x265 [info]: frame B:      2, Avg QP:35.38  kb/s: 29.60   
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 50.0% 0.0% 50.0% 0.0% 0.0% 

encoded 4 frames in 0.71s (5.60 fps), 6859.80 kb/s, Avg QP:33.49

我重新排列了参数,现在它可以工作了。愚蠢但有效


$ffmpeg-framerate 1-i obraz%04d.png-c:v libx265 output.mkv

它工作,而原始版本不工作,因为:1)选项顺序很重要:
ffmpeg[input options]-i input[output options]output
2)
-framerate
是一些解复用器的输入选项,包括图像解复用器,因此它作为一个输出选项被忽略。