如何将视频文件与音频文件合并并保持创建时间?

Posted

技术标签:

【中文标题】如何将视频文件与音频文件合并并保持创建时间?【英文标题】:How to merge video file with audio file and maintain creation time? 【发布时间】:2020-05-07 11:37:04 【问题描述】:

我对 youtube-dl 进行了优化,最终下载了一个 youtube-dl 无法合并生成的音频和视频的视频。经过一番调查,我发现我的 ffmpeg 配置存在问题。

通常,如果你真的在修复 ffmpeg 后第二次运行 youtube-dl,它会自动为你合并文件。但正如命运所愿,online 视频已被删除,所以 youtube-dl 吓坏了。

幸运的是 ffmpeg 本身 也可以合并音频和视频文件,但是失去了 youtube-dl 实现的一个非常好的功能,即保持文件的创建时间(即创建而不是下载或发布时间) .

有没有办法合并音频和视频文件保留创建/上次修改日期?

【问题讨论】:

【参考方案1】:

这是我自己在 Mac OS 上的解决方案(应该适用于任何 UNIX),部分改编自 https://superuser.com/a/277667/776444:

我确信有一种方法可以只使用 FFMPEG,但我最终使用了 touch

ffmpeg -i originalVideo.mp4 -i originalAudio.mp4 -c:v copy -c:a aac combined.mp4

touch -r originalVideo.mp4 combined.mp4 

使用这些,我能够将 combined.mp4 的文件创建时间更改为 2020 年 4 月 28 日,以匹配 originalVideo.mp4

【讨论】:

我假设您的意思是 MP4 文件中可选的 creation_time 元数据。 我认为我的 ffmpeg 至少配置为在复制时自动执行此操作。

以上是关于如何将视频文件与音频文件合并并保持创建时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 c# 将两个音频文件和一个视频文件合并到一个视频文件中?

在 Flutter 中将音频文件与视频文件合并

从中间或特定时间将视频合并到音频文件

使用颤振如何将音频文件与任何视频(如相机动作)的同步合并,颤振中有任何特定的包可用

iOS - 将两个视频合并为一个带音频的视频文件

Android ffmpeg 无法将音频(.wav 文件)与视频(.mp4 文件)合并