Como recodificar um DVD em um único arquivo?

6

Um layout de arquivo de DVD tem um diretório chamado " VIDEO_TS ", que contém uma variedade de arquivos. Esses arquivos podem incluir vários canais de vídeo e áudio, legendas e estrutura de menus (UI).

Existe um formato que pode conter todos eles, mas em um único arquivo? Esse formato pode fazer isso sem perder a qualidade do vídeo? Que tal reter o menu? Talvez até retendo faixas de legendas e comentários? Como faço isso (comando)?

[ note ] Estes não são requisitos difíceis. Estou apenas procurando por algo que possa lidar com mais do que apenas áudio / vídeo.

    
por Tshepang 06.01.2011 / 15:32

2 respostas

9

A única maneira de fazer tudo o que você pede é extrair uma imagem de disco do DVD e depois reproduzi-la. Qualquer outro processo que não preserve o formato exato do disco provavelmente removerá um ou mais dos recursos que você está procurando, porque o DVD é uma variante muito específica do padrão MPEG-2. Os programas de reprodução de DVD - que você ainda precisa usar para interpretar as informações do menu - geralmente dependem da entrada deles seguindo o padrão de perto.

Existem muitas maneiras de extrair uma imagem de DVD, o suficiente para que valha a pena uma pergunta separada. Uma maneira rápida e suja de fazer isso é pela linha de comando:

$ dd if=/dev/scd0 of=my-movie.iso bs=2048

Obviamente, você deve substituir o nó dev da unidade de DVD correta por scd0 , se não estiver correto em seu sistema.

Alguns players de mídia podem reproduzir arquivos ISO diretamente, como VLC e MPlayer .

Se você quiser usar um player que não pode abrir arquivos ISO, você pode montar uma imagem de disco ISO como um DVD virtual. Isto é indistinguível de um DVD real, da perspectiva do jogador. Eu suponho que você está usando o Linux, onde você usa o dispositivo de loop para isso:

$ mkdir -p $HOME/virtualdvd
$ mount -t iso9660 -o loop my-movie.iso $HOME/virtualdvd

Dependendo das permissões em /dev/loop? , talvez você precise ser root (ou usar sudo ) para fazer a segunda etapa. Alguns Linuxes têm suas permissões configuradas de uma maneira que permite adicionar um usuário ao grupo que pode criar dispositivos de loopback sem ser root.

Tendo feito isso, você aponta seu programa de DVD player para o diretório virtualdvd .

Outros * ixes geralmente têm um mecanismo equivalente ao dispositivo de loop do Linux, que pode funcionar de forma um pouco diferente.

Se você puder desistir da exigência do menu interativo, recomendamos o Handbrake , que fornece um arquivo contendo:

  • O filme , codificado como:

    • Vídeo H.264, MPEG-4 ou MPEG-2

    • Áudio HE-AAC, AAC, AC3 ou MP3

    ... em um Matroska (MKV) ou um MPEG-4 parte 14 (MP4) contentor

  • Legendas , se você quiser

  • Como muitas das faixas de áudio que você quiser. Você pode escolher tirar as que você não quer, como o downmix estéreo e as faixas de idiomas estrangeiros.

  • Marcas de capítulo . Você não terá os menus para guiá-lo até os capítulos, mas o programa do seu player, pelo menos, permitirá que você pule entre as cenas.

Você também pode pedir ao Handbrake para extrair quaisquer "extras" no disco em arquivos separados. Se fosse realmente importante tê-los no mesmo arquivo que o filme, você poderia concatená-los com o arquivo de filme.

O Handbrake tem perfis de dispositivos para limitar automaticamente a taxa de bits, o tamanho do quadro, a complexidade da codificação e para garantir que o arquivo resultante seja reproduzido no dispositivo escolhido.

    
por 06.01.2011 / 20:34
2

Faça check-out do script ripper.sh fornecido com x264 transcode . Do README:

To create an iso from a disk you own, edit DEFAULT_ISO_STORAGE and DEFAULT_DVD_RIPPING_DEVICE in the config and run:

 ripper.sh

O script cuida de 'desbloquear' a unidade, de tal forma que o resultado .iso não inclui nenhuma porcaria de CSS (apenas executar o dd não é suficiente).

Com este método, você obtém um arquivo, retém o menu, todas as faixas e todas as legendas.

    
por 11.01.2011 / 23:33