如何将 WTV(和 DVR-MS)文件转换为更小的标准格式?

如何将 WTV(和 DVR-MS)文件转换为更小的标准格式?

我的 HTPC 上的外置硬盘快满了,所以我需要把从电视上录制的大量电影(WTV 格式)转换成更小的格式。目前,一部 2 小时的电影大约有 3-4GB。

我尝试将 WTV 文件转换为 DVR-MS(使用内置的wtvconverter.exe),然后使用以下命令行通过 handbrakecli 运行它:

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

在 Handbrake 中,这将通过将输出设置为 MP4、将编码器设置为 x264 以及将质量设置为 20 来实现。

问题是,生成的 MP4 大小在 1.5 到 2GB 之间,虽然比原始文件小,但对于从 (PAL) 电视录制的 2 小时长 SD 电影来说,这似乎太疯狂了!我预计这样的文件大小应该在 700-800MB 之间,甚至更小。

将质量设置为 19 会使图像质量降低到无法观看的程度。

有人可以推荐 Handbrake(或 handbrakecli)的设置,可以将 DVR-MS 文件转换为更小的尺寸吗?

(我对编解码器或容器不是特别挑剔,但更喜欢一些合理的标准,以确保它可以在大量的计算机和移动设备上观看)

更新

这可能不清楚,但如果您只知道使用 Handbrake 的图形版本转换文件的设置是什么,那么这是一个非常好的答案!

答案1

请注意:当撰写此答案时(2012 年 7 月),ffmpeg 无法在不丢失音频的情况下转换 WTV 文件。然而,在 ffmpeg 4.0.0 上进行的测试表明它现在运行良好,因此无需使用将wtvconverter.exeWTV 文件预先转换为 DVR-MS。例如:

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

应该转换您的电视录音。

以下是原始答案

经过一些研究,结果表明:

  1. Handbrake 不是最好的工具,你应该使用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 将提供有关“Recorded TV Show.mp4”的以下详细信息:

在此处输入图片描述

我转换的文件现在是 530MB(从 1.59GB 减少),包含 1 小时 50 分钟的 SD 内容。这意味着它大约是原始 WTV 文件大小的 1/3。

答案2

我能够使用 ffmpeg 来完成这个任务,但花了些时间才找到可用的开关。不确定这些开关是否是最佳的,转换时间也更长,但它很干净,在我尝试过的所有地方都可以播放,音频正确且同步。

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

答案3

根据@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首先。

相关内容