0

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

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

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

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

  3. 我需要对它们进行批量转码,因为有很多视频。

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

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

4

2 回答 2

0

我会说不。

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

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

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

于 2017-09-06T15:28:36.513 回答
0

tl;博士- 观看视频解释器:

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. 编辑此行以设置所需的ffmpeg参数。
  5. 编辑此行以收集您想要的所有文件(即*.mp4*.mkv)。
  6. 在该文件夹中打开命令行提示符。
  7. 运行scons -f ShrinkrArchive

您需要ffmpeg系统中某处的副本PATH,当然,还需要 Python 3.x 的工作副本。

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

@Takin - 根据您的要求:

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

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

然而,这是一个留给读者的练习。

无论如何,希望这可以帮助任何需要转码一堆文件并且不想使用 GUI 来完成它的人。

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

于 2020-11-06T16:17:30.607 回答