7

Внешний жесткий диск моего HTPC почти заполнен, поэтому мне нужно будет преобразовать большое количество фильмов, записанных с телевидения (в формате WTV), во что-то меньшее. В настоящее время двухчасовой фильм занимает около 3-4 ГБ.

Я попытался преобразовать файл WTV в DVR-MS (используя встроенный wtvconverter.exe) и затем запустить его через handbrakecli с помощью следующей командной строки:

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

В ручном тормозе это было бы путем установки выхода на MP4, кодера на x264 и качества на 20.

Проблема заключается в том, что размер результирующего MP4 составляет от 1,5 до 2 ГБ, что, хотя и меньше, чем исходный файл, по-прежнему кажется безумным для двухчасового фильма SD, записанного с телевизора (PAL)! Я бы ожидал, что что-то подобное будет 700-800MB, если не меньше.

Установка качества на 19 ухудшает изображение до такой степени, что его невозможно увидеть.

Кто-нибудь может порекомендовать настройки для Handbrake (или handbrakecli), который преобразует файл DVR-MS в гораздо меньший размер?

(Я не особенно ценю кодек или контейнер, но предпочел бы что-то достаточно стандартное, чтобы его можно было просматривать на большом количестве компьютеров и мобильных устройств)

ОБНОВИТЬ

Это, вероятно, не ясно, но если вы знаете только, каковы настройки для преобразования файла с использованием графической версии Handbrake, то это отличный ответ!

3 ответа3

8

Обратите внимание: когда этот ответ был написан (июль 2012 г.), ffmpeg не мог конвертировать файлы WTV без потери звука. Однако тестирование на ffmpeg 4.0.0 показало, что теперь оно работает нормально и, как следствие, нет необходимости использовать wtvconverter.exe для предварительного преобразования файла WTV в DVR-MS. В качестве таких:

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

следует конвертировать ваши телевизионные записи.

Оригинальный ответ ниже

После некоторых исследований выясняется, что:

  1. Ручной тормоз не лучший инструмент для этого, вы должны использовать вместо этого ffmpeg .
  2. При использовании ffmpeg вам необходимо использовать формат DVR-MS (а не формат WTV) в качестве исходного файла, иначе у вас не будет звука.

Вам необходимо выполнить пару шагов, сначала преобразовав WTV в DVR-MS:

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

Затем конвертируем этот файл DVR-MS в H.264/MPEG-4 AVC. Вы можете изменить -crf 23 - более высокие числа означают более низкое качество, вменяемые значения от 19 до 25:

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

Затем удаляем временный файл DVR-MS:

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

После преобразования VLC предоставит следующую информацию о «Записанном телешоу.mp4»:

Файл, который я конвертировал, теперь имеет размер 530 МБ (вместо 1,59 ГБ) для 1 часа и 50 минут контента SD. Это означает, что он составляет примерно 1/3 размера исходного файла WTV.

2

Я смог заставить ffmpeg сделать свое дело, но потребовалось некоторое время, чтобы найти работающие переключатели. Не уверен, что они оптимальны, и преобразование занимает намного больше времени, НО оно чистое, воспроизводится везде, где я пробовал, и звук правильный и синхронизированный.

ffmpeg -y -threads 8 -i pbsvideofile.wtv -target pal-dvd -deinterlace -async 48000  pbsvideofile.mpg 
1

Основываясь на ответе @ suken, я смог выполнить пакетное преобразование. С версией ffmpeg, которую я использовал в то время, она работала напрямую с .wtv до .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"
}

В приведенном выше:

  • 'D:\Recorded TV' - местоположение источника
  • «D:\Media\TV» - это место назначения
  • Выполняется фильтрация, чтобы включить только шоу с "lola" и "buzzcocks" в имени файла (вы можете убрать это, если хотите)

Команда пытается перенести метаданные поверх (например, показать заголовок и описание), но, похоже, они не попадают в файл назначения. Вместо этого вы могли бы сначала попробовать WTV-MetaRenamer .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .