RESOLVIDO [Ajuda] VLC não toca VCD (e arquivo DAT não pode ser copiado para o HD) - Extraindo conteúdo de VCD (protegido) para o HD com o VLC - Pode servir para DVD

Ganhei um VCD antigo que o VLC não consegue tocar o disco ou abrir o arquivo .dat (arquivo de vídeo do VCD).

Quando tento copiar o arquivo .dat para o HD, recebo a mensagem de erro:

Screenshot from 2024-08-19 11-40-22

O erro ocorre apenas ao tentar copiar o arquivo .dat . Todos os outros arquivos podem ser copiados normalmente. Pensei que poderia ser um problema no VCD, então tentei copiar o mesmo arquivo .dat do segundo VCD (são dois VCDs de um álbum duplo) e encontrei o mesmo erro. Suspeito que seja alguma trava digital no VCD.

Quando tento rodar o VCD recebo a seguinte mensagem de erro:

image

E é registrado no arquivo de log do VLC:

-- logger module started --
main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
filesystem error: read error: Input/output error
cache_read error: cannot pre fill buffer
mjpeg error: cannot peek
-- logger module stopped --

Já pesquisei em outros Fóruns e testei algumas soluções sem resultado:

  1. log - Where is the VLC logfile for errors? - Ask Ubuntu
  2. https://www.linuxquestions.org/questions/linux-software-2/how-can-i-play-a-vcd-on-linux-4175726436/
  3. (Solved) How can I watch the movie on a VCD? - Linux Mint Forums
  4. 11.04 - Playing VCDs on Ubuntu - Ask Ubuntu
  5. [SOLVED] VLC is unable to open the MRL

A solução mais indicada que encontrei foi instalar o pacote:

sudo apt-get install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg

Outra solução indicada, além da anterior, foi trocar o arquivo youtube.luac do VLC como descrito na referência 5 (urls indicadas acima).

Enfim, não funcionou. Ainda estou buscando uma solução.

Me parece que o disco está com risco/defeito. Tente extrair a imagem inteira dele e veja se dá I/O Error (Input/Output Erro ou em bom português Erro de Entrada e Saída).

dd if=/dev/sr0 of=arquivo.raw bs=1M

Perceba que o dispositivo de cd pode ser outro além de /dev/sr0, vc precisa descobrir qual é.

Faça isso com outra janela monitorando o log sudo journalctl -f e ver se aparece I/O error lá.

Caso não apareça erro e a cópia termine sem problemas, monte o arquivo que vc extraiu em uma pasta por loopback

mkdir disco
mount -t iso9660 -o loop arquivo.raw disco

Acesse o diretório disco que vc criou e tente rodar o vídeo.

Se mesmo assim continua dando erro tanto na extração quanto ao tentar rodar o arquivo da pasta montada, eu diria que há alguma proteção no disco para ele só rodar nos leitores de dvd, daqueles que tem que ligar na TV.

3 curtidas

Grato @Deleterium pela ajuda.

Rodei o comando:

$ dd if=/dev/sr0 of=arquivo.raw bs=1M

e obtive o erro:

dd: error reading '/dev/sr0': Input/output error
1+1 records in
1+1 records out
1228800 bytes (1,2 MB, 1,2 MiB) copied, 4,50267 s, 273 kB/s

