2017-10-30 2 views
0

비디오 파일에 대한 고유 ID를 얻으려면 파일 크기가 다르지만 다른 내용으로 처리해야 함 (다른 파일로 처리해야 함)빠른 방법은 다음을 처리 할 수있는 내가 비디오 파일에 대한 고유 한 해시를 필요

md5, sha1과 같은 해싱 알고리즘이 좋은 후보로 여겨지지만, 제작하는 데 몇 초의 시간이 걸립니다.
2GB 비디오 파일에서 md5 체크섬 값을 생성하는 데 5 초가 걸립니다.
큰 비디오 파일을 읽어야하기 때문에 긴 처리 시간이 자연 스럽다고 가정합니다.

특별히 비디오 파일의 속성을 사용하는 뭔가를 사용할 수 있습니까, 아마도 비디오 파일 헤더 나 다른 것을 사용하여 비교할 수 있습니다. 목표는 초 단위의 고유 한 비디오 ID를 얻는 것입니다.

답변

0

첫 번째 방법으로, 처음 10MB에서 crc32를 더한 파일 크기로 만들 것을 고려할 것입니다. 이 방법으로 충돌이 발생하고이를 처리해야하지만 모든 해싱 알고리즘에는 충돌이 있습니다.

UPDATE

은 또한 당신은 비디오 헤더를 얻고 그들로부터 MD5를 계산하기 위해 (ffmpeg와 함께 제공) 유틸리티 ffprobe를 사용할 수 있습니다. 그러나이를 프로세스로 실행하는 것은 느려질 것이고 가져올 파이썬 라이브러리로 존재하지 않는 것 같습니다.

+0

오른쪽. 귀하의 제안에 감사드립니다. 이것에 대해 생각해 보았습니다. 그러나 비디오 헤더가 여기에 도움이 될 수 있다는 점을 감안할 때 좀 더 우아한 것을 찾고 있습니다. 따라서 더 높은 확률로 충돌을 피하십시오. 비디오 파일 헤더는 반드시 비디오 파일의 시작 부분에 위치하지는 않습니다. – vishal

관련 문제