将原始I420视频文件与Python进行比较

时间:2015-07-27 14:44:30

标签: python

我想编写一个程序,告诉你两个给定的420色空原始视频文件是否相同。到目前为止我有这个:

import os
def checkifduplicate(file, file2, width, height):
bytesPerFrame = int(width * height * 12/8)
n1 = int(os.stat(file).st_size / bytesPerFrame)
n2 = int(os.stat(file2).st_size / bytesPerFrame)         
if (n1 != n2):
    return 0
with open (file, "rb") as f1:
    with open(file2, "rb") as f2:
        frameF1 = f1.read(bytesPerFrame)
        frameF2 = f2.read(bytesPerFrame)
        counter = 1
        while frameF1 != b"" and frameF2 != b"" and counter <= n1:
            if (frameF1 != frameF2):
                return 1
            frameF1 = f1.read(bytesPerFrame)
            frameF2 = f2.read(bytesPerFrame)
            counter += 1       
return 2

inputFile1 = "1.raw"
inputFile2 = "2.raw"
n = checkifduplicate(inputFile1,inputFile2,3840,2160)
if (n == 0):
  print ("Files contain different amounts of Frames... Ending")
elif (n == 1):
  print ("Different Frames")
elif (n == 2):
  print ("Identical Stream")
pause = input("Press a Key to End...") 

如果我使用两个不同大小的原始文件,它可以正常工作。 此外,如果我使用相同的原始文件两次它返回2(相同的流) 如果我复制一个原始文件并重命名并使用这两个文件则返回1(不同的框架)

0 个答案:

没有答案