合并的大视频文件中的 Backblaze 视频持续时间问题
Backblaze video duration issue in the merged large video file
我有一个大约 100 Mb 的视频文件,我将它分成 3 个部分,每个部分 35Mb、35Mb、30Mb。
我完成的步骤,
- 我调用了 start_large_file 并获得了文件 ID。
- 已使用 upload_part 成功上传所有视频部分,并提供了文件 ID、part_number、sha1、内容长度和 input_stream。
- 最后调用了 finish_large_file API 所有部分的 fileId 和 sha1 数组。 API 响应成功,动作等于上传。
现在,当我点击合并文件时 URL 视频时长与第 1 部分相同,但大小等于 100Mb。
所以问题在于合并的视频持续时间。视频时长应等于所有部分的总和。
使用 FFmpeg 拆分视频文件会生成多个较短的视频,每个视频都有自己的 header,其中包含视频的长度以及其他元数据。当各部分重新组合时,播放器将查看文件开头的 header 以获取视频长度。它不知道第一部分之后还有其他内容。
如果您使用 Linux 或 Mac,您可以使用 split
命令,如下所示:
split -b 35M my_video.mp4 video_parts_
这将产生三个输出文件:
video_parts_aa - 35MB
video_parts_ab - 35MB
video_parts_ac - 30MB
这些是您应该上传的文件(按顺序!)。当它们重新组合时,结果将与原始文件相同。
在 Windows 上执行此操作的最简单方法似乎是通过 Cygwin.
获取 split
命令
我有一个大约 100 Mb 的视频文件,我将它分成 3 个部分,每个部分 35Mb、35Mb、30Mb。 我完成的步骤,
- 我调用了 start_large_file 并获得了文件 ID。
- 已使用 upload_part 成功上传所有视频部分,并提供了文件 ID、part_number、sha1、内容长度和 input_stream。
- 最后调用了 finish_large_file API 所有部分的 fileId 和 sha1 数组。 API 响应成功,动作等于上传。
现在,当我点击合并文件时 URL 视频时长与第 1 部分相同,但大小等于 100Mb。 所以问题在于合并的视频持续时间。视频时长应等于所有部分的总和。
使用 FFmpeg 拆分视频文件会生成多个较短的视频,每个视频都有自己的 header,其中包含视频的长度以及其他元数据。当各部分重新组合时,播放器将查看文件开头的 header 以获取视频长度。它不知道第一部分之后还有其他内容。
如果您使用 Linux 或 Mac,您可以使用 split
命令,如下所示:
split -b 35M my_video.mp4 video_parts_
这将产生三个输出文件:
video_parts_aa - 35MB
video_parts_ab - 35MB
video_parts_ac - 30MB
这些是您应该上传的文件(按顺序!)。当它们重新组合时,结果将与原始文件相同。
在 Windows 上执行此操作的最简单方法似乎是通过 Cygwin.
获取split
命令