私は最近、Sony DCR-DVD201Eポータブルビデオカメラでビデオを録画するために使用されている古い両面ミニDVD-RWディスク(2.8GB)を発見しました。両側にはすでにコンテンツがありますが、まだ確認されていないため、Ubuntu 22.04ボックスにインストールできません。
私はカメラを続けてそれらを仕上げました。片側はうまくいきます。しかし、もう一つはそうではありません。これで、ディスクにほぼ完全なデータ(1.4 GBのうち〜1.3 GB)が表示されますが、ファイルシステムに問題があるようです。マイコンピュータとマイコンピュータのファイルまたはフォルダの両方が完全に空です。カメラ。
ディスクは次のとおりです。いいえ不良ブロックが含まれており、読み取りエラーは発生しません。したがって、私たちはメディアエラーやハードウェア関連の問題について話しているわけではありません。
同じカメラで作成され、完了した別のディスク(このディスクの反対側を含む)を見ると、ファイルシステムに次の内容が含まれているはずです。
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
には、データ/ファイル/フォルダがゼロとして表示されます。
以下を使用してコンテンツを抽出しました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ファイルの1つを再エンコードしようとしましたが、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
私は同様の状況にあります。古いソニーのビデオカメラの未完成のミニDVDから.VOBファイルをコピーしました。私はdd
次のコマンドを使ってこれをしました。指示する。
ddrescue
。 (私の意見ではより簡単なオプション)を使用して同じプロセスを実行できます。
したがって、タイムスタンプやその他のメタデータなしでVLCを介してのみ作成できる.VOBもあります。
ffmpegは.VOBを.MP4形式に変換したり、誤った入力データに対して文句を言う他の形式を変換したりすることはできません。
その後、VLC自体がコーデックH264とH265を使用して.VOBを.MP4に変換できることがわかりました。
私はビデオ/オーディオ変換やコーデック/フォーマットの専門家ではありませんが、問題は解決しました。