尽管玩家渲染正确,FFprobe 仍读取不正确的分辨率值

问题描述 投票:0回答:1

我正在 FFMPEG 的帮助下从流创建视频,我还使用 FFPROBE 收集信息以在状态页面上使用,例如分辨率、编解码器等。

当 FFProbe 解析我的视频以获取信息时,我得到的分辨率值为 544x576(几乎是正方形!),但宽高比为 16:9。

这些值在输入流和我保存的视频上都是一致的。

但是,当我在标准 HTML5 播放器、VLC 或 FFPLAY 中观看视频时,我得到的视频比例为 16:9,分辨率(使用图像编辑程序测量)为 1024x576,看起来确实是原生的,并且没有以任何方式拉伸。方式。

即使我使用稍微不同的编解码器重新编码视频,这个不正确的分辨率值仍然存在,即使我使用的每个播放器都能正确显示它。

这有点不方便,因为我依赖从视频中获取正确的分辨率值进行进一步处理。

我还在使用 7 月 15 日编译的最新 FFMPEG+FFPROBE 版本。

这是 FFMPEG 中的错误还是我做错了什么?

使用的命令行:

FFMPEG:

ffmpeg -i source -loglevel debug -vcodec copy -acodec copy -bsf:a aac_adtstoasc -movflags +faststart -t 360 -y video.mp4

FFPROBE(我直接解析其输出并保存值):

ffprobe -i source -show_format -show_streams 

FF探针输出:

width=544
height=576
coded_width=544
coded_height=576
has_b_frames=2
sample_aspect_ratio=32:17
display_aspect_ratio=16:9

我可以看到样本宽高比与显示宽高比不同,但是当视频据称以接近正方形的分辨率编码时,为什么它在 16:9 下看起来正确?

video ffmpeg aspect-ratio ffprobe
1个回答
0
投票

由于样本宽高比为 32:17,因此显示宽高比为 544(32/17):576 = 1024:576,即 16:9。 样本纵横比和 PAR 含义相同。

© www.soinside.com 2019 - 2024. All rights reserved.