问题描述:

I'm creating a video from a stream with the help of FFMPEG and I also use FFPROBE to gather information for use on a status page like resolution, codecs et cetera.

When FFProbe parses my video for information, I get a resolution value of 544x576 (almost a square!), but an aspect ratio of 16:9.

These values are consistent on both the input stream and my saved video.

When I watch the video in the standard HTML5 Player, VLC or FFPLAY however, I get a video with the proportions of 16:9 and a resolution (measured using an image editing program) of 1024x576 that does look native and not stretched in any way.

Even if I re-encode the video using slightly different codecs, this incorrect resolution value persists, even though every player I use displays it correctly.

This is slightly inconvenient because I am relying on getting the correct resolution value from the video for further processing.

I'm also using a recent FFMPEG+FFPROBE version that was compiled on the 15th of July.

Is this a bug within FFMPEG or is there anything I'm doing wrong?

Used command lines:

FFMPEG:

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

FFPROBE (I parse the output of this directly and save the values):

ffprobe -i source -show_format -show_streams

FFProbe output:

width=544

height=576

coded_width=544

coded_height=576

has_b_frames=2

sample_aspect_ratio=32:17

display_aspect_ratio=16:9

I can see that the sample aspect ratio is different from the display aspect ratio, but how come the video looks proper in 16:9 when it's supposedly encoded at a near square resolution?

相关阅读:
Top