我在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
FFProbe输出:
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中看起来如何正确?