我想使用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>
标签)它与原始宽高比和新宽度不是我想要的。无论如何,我都想要一个相同大小的视频。
我有什么遗失的吗?
答案 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