我有一个具有以下属性的mkv视频(通过mediainfo获得):
Width : 718 pixels
Height : 432 pixels
Display aspect ratio : 2.35:1
Original display aspect ratio : 2.35:1
我想在特定时间对其进行截图:
ffmpeg -ss 4212 -i filename.mkv -frames:v 1 -q:v 2 out.jpg
这将产生718x432 jpg图像,但是长宽比不正确(图像“水平”压缩)。 AFAIK,输出图像应为1015 * 432(宽度=高度* DAR)。这种计算正确吗?
是否有一种方法可以使ffmpeg输出的所有视频的尺寸/ AR正确(即没有“硬编码”值)?我尝试使用setdar / setsar过滤器没有成功。
出于好奇,尝试使用ffmpeg获取SAR和DAR会产生:
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, smpte170m/smpte170m/bt709, progressive),
718x432 [SAR 64:45 DAR 2872:1215], SAR 155:109 DAR 55645:23544, 24.99 fps, 24.99 tbr, 1k tbn, 49.98 tbc (default)
2872/1215是2.363,因此该值与mediainfo报告的值略有不同。有人知道为什么吗?
答案 0 :(得分:1)
不查看文件就无法诊断读数不同的原因,但是获得正方形像素结果的通用方法是
ffmpeg -ss 4212 -i filename.mkv -vf scale=iw*sar:ih -frames:v 1 -q:v 2 out.jpg
答案 1 :(得分:0)
ffmpeg -ss 4212 -i filename.mkv -vf scale='trunc(ih*dar):ih',setsar=1/1 \
-frames:v 1 -q:v 2 out.jpg
确保最终的分辨率是均匀的(某些编解码器要求)