ffmpeg中的像素长宽比无效

时间:2014-09-26 16:50:20

标签: ffmpeg video-processing video-conversion

我想使用ffmpeg将视频缩放到一定大小,但是我收到以下错误:

ffmpeg -i Ad_939.avi -vf scale=1000:64 test_ad.avi       
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Sep 26 2014 10:31:06 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: 
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 48.100 / 55. 48.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.100 /  4. 11.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
Input #0, avi, from 'Ad_939.avi':
  Metadata:
    encoder         : Lavf56.4.101
  Duration: 00:00:20.50, start: 0.000000, bitrate: 75 kb/s
    Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 160x64, 68 kb/s, SAR 32:45 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
[mpeg4 @ 0x2305cc0] Invalid pixel aspect ratio 128/1125, limit is 255/255 reducing
[mpeg4 @ 0x2305cc0] too many threads/slices (5), reducing to 4
Output #0, avi, to 'test_ad.avi':
  Metadata:
    ISFT            : Lavf55.48.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1000x64 [SAR 19:167 DAR 2375:1336], q=2-31, 200 kb/s, SAR 128:1125 DAR 16:9, 24 fps, 24 tbn, 24 tbc
    Metadata:
      encoder         : Lavc55.69.100 mpeg4
Stream mapping:
  Stream #0:0 -> #0:0 (wmv2 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
frame=  228 fps=0.0 q=2.0 size=     222kB time=00:00:09.50 bitrate= 191.6kbits/s
frame=  468 fps=467 q=2.0 size=     435kB time=00:00:19.50 bitrate= 182.8kbits/s
frame=  492 fps=456 q=2.0 Lsize=     458kB time=00:00:20.50 bitrate= 183.1kbits/s    
video:441kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.981523%

我已经阅读过,看起来这是过去bug,但那是3年前。我尝试使用版本2.4.1,2.3.3,2.4.git(从2014年9月16日编译源代码)和N-40951-g1ea7a3e(最新的静态版本)运行此命令,它们都失败了。

编辑:当我说fail时,我的意思是视频无法以正确的分辨率播放。该文件的属性表示它是1000x64但VLC播放(以及我的网站使用<video>标签)它与原始宽高比和新宽度不是我想要的。无论如何,我都想要一个相同大小的视频。

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:1)

似乎我在ffmpeg错误跟踪器中遇到与this伙伴相同的问题。

所以改为使用

ffmpeg -i Ad_939.avi -vf scale=1000:64,setdar=1000/64 test_ad.avi

仍然提供了相同的像素宽高比警告,但却改为:

[mpeg4 @ 0x2004cc0] Invalid pixel aspect ratio 624/625, limit is 255/255 reducing

这对我来说足够接近了。 0.9984基本上是1.0