Video X265.MKV编码结果与VLC比较
是否可以打开VLC media player的两个实例,一个显示源视频文件,另一个显示编码的手刹结果。然后从每个播放器中提取帧,遍历每个像素值,求绝对差的和,最后除以帧高乘以宽度的和 差不多Video X265.MKV编码结果与VLC比较,video,vlc,hevc,handbrake,Video,Vlc,Hevc,Handbrake,是否可以打开VLC media player的两个实例,一个显示源视频文件,另一个显示编码的手刹结果。然后从每个播放器中提取帧,遍历每个像素值,求绝对差的和,最后除以帧高乘以宽度的和 差不多 v1 = new VLC("filename1.mkv"); v2 = new VLC("filename2.mkv"); long long F = 0; double S = 0; /* initialize the media players here to begin getting frames
v1 = new VLC("filename1.mkv");
v2 = new VLC("filename2.mkv");
long long F = 0;
double S = 0;
/* initialize the media players here to begin getting frames */
while (v1.HasNextFrame() && v2.HasNextFrame()) {
img1 = v1.getFrame();
img2 = v2.getFrame();
int H = img2.getHeight();
int W = img2.getWidth();
int D = 0;
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
D += Math.Abs(img1[i][j].pixelValue - img2[i][j].pixelValue);
}
}
if (S == 0) {
S = (D / (H * W) );
} else {
S = (S + (D / (H * W) ) / 2);
}
v1.getNextFrame();
v2.getNextFrame();
F++;
}
v1=新VLC(“filename1.mkv”);
v2=新VLC(“filename2.mkv”);
长F=0;
双S=0;
/*在此初始化媒体播放器以开始获取帧*/
而(v1.HasNextFrame()&&v2.HasNextFrame()){
img1=v1.getFrame();
img2=v2.getFrame();
int H=img2.getHeight();
int W=img2.getWidth();
int D=0;
对于(int i=0;i
最后,
S
应该有一个值,表示两个视频文件之间所有像素的平均差值。对吗?您是否试图定义一个评估编码质量的指标?您听说过PSNR、SSIM等吗?使用ffmpeg将您的文件转换为YCbCr 4:2:0,然后使用PSNR、SSIM等进行比较(wikipedia是您的朋友)