ffmpeg - ffmpeg中的像素纵横比无效

标签 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> 标签)它具有原始纵横比和新宽度,这不是我想要的。无论如何,我都想要一个相同大小的压缩视频。

有什么我想念的吗?

最佳答案

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

所以改为使用

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

关于ffmpeg - ffmpeg中的像素纵横比无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064494/

相关文章:

php - 在 PHP 7.0.6 上安装 FFMPEG - Xampp

bash - FFmpeg 和 bash,使用保存路径将多个文件转码到另一个驱动器

audio - .yuv测试视频序列的音频源是否可用?

node.js - 给定特定大小时,node-fluent-ffmpeg 无法正确调整视频大小

java - 将图像放在视频上方并将视频保存在android中

replace - 以编程方式更改 aepx 文件中的文本

带有凭据的 FFMPEG RTMP 流式传输到 WOWZA 服务器

ffmpeg - 从视频文件中提取 vanc 数据/帧 hexdump

android - MediaController/VideoView 无法在某些手机上播放 mp4

video - 加密 HLS 文件有什么意义?