Como faço para converter arquivos WTV (e DVR-MS) em um formato padrão menor?

7

O disco rígido externo do meu HTPC está quase cheio e por isso vou precisar converter um grande número de filmes gravados da televisão (no formato WTV) em algo menor. Actualmente, um filme de 2 horas tem cerca de 3-4 GB.

Eu tentei converter o arquivo WTV para DVR-MS (usando o construído em wtvconverter.exe ) e, em seguida, executá-lo através do handbrakecli com a seguinte linha de comando:

handbrakecli.exe --input "film.dvr-ms" --output "film.mp4" --encoder x264 --quality 20

No Handbrake, isso seria definindo a saída para MP4, o codificador para x264 e a qualidade para 20.

O problema é que o MP4 resultante é entre 1,5 e 2GB que, embora menor do que o arquivo original, ainda parece insano para um filme SD de 2 horas de duração gravado (um PAL)! Eu esperaria algo assim para ser 700-800MB, se não menos.

Definir a qualidade para 19 degrada a imagem ao ponto de ser inatingível.

Alguém pode recomendar configurações para Handbrake (ou handbrakecli), que irá converter um arquivo DVR-MS em um tamanho muito menor?

(Não sou particularmente valioso sobre o codec ou o contêiner, mas prefiro algo razoavelmente padrão para garantir que ele possa ser assistido em um grande número de computadores e dispositivos móveis)

UPDATE

Provavelmente não está claro, mas se você sabe apenas quais são as configurações para converter um arquivo usando a versão gráfica do Handbrake, então essa é uma resposta perfeitamente boa!

    
por Richard 19.12.2011 / 14:07

3 respostas

8

Please note: When this answer was written (July 2012), ffmpeg couldn't convert WTV files without loss of audio. However testing on ffmpeg 4.0.0 has shown that it now works fine and, as a result, there is no need to use wtvconverter.exe to pre-convert the WTV file to DVR-MS. As such:

ffmpeg -i "input.wtv" -y -filter:v yadif -vcodec libx264 -crf 23 "output.mp4"

should convert your television recording.

Resposta original abaixo

Depois de algumas pesquisas, descobrimos que:

  1. O Handbrake não é a melhor ferramenta para isso, você deve usar o ffmpeg .
  2. Ao usar o ffmpeg, você precisa usar o formato DVR-MS (e não o formato WTV) como o arquivo de origem, caso contrário, você não terá nenhum som.

Você precisa executar alguns passos, primeiro convertendo do WTV para o DVR-MS:

%WINDIR%\ehome\wtvconverter.exe "Recorded TV Show.wtv" "Recorded TV Show.dvr-ms"

Em seguida, converta o arquivo DVR-MS em H.264 / MPEG-4 AVC. Você pode alterar -crf 23 - números mais altos significam qualidade inferior, valores de 19 a 25:

ffmpeg -i "Recorded TV Show.dvr-ms" -y -filter:v yadif -vcodec libx264 -crf 23 "Recorded TV Show.mp4"

Em seguida, excluindo o arquivo DVR-MS temporário:

del /F "Recorded TV Show.dvr-ms"

Uma vez convertido, o VLC fornecerá os seguintes detalhes sobre "Recorded TV Show.mp4":

O arquivo que eu converti agora é de 530MB (abaixo de 1.59GB) por 1 hora e 50 minutos de conteúdo SD. Isso significa que é aproximadamente 1/3 do tamanho do arquivo WTV original.

    
por 14.07.2012 / 21:31
2

Consegui que o ffmpeg fizesse o truque, mas demorou um pouco para encontrar os switches que funcionavam. Não tenho certeza se essas são ótimas, e a conversão demora muito mais, MAS está limpa, toca em todos os lugares que eu tentei, e o áudio está correto e em sincronia.

ffmpeg -y -threads 8 -i pbsvideofile.wtv -target pal-dvd -deinterlace -async 48000  pbsvideofile.mpg 
    
por 19.01.2013 / 20:37
1

Com base na resposta de @ suken, consegui fazer uma conversão em lote. Com a versão do ffmpeg que eu usei na época, ele funcionava diretamente de .wtv para .mp4.

gci 'D:\Recorded TV\*' -include('*lola*','*buzzcocks*') | % {
    $file = $_.Name
    .\ffmpeg -i $_ -vcodec copy -acodec copy -f dvd -deinterlace -map_metadata 0 "D:\Media\TV\$file.mp4"
}

Acima:

  • 'D: \ Tv gravada' é o local de origem
  • 'D: \ Media \ TV' é o local de destino
  • A filtragem está sendo feita para incluir apenas os shows com "lola" e "buzzcocks" no nome do arquivo (você pode remover isso se quiser)

O comando tenta transferir os metadados (por exemplo, mostrar título e descrição), mas parece não ter aparecido no arquivo de destino. Você poderia tentar WTV-MetaRenamer primeiro.

    
por 18.08.2015 / 04:20