【问题标题】:Can this be done in Handbrake or FFMPEG这可以在 Handbrake 或 FFMPEG 中完成吗
【发布时间】:2025-11-27 07:40:02
【问题描述】:

只是想知道这可以在 Handbrake 或 FFMPEG 中完成。 Windows 或 MacOS 中的任何其他转码软件也可以接受。

我有很多家庭视频,都是用数码单反相机/运动相机/手机拍摄的。 而且这些文件真的很大,没有转码。 有我想要的东西,

  1. 应全部捕获元数据。使用 Handbrake 将无法捕获使用设备的信息。还有,抓拍日期会变成转码日期,绝对不能接受。

  2. 我想将它们转码为 HEVC (H.265)

  3. 视频很多,需要批量转码。

如果可能(不是必需的),我还希望将文件名设为“YYYYMMDD_HHMMSS”。

我认为 1 和 3 都是非常常见的问题。 该线程对于所有正在寻找相同答案的人也将非常有用。 非常感谢!

【问题讨论】:

  • 这读起来像是产品规格,而不是问题。您究竟需要什么帮助?
  • 我在问它在 Handbrake 或 ffmpeg 中是否可行...这不是一个问题吗?

标签: ffmpeg hevc h.265 transcode handbrake


【解决方案1】:

我会说不。

传统上,视频中的元数据处理相当糟糕 - 与静止图像不同。我有一个类似的问题,可能最终会推出自己的问题。我假设您想使用具有多种不同元数据样式的 MP4 或 MOV:MP4、QuickTime、iTunes 样式、3gpp、嵌入式 ID3(类似于 MP3)等。 由于视频元数据的写入支持做得很差 - 视频元数据的读取也是如此。您可以在文件中写入多个样式 - 希望不理解它的工具会忽略未知的元数据。

到目前为止,我将转码为 MOV/H.265 并使用 Apple 风格的元数据,以便它在我的 iPhone/iPad/AppleTV 和 Mac 上正常工作。

不幸的是 - 有时答案是没有答案,但我很想被证明是错误的。

【讨论】:

  • 嗨,Markus,非常感谢您的回复...只是想知道,Apple 风格的元数据是什么,您通常是如何做到的?手动?
  • Takin,我将封闭文件夹命名为 YYYY-MM-DD,例如 。 2017-12-25,纽约,圣诞节,约翰,简。您可以尝试类似:andrew-jones.com/blog/…
【解决方案2】:

tl;dr - 观看视频讲解器:

https://youtu.be/ZiGeVvNGn9c

我想出了两种不同的方法来使用ffmpeg 对一个包含视频文件的文件夹进行批量转码。据我所知,ffmpeg 将复制所有元数据而不进行修改。

纯 Python 方式

https://github.com/nuket/Shrinkr#shrinkr-batch-transcode-python-edition

SCons 方式

https://github.com/nuket/Shrinkr#shrinkr-batch-transcode-scons-edition

一个使用纯 Python,另一个使用 SCons 构建脚本。视频转码在概念上类似于编译软件,所以我试了一下。

这两种方式都可以让您重复运行批处理并且不会重复工作,除非源文件发生更改,否则已经转码的文件不会再次执行。

在这两种方法中,我更喜欢 SCons 方法,因为它利用 SCons 构建系统来检查输入/输出文件的更改。 SCons 的一个缺点是,由于某种原因,它需要一段时间才能开始运行,但一旦它弄清楚它需要做什么,它就会快速执行所有 ffmpeg 调用。

要开始,您只需:

  1. pip3 install scons
  2. git checkout https://github.com/nuket/Shrinkr
  3. ShrinkrArchive 复制到包含所有视频的文件夹中。 (根据需要重命名文件。)
  4. 编辑this line 以设置所需的ffmpeg 参数。
  5. 编辑this line 以收集您想要的所有文件(即*.mp4*.mkv)。
  6. 在该文件夹中打开命令行提示符。
  7. 运行scons -f ShrinkrArchive

您需要在系统PATH 的某个位置提供ffmpeg 的副本,当然,还需要Python 3.x 的工作副本。

否则,它很容易使用。我一直在使用它将截屏视频转码为更高压缩的版本,然后将它们踢出冷存储并节省 66 - 75% 的文件大小。 (屏幕截图通常是低熵的。)

@Takin - 根据您的要求:

如果可能(不是必需的),我也想拥有 文件名为“YYYYMMDD_HHMMSS”。

您也可以在 ShrinkrArchive 文件(它只是一个 SCons 构建脚本)中执行此操作,您必须将文件 stat 调用添加到文件名发射器并更改 this line,这决定了什么调用输出文件。

不过,这是一个留给读者的练习。 ?

无论如何,希望这对需要对一堆文件进行转码并且不想使用 GUI 进行转码的任何人有所帮助。

如果有人有任何问题,请随时在此处或 GitHub 上打开一个新主题。

【讨论】:

    最近更新 更多