简体   繁体   English

ffmpeg过滤图像处理

[英]ffmpeg filters image processing

ffmpeg is applying some filters to the images before constructing the video. ffmpeg在构造视频之前对图像应用了一些过滤器。 Is there any way to know those filters? 有什么办法知道那些过滤器?

I'm using this command (so every parameters are kept by default): 我正在使用此命令(因此默认情况下保留每个参数):

ffmpeg -framerate 12 -i frame%02d.jpg out.mp4

Example of one frame: 一帧示例:

Image file: 图像文件:

在此处输入图片说明

From the video: 从视频中: 在此处输入图片说明

I'm working on image processing with c++ and I'm interested in the way ffmpeg filtering the images 我正在使用C ++进行图像处理,并且对ffmpeg过滤图像的方式感兴趣

EDIT 编辑

When I launch the command line, that what I get in the terminal: 当我启动命令行时,在终端中得到的是:

ffmpeg -framerate 5 -i frame%02d.jpg output.mp4


ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[mjpeg @ 0x23e8600] Changeing bps to 8
Input #0, image2, from 'frame%02d.jpg':
  Duration: 00:01:40.20, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 2576x1456 [SAR 1:1 DAR 23:13], 5 fps, 5 tbr, 5 tbn, 5 tbc
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x23ec680] using SAR=1/1
[libx264 @ 0x23ec680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x23ec680] profile High, level 5.0
[libx264 @ 0x23ec680] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p(pc), 2576x1456 [SAR 1:1 DAR 23:13], q=-1--1, 5 fps, 10240 tbn, 5 tbc
    Metadata:
      encoder         : Lavc56.60.100 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=  501 fps=3.8 q=-1.0 Lsize=  154288kB time=00:01:39.80 bitrate=12664.6kbits/s    
video:154284kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002771%
[libx264 @ 0x23ec680] frame I:3     Avg QP:17.31  size:564506
[libx264 @ 0x23ec680] frame P:498   Avg QP:19.27  size:313841
[libx264 @ 0x23ec680] mb I  I16..4:  0.2% 97.1%  2.7%
[libx264 @ 0x23ec680] mb P  I16..4:  0.0% 46.3%  0.5%  P16..4: 12.5% 13.0%  7.7%  0.0%  0.0%    skip:20.1%
[libx264 @ 0x23ec680] 8x8 transform intra:98.9% inter:73.3%
[libx264 @ 0x23ec680] coded y,uvDC,uvAC intra: 99.0% 99.7% 96.0% inter: 52.0% 57.7% 37.0%
[libx264 @ 0x23ec680] i16 v,h,dc,p: 17% 16% 13% 54%
[libx264 @ 0x23ec680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 12% 33%  6%  7%  6%  8%  7% 10%
[libx264 @ 0x23ec680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 13% 14% 10% 13%  9% 11%  8% 10%
[libx264 @ 0x23ec680] i8c dc,h,v,p: 66% 14% 14%  5%
[libx264 @ 0x23ec680] Weighted P-Frames: Y:2.0% UV:1.2%
[libx264 @ 0x23ec680] ref P L0: 45.6% 16.0% 20.4% 17.6%  0.5%
[libx264 @ 0x23ec680] kb/s:12613.66

If the input's pixel format cannot be applied to the output, ffmpeg will auto insert a scaler to perform the conversion. 如果无法将输入的像素格式应用于输出,则ffmpeg将自动插入缩放器以执行转换。

Running the command with loglevel 40 or above will show presence of these auto-inserted filters. 在日志级别40或更高级别上运行命令将显示这些自动插入的过滤器的存在。

[graph 0 input from stream 0:0 @ 0000000002bffb40] w:320 h:240 pixfmt:rgb24 tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[auto_scaler_0 @ 0000000002bb7f20] w:iw h:ih flags:'bicubic' interl:0
[format @ 0000000002bfe940] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[auto_scaler_0 @ 0000000002bb7f20] w:320 h:240 fmt:rgb24 sar:1/1 -> w:320 h:240 fmt:yuv444p sar:1/1 flags:0x4

Similar holds for audio eg auto-resampler may be added. 音频的类似保留,例如可以添加自动重采样。

All filters are documented in the official FFmpeg documentation: http://ffmpeg.org/ffmpeg-filters.html FFmpeg官方文档中记录了所有过滤器: http : //ffmpeg.org/ffmpeg-filters.html

As far as I know, no filters are applied by default. 据我所知,默认情况下不应用任何过滤器。

I also don't see any significant difference between the images you've posted. 我也看不到您发布的图像之间有任何显着差异。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM