GUI가 필요하지 않은 비디오 블러 중복 파인더가 있습니까?

GUI가 필요하지 않은 비디오 블러 중복 파인더가 있습니까?

현재 최소한의 변경으로 중복된 동영상을 제거하려고 노력 중입니다. 이는 약간 다른 인코딩, 낮은 해상도 또는 단순히 변경된 메타데이터일 수 있습니다. 이러한 동영상은 복잡한 폴더 구조에 위치하므로 특정 폴더에 중복된 동영상만 삭제할 수 있습니다.

그래서 저는 발견된 중복 항목 목록을 반환하는 Linux용 도구를 찾고 있는데, 그런 다음 간단한 스크립트를 사용하여 직접 처리할 수 있습니다. 이 도구는 서버에서 직접 실행하고 특정 하위 폴더만 자동으로 비교하여 시간을 절약하기를 원하기 때문에 CLI(또는 라이브러리)와 함께 사용해야 합니다(전체 서버가 너무 오래 걸립니다).

지금까지 내가 찾은 유일한 것은두퍼구루그리고비디오 중복 찾기. 불행히도 그들은 모두 GUI 프로그램입니다.

현재 저는 jdupes를 사용하여 모든 바이트 완벽한 복사본을 삭제하고 있습니다. 그러나 이는 변경된 메타데이터나 다른 형식(예: webm, m4v 및 mp4)으로 인해 쉽게 속일 수 있습니다.

그런 도구를 아는 사람이 있나요? 아니면 제가 직접 작성해야 하는 내용인가요?

답변1

간단한 정확한 중복 찾기의 경우 fdupes도구를 사용하는 것을 선호합니다.

자신만의 스크립트를 사용할 수도 있지만 중복에 대한 설명이 신뢰할 수 있는 답변을 제공할 만큼 엄격하지 않습니다. 지금은 패키지 ffprobe에 들어 있는 제품 만 사용하겠습니다 ffmpeg. 이 명령을 살펴보십시오.

 ffprobe  -hide_banner -loglevel quiet -print_format json -sexagesimal -show_format -show_streams YOUR_FILE.mp4

옵션 설명:

  • -hide_banner- 배너를 숨기세요. 파일을 처리하는 데 필요하지 않습니다.
  • -log_level quiet- 다른 메시지도 중요하지 않습니다.
  • -print_format json- JSON 출력 형식을 사용하면 JSON 프로세서를 사용하여 관심 있는 데이터를 쉽게 추출할 수 있습니다.
  • -sexagesimal- 시간 출력 형식HH:MM:SS.MICROSECONDS
  • -show_format- 파일 형식에 대한 추가 정보를 제공합니다.
  • -show_streams- 오디오 및 비디오 스트리밍에 대한 정보 제공

이는 몇 가지 흥미로운 정보를 제공합니다. 먼저 다음을 사용하여 format.duration과 같은 일부 키를 추출할 수 있습니다 jq.

ffprobe  -hide_banner -loglevel quiet -print_format json -sexagesimal -show_format -show_streams YOUR_FILE.mp4 | jq '$.format.duration'

동일한 영화는 지속 시간이 동일해야 합니다.

이를 "기간별 반복 가능" 디렉터리로 그룹화한 후 특정 순간에 특정 프레임의 스크린샷을 찍을 수 있습니다.

ffmpeg -i YOUR_FILE.mp4 -ss 00:00:01.000 -vframes 1 output.png

이렇게 하면 영화의 첫 번째 순간부터 모든 이미지의 스크린샷이 저장됩니다(아마도 저는 여러 개의 타임스탬프를 선호할 것입니다).

그런 다음 최종적으로 이미지 크기를 조정하고 ImageMagick을 사용하여 유사성을 비교하는 문제가 있습니다(https://imagemagick.org/script/compare.php) 또는 기타 유사한 도구

행운을 빌어요!

관련 정보