用于归档和转换的 ffmpeg

ffmpeg for archival and convertibility

我有几百个 *.dv 文件。我想将它们转换为 H.264 或其他格式 ,甚至不理会它们。目的是存档,着眼于最大程度的可转换性,尤其是 DVD。内容是家庭视频。

这样可以吗?

ffmpeg -i input.dv \
    -c:v libx264 -preset slower \
    -crf 17 \
    -pix_fmt yuv420p \
    output.mp4

我选择了 slower 预设,因为编码时间不是问题,而且我想要较小的文件大小。 crf 17 的损失最小,同时可广泛播放。我在某处读到一些 Quicktime 播放器需要 yuv420p。

我应该为 AAC 音频输入 -c:a aac 吗?音频只是语音,不需要音乐厅质量。

我查看了 https://trac.ffmpeg.org/wiki/Encode/H.264 之前的研究,那是我获得这些设置的地方,但它在音频设置上没有显示。

已编辑:我的优先事项(按重要性排序)是:

  1. 兼容性
  2. 无损(不必是 100% 无损,因此 crf 为 17 而不是 0)
  3. 文件大小

大多数输入文件都是这样说的:

[lavf] stream 0: video (dvvideo), -vid 0
[lavf] stream 1: audio (pcm_s16le), -aid 0
VIDEO:  [dvsd]  720x480  0bpp  29.970 fps  25000.0 kbps (3051.8 kbyte/s)
Selected video codec: [ffdv] vfm: ffmpeg (FFmpeg DV)
AUDIO: 32000 Hz, 2 ch, s16le, 1024.0 kbit/100.00% (ratio: 128000->128000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)

ffmpeg 的输出:

Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s

存档格式

出于存档目的,请尽可能保留原始格式。这避免了 generation loss.

数字档案社区中更多具有开源意识的成员正在提倡 Matroska 中的 FFV1 + FLAC,因此您可能在研究中遇到过这种组合。它是一种无损压缩的格式组合,是大型组织的绝佳选择。但是对于个人使用来说,这可能有点矫枉过正,文件会比原始 DV 文件大。

如果存储 space 是优先事项,那么您需要转换为有损格式。

这个[命令]可以吗?

,如果您希望输出为带有 AAC 音频的高质量 H.264。这将被大多数玩家广泛兼容。

唯一的建议是使用 -b:a 192k 稍微增加音频比特率,因为您希望它是半存档的。

如果文件仍然太大,那么:

  • 使用更高的-crf
  • 降低质量
  • 使用更新的(但速度慢得多)编码器,例如 libx265。然而,这将输出可能与您的 player/device/browser 不兼容的 HEVC (H.265) 视频格式。参见 FFmpeg Wiki: HEVC/H.265