나는 최근 Sony DCR-DVD201E 휴대용 비디오 카메라로 비디오를 녹화하는 데 사용되는 오래된 양면 미니 DVD-RW 디스크(2.8GB)를 발견했습니다. 양쪽에 이미 콘텐츠가 있지만 아직 확정되지 않았기 때문에 Ubuntu 22.04 상자에 설치할 수 없습니다.
나는 계속해서 카메라를 통해 그것들을 마무리했다. 한쪽은 잘 작동합니다. 그러나 다른 하나는 그렇지 않습니다. 이제 디스크에 거의 전체 데이터(1.4GB 중 ~1.3GB)가 표시되지만 파일 시스템에 문제가 있는 것 같습니다. 내 컴퓨터와 내 컴퓨터의 파일 또는 폴더가 모두 완전히 비어 있습니다. 카메라.
디스크는 다음과 같습니다.아니요불량 블록이 포함되어 있으며 읽기 오류가 발생하지 않습니다. 따라서 우리는 미디어 오류나 하드웨어 관련 문제에 대해 이야기하는 것이 아닙니다.
동일한 카메라로 생성되고 완료된 다른 디스크(이 디스크의 다른 쪽 포함)를 살펴보면 파일 시스템에 다음과 같은 내용이 포함되어야 합니다.
VIDEO_TS/
VIDEO_TS/
VIDEO_TS/VIDEO_TS.BUP
VIDEO_TS/VIDEO_TS.IFO
VIDEO_TS/VIDEO_TS.VOB
VIDEO_TS/VTS_01_0.BUP
VIDEO_TS/VTS_01_0.IFO
VIDEO_TS/VTS_01_1.VOB
:
:
출력은 dvd+rw-mediainfo
다음과 같습니다.
$ dvd+rw-mediainfo /dev/sr0
INQUIRY: [HL-DT-ST][DVDRAM GP57EB40 ][RF01]
GET [CURRENT] CONFIGURATION:
Mounted Media: 13h, DVD-RW Restricted Overwrite
Media ID: TDK502sakuM3
Current Write Speed: 2.0x1385=2770KB/s
Write Speed #0: 2.0x1385=2770KB/s
Speed Descriptor#0: 00/716191 [email protected]=8310KB/s [email protected]=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 716800*2KB=1468006400
READ DVD STRUCTURE[#0h]:
Media Book Type: 32h, DVD-RW book [revision 2]
Last border-out at: 2045*2KB=4188160
READ DISC INFORMATION:
Disc status: complete
Number of Sessions: 1
State of Last Session: complete
Number of Tracks: 1
READ FORMAT CAPACITIES:
formatted: 690544*2048=1414234112
00h(800): 716192*2048=1466761216
10h(10): 716192*2048=1466761216
13h(10): 25648*2048=52527104
15h(10): 716192*2048=1466761216
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Fixed Packet Size: 16*2KB
Track Size: 690544*2KB
FABRICATED TOC:
Track#1 : 14@0
Track#AA : 14@690544
Multi-session Info: #1@0
READ CAPACITY: 690544*2048=1414234112
그러나 디스크가 마운트된 경우 ls
등에 du
는 데이터/파일/폴더가 0으로 표시됩니다.
다음을 사용하여 콘텐츠를 추출했습니다 dd
.
dd bs=2048 skip=0 count=690544 if=/dev/sr0 of=./out.iso
출력 파일은 명령에 의해 다음 file
과 같이 식별됩니다.
out.iso: UDF filesystem data (version 1.5) '2009_06_27_05H54M_PM'
그런 다음 시도했습니다 udfinfo
.
filename=out.iso
label=2009_06_27_05H54M_PM
uuid=00a8784b20202020
lvid=2009_06_27_05H54M_PM
vid=SONY_MOBILE
vsid= SONY_MOBILE_VOLUME_SET
fsid=SONY_MOBILE_FILE_SET
fullvsid=00A8784B SONY_MOBILE_VOLUME_SET
owner=
organization=
contact=
appid=
impid=*SONY_MOBILE
winserialnum=0x709b0f01
blocksize=2048
blocks=690544
usedblocks=690268
freeblocks=0
behindblocks=0
numfiles=0
numdirs=1
udfrev=1.02
udfwriterev=1.02
integrity=closed
accesstype=readonly
softwriteprotect=yes
hardwriteprotect=yes
start=16, blocks=5, type=VRS
start=32, blocks=16, type=MVDS
start=48, blocks=16, type=RVDS
start=64, blocks=1, type=LVID
start=256, blocks=1, type=ANCHOR
start=260, blocks=690268, type=PSPACE
start=690543, blocks=1, type=ANCHOR
설치하고 시도해 보았지만 photorec
여러 개의 작은 mpeg 파일이 생성되었습니다. 그 중 대부분은 재생할 수 없었고 표시되지 않은 더 큰 VOB 파일의 일부일 수 있습니다.
디스크에 VOB 파일이 포함되어 있다는 것을 알고 있으므로 ffmpeg
"정크"를 건너뛰고 유용한 것으로 트랜스코딩할 수 있는 경우를 대비해 시도했지만 실패할 경우:
out.iso: Invalid data found when processing input
Handbrake
VIDEO_TS
해당 파일을 소스로 사용하려고 하면 이전에 보여드린 폴더가 있는 다른 디스크의 디렉터리 구조에서는 제대로 작동하지만 데이터도 인식되지 않습니다.
그런 out.iso
다음 VLC
. 이는 작동합니다. 즉, 비디오 콘텐츠 스트리밍이 시작되지만 몇 가지 문제가 있습니다.
- 타임스탬프/색인이 손상되었기 때문에 동영상 내에서 탐색할 수 없습니다.
- mp4로 변환하면 끊김 현상, 손상된 타임스탬프 등이 포함된 비디오가 생성됩니다.
- 분명히 전체 비디오가 포함되어 있지는 않습니다. 대부분의 경우 카메라는 콘텐츠를 여러 VOB 파일로 분할하여 어느 시점에서 읽기를 중단합니다.
올바른 길이를 초 단위로 확인하고 플레이어를 사용하여 탐색할 수 있도록 길이가 예상보다 짧음에도 불구하고 VLC를 사용하여 생성된 mp4 파일 중 하나를 다시 인코딩하려고 시도했지만 ffmpeg
수정 없이 출력에 다음 오류가 발생했습니다. 최종 출력 파일에:
ffmpeg -fflags +igndts -i vlc-converted.mp4 -vcodec libx264 -acodec aac fixed.mp4
:
[aac @ 0x555e72b0a6c0] Queue input is backward in time
[mp4 @ 0x555e72afe980] Non-monotonous DTS in output stream 0:1; previous: 143927607, current: 143927095; changing to 143927608. This may result in incorrect timestamps in the output file.
[aac @ 0x555e72b0a6c0] Queue input is backward in time
[mp4 @ 0x555e72afe980] Non-monotonous DTS in output stream 0:1; previous: 143933751, current: 143933239; changing to 143933752. This may result in incorrect timestamps in the output file.
:
질문은 다음과 같습니다.
- 데이터를 포함하지만 분명히 적절한 파일 시스템 항목이 없는 UDF 파일 시스템의 파일을 검색할 수 있는 (Linux) 도구를 알고 계십니까?
- UDF 도구가 없는 경우 원래 파일 시스템에서 VOB 파일을 구체적으로 식별하고 "복구"할 수 있는 도구를 알고 계십니까
ddrescue
? ffmpeg
위의 방법 중 어느 것도 작동하지 않으면 VLC가 변환하도록 관리하는 비디오 스트림 부분의 타임스탬프 인덱싱을 최소한 수정할 수 있는 트릭이나 대체 도구를 알고 계십니까 ?
답변1
나는 비슷한 상황에 처해 있습니다. 오래된 Sony 캠코더의 미완성 미니 DVD에서 .VOB 파일을 복사했습니다. 나는 dd
다음 명령을 사용하여 이 작업을 수행했습니다.지시하다.
ddrescue
. (내 의견으로는 더 간단한 옵션) 을 사용하여 동일한 프로세스를 수행할 수 있습니다.
따라서 타임스탬프나 기타 메타데이터 없이 VLC를 통해서만 작성할 수 있는 .VOB도 있습니다.
ffmpeg는 .VOB를 .MP4 형식으로 변환하거나 잘못된 입력 데이터에 대해 불평하는 다른 형식을 변환할 수 없습니다.
나중에 VLC 자체가 코덱 H264 및 H265를 사용하여 .VOB를 .MP4로 변환할 수 있다는 사실을 알게 되었고, VLC가 작동하기 시작했고 다른 미디어 플레이어에서 재생할 수 있었습니다.
저는 비디오/오디오 변환 및 코덱/형식 전문가는 아니지만 문제가 해결되었습니다.