제조업체의 권장 사항에 따라 블랙박스 SD 카드를 다시 포맷하는 스크립트를 작성하려고 합니다. 간단한 Python 스크립트를 사용하여 Windows 시스템에서 이 작업을 수행할 수 있습니다. 다음은 코드 조각입니다.
...
fm = windll.LoadLibrary('fmifs.dll')
FMT_CB_FUNC = WINFUNCTYPE(c_int, c_int, c_int, c_void_p)
FMIFS_UNKNOWN = 0
clustersize = c_int(32768) # 32K cluster size
fm.FormatEx(c_wchar_p(Drive), FMIFS_UNKNOWN, c_wchar_p(Format),
c_wchar_p(Title), True, clustersize, FMT_CB_FUNC(myFmtCallback))
...
따라서 이것은 일부 Windows DLL 및 형식을 사용하고 있으며 작동합니다. 전체 스크립트를 찾을 수 있습니다여기
이제 Ubuntu 시스템에서도 동일한 작업을 수행하고 싶습니다. mkdosfs를 사용하려고 하는데 시스템 호출을 사용하는 경우 명령줄은 다음과 같습니다.
mkdosfs -f 2 -F 32 -s 64 -S 512 /dev/sdb1
이렇게 하면 SD 카드가 포맷되지만 노트북에서 카메라를 분리하고 켜서 녹화를 시작하면 충돌이 발생하는 것 같습니다. 아마도 SD 카드의 예상 파일 시스템이 올바르지 않기 때문일 것입니다.
물론 MS windows와 ubuntu의 경우 예상되는 디렉터리("/DCIM/100MEDIA")를 추가했고 카메라의 타임스탬프가 있는 "time.txt" 파일도 추가했습니다. 시작 시 데이터가 읽혀집니다. 비디오에 타임스탬프로 추가된 내부 시계를 재설정합니다.
제가 사용하고 있는 카메라는 "Roadhawk Bullet Ride"이며 사양에는 클러스터 크기가 32k인 FAT32 파일 시스템만 사용한다고 나와 있습니다. Windows 및 우분투에서 카드를 포맷한 후 dosfdsk에서 얻은 출력을 비교했는데 큰 차이를 볼 수 없습니다. 섹터당 512바이트, 클러스터당 32768바이트, 2 FAT, 32비트를 얻었는지 잘 모르겠습니다. "예약된 섹터"와 같은 숫자와 dosfdsk에서 제공하는 기타 모든 정보가 중요합니다.
제공할 수 있는 도움이나 팁에 감사드립니다.