用于归档和转换的 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 之前的研究,那是我获得这些设置的地方,但它在音频设置上没有显示。
已编辑:我的优先事项(按重要性排序)是:
- 兼容性
- 无损(不必是 100% 无损,因此 crf 为 17 而不是 0)
- 文件大小
大多数输入文件都是这样说的:
[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。
我有几百个 *.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 之前的研究,那是我获得这些设置的地方,但它在音频设置上没有显示。
已编辑:我的优先事项(按重要性排序)是:
- 兼容性
- 无损(不必是 100% 无损,因此 crf 为 17 而不是 0)
- 文件大小
大多数输入文件都是这样说的:
[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。