No log do journalctl -f gerou o erro:

ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=2s
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] 
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Add. Sense: Illegal mode for this track
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 58 00 00 01 00 00 00
ago 19 12:49:04 localhost kernel: I/O error, dev sr0, sector 2400 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
ago 19 12:49:04 localhost kernel: Buffer I/O error on dev sr0, logical block 600, async page read
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] 
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Add. Sense: Illegal mode for this track
ago 19 12:49:04 localhost kernel: sr 2:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 59 00 00 01 00 00 00
ago 19 12:49:04 localhost kernel: I/O error, dev sr0, sector 2404 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
ago 19 12:49:04 localhost kernel: Buffer I/O error on dev sr0, logical block 601, async page read
ago 19 12:49:04 localhost tracker-miner-fs-3[18033]: (tracker-extract-3:18033): GLib-GIO-WARNING **: 12:49:04.926: Error creating IO channel for /proc/self/mountinfo: Invalid argument (g-io-error-quark, 13)
ago 19 12:49:05 localhost tracker-miner-fs-3[18033]: (tracker-extract-3:18033): Tracker-WARNING **: 12:49:05.096: Task for 'file:///home/shaba/Desktop/arquivo.raw' finished with error: Could not open: /home/shaba/Desktop/arquivo.raw: The file contains data of an unknown image type
ago 19 12:49:06 localhost kernel: sr 2:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=1s
ago 19 12:49:06 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] 
ago 19 12:49:06 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Add. Sense: Illegal mode for this track
ago 19 12:49:06 localhost kernel: sr 2:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 58 00 00 02 00 00 00
ago 19 12:49:06 localhost kernel: I/O error, dev sr0, sector 2400 op 0x0:(READ) flags 0x0 phys_seg 2 prio class 0
ago 19 12:49:06 localhost kernel: Buffer I/O error on dev sr0, logical block 600, async page read
ago 19 12:49:06 localhost kernel: Buffer I/O error on dev sr0, logical block 601, async page read
ago 19 12:49:07 localhost kernel: sr 2:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
ago 19 12:49:07 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] 
ago 19 12:49:07 localhost kernel: sr 2:0:0:0: [sr0] tag#0 Add. Sense: Illegal mode for this track
ago 19 12:49:07 localhost kernel: sr 2:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 58 00 00 02 00 00 00
ago 19 12:49:07 localhost kernel: I/O error, dev sr0, sector 2400 op 0x0:(READ) flags 0x0 phys_seg 2 prio class 0
ago 19 12:49:07 localhost kernel: Buffer I/O error on dev sr0, logical block 600, async page read
ago 19 12:49:07 localhost kernel: Buffer I/O error on dev sr0, logical block 601, async page read
ago 19 12:49:07 localhost tracker-miner-fs-3[18033]: (tracker-extract-3:18033): Tracker-WARNING **: 12:49:07.319: Task for 'file:///home/shaba/Desktop/arquivo.raw' finished with error: Could not open: /home/shaba/Desktop/arquivo.raw: The file contains data of an unknown image type

Acho que pode ser alguma trava digital. Estranho, pois a instalação e configuração do pacote libdvd-pkg (que baixa e configura o libdvdcss) deveria resolver isso. Enfim, tentarei encontrar algum DVD player de TV para testar o disco (acho que essa será a parte mais difícil) enquanto busco alguma solução.

Instalei o MPlayer e tentei rodar o VCD diretamente pela opção de “VCD > Play” no menu e está tocando apenas o áudio e a janela de vídeo desaparece. Sendo assim, o arquivo .dat está acessível de alguma forma.

Quando tento abrir o arquivo .dat diretamente com o MPlayer, o aplicativo fica eternamente tentando ler o arquivo e praticamente congela. Encontro um resultado similar quando tento abrir o arquivo .dat diretamente com o HandBrake.

Depois que instalei o MPlayer, o VLC começou a tocar o VCD quando clico em “Media > Open Disk… > SVCD/VCD > Play”.

Isso reforça a minha suspeita de haver alguma trava digital no VCD. Parece que ao instalar o MPlayer, o VLC começou a funcionar. Talvez algum arquivo complementar compartilhado tenha sido instalado ou alguma configuração ativada.

Em relação ao tocar o VCD, o problema foi resolvido.

Meu próximo passo foi tentar extrair o conteúdo do VCD para o HD e convertê-lo para algum arquivo de vídeo popular livremente reproduzível.

No VLC, cliquei em “Media > Convert/Save… > Disc > Convert/Save” e depois em “Dump in raw input > Start” (definir o “Destination file:”) e funcionou, a extração começou a acontecer. Depois de um breve tempo o processo foi concluído.

Missão cumprida. Agora é só converter o conteúdo raw (arquivo .dat copiado para o HD) em algum arquivo de vídeo popular livremente reproduzível.

Espero que esse tópico possar ajudar outras pessoas no futuro.

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.