Animation 抑制动画两侧的黑色边距

Animation 抑制动画两侧的黑色边距,animation,ffmpeg,Animation,Ffmpeg,我需要从一组jpeg图像中制作一个动画。显示器给出的图像大小为1200x900。我可以通过convert控制jpg图像的大小,但不确定好的大小是多少。我使用以下ffmpeg调用: ffmpeg -f image2 -i img%04d.jpg -r 24 sound.avi 尽管有一连串的警告,比如 Past duration 0.879997 too large 生成sound.avi,但动画包含黑色的左右边距(请参见第一帧的附加屏幕截图) 我需要抑制。我的印象是,4x3格式的jpg图

我需要从一组jpeg图像中制作一个动画。显示器给出的图像大小为1200x900。我可以通过convert控制jpg图像的大小,但不确定好的大小是多少。我使用以下ffmpeg调用:

ffmpeg -f image2 -i img%04d.jpg -r 24  sound.avi
尽管有一连串的警告,比如

Past duration 0.879997 too large
生成sound.avi,但动画包含黑色的左右边距(请参见第一帧的附加屏幕截图)

我需要抑制。我的印象是,4x3格式的jpg图像是标准的?我用鼠标查看动画

mplayer sound.avi
操作系统是Debian buster

进一步的实验表明,如果jpg文件的纵横比为16:9,则黑边将消失。这是唯一可能的AR吗

产量

ffmpeg -f image2 -i img%04d.jpg -vf cropdetect -vframes 5 -f null
@Gyan的请求是

ffmpeg version 3.4.2-2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Debian 7.3.0-15)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --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-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Trailing options were found on the commandline.
Input #0, image2, from 'img%04d.jpg':
  Duration: 00:00:00.40, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1200x900 [SAR 150:150 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc

请随问题提供相关代码片段。jpg图像可以具有任意宽度和高度,因此不能保证4:3的显示纵横比。您的jpg文件在图像中有黑色的边距吗?如果您在全屏播放视频,mplayer将自动添加黑色区域以适合您的屏幕,即使它们不在视频中。@LordNeckbeard谢谢您的回答。jpg图像没有黑色边距。为了展示它们的外观,我添加了动画第一帧的屏幕截图。有一件事可以帮助您理解动画文件的大小是如何确定的。@AndrewL除了ffmpeg和mplayer命令外,真的没有什么可添加的,或者我缺少smthg了吗?创建的原始图像是否允许您重新导出到所需的宽度和高度?如果没有,那么我可以提供一个
ffmpeg
命令,该命令将输出16:9而不会扭曲图像。了解显示器的大小会很有帮助。