1

我在使用最新版本的 ffmpeg (2.1) 纵向录制视频时遇到问题。这在以前的版本中运行良好,但我需要最新版本来解决不同的问题。

我正在尝试拍摄任何通过的视频,并将其设为 852 宽 x 480 高。在转换宽然后高的视频时它工作正常,但是当视频高然后宽时它会破坏视频。它实际上在顶部和底部添加了一个信箱,而不是左右。此外,元数据将其显示为正确的高度和宽度,但在 Windows 中播放时它是错误的。

这是我正在使用的参数。

ffmpeg -i INPUT -s 852x480 -r 30 -aspect 1.775 -b:v 2000000 -vcodec mpeg4 -vf "scale=iw*min(852/iw\,480 /ih):ih*min(852/iw\,480 /ih),pad=852:480 :(852-iw)/2:(480 -ih)/2" -ac 2 -b:a 128k -ar 44100 -y OUTPUT

控制台输出 ffmpeg -i INPUT -r 30 -b:v 2000000 -vcodec mpeg4 -vf "scale=852:480" -ac 2 -b:a 128k -ar 44100 -y OUTPUT

C:\Lib>ffmpeg -i "d\ca96cd13-2995-4794-b753-22be3b918659.mov" -r 30 -b:v 2000000 -vcodec mpeg4 -vf "
scale=852:480" -ac 2 -b:a 128k -ar 44100 -y "d\portx.mp4"
ffmpeg version N-58015-g8cdf4e0 Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov 10 2013 18:04:45 with gcc 4.8.2 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32thread
s --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-icon
v --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-
libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr -
-enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enab
le-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 52.100 / 52. 52.100
  libavcodec     55. 41.100 / 55. 41.100
  libavformat    55. 21.100 / 55. 21.100
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.102 /  3. 90.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd\ca96cd13-2995-4794-b753-22be3b918659.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2013-11-12 15:02:21
    model           : iPhone 5
    model-eng       : iPhone 5
    encoder         : 7.0.2
    encoder-eng     : 7.0.2
    date            : 2013-11-12T10:02:21-0500
    date-eng        : 2013-11-12T10:02:21-0500
    make            : Apple
    make-eng        : Apple
  Duration: 00:00:15.48, start: 0.000000, bitrate: 780 kb/s
    Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 480x360, 7
05 kb/s, 29.98 fps, 30 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2013-11-12 15:02:21
      handler_name    : Core Media Data Handler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 62 kb/s (default)
    Metadata:
      creation_time   : 2013-11-12 15:02:21
      handler_name    : Core Media Data Handler
Output #0, mp4, to 'd\portx.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    make-eng        : Apple
    model           : iPhone 5
    model-eng       : iPhone 5
    make            : Apple
    encoder-eng     : 7.0.2
    date            : 2013-11-12T10:02:21-0500
    date-eng        : 2013-11-12T10:02:21-0500
    encoder         : Lavf55.21.100
    Stream #0:0(und): Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 852x480, q=2-31, 2000 kb/s, 15360
 tbn, 30 tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2013-11-12 15:02:21
      handler_name    : Core Media Data Handler
    Stream #0:1(und): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128
 kb/s (default)
    Metadata:
      creation_time   : 2013-11-12 15:02:21
      handler_name    : Core Media Data Handler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Press [q] to stop, [?] for help
frame=  465 fps=417 q=3.8 Lsize=    4118kB time=00:00:15.52 bitrate=2173.3kbits/s
video:3860kB audio:243kB subtitle:0 global headers:0kB muxing overhead 0.348231%
4

1 回答 1

1

尝试这个:

ffmpeg -i input -filter:v "scale='w=min(720,trunc((480*33/40*dar)/2+0.5)*2):h=min(480,trunc((704*40/33/dar)/2+0.5)*2)',pad='w=720:h=480:x=(ow-iw)/2:y=(oh-ih)/2',setsar='r=40/33'" -target ntsc-dvd output

于 2015-03-13T06:29:29.983 回答