【发布时间】:2018-11-14 00:10:40
【问题描述】:
我正在为机器学习项目编译图像数据集,收集数千张相关图像的最简单方法是从视频中提取帧。
但是,为了节省时间,并且由于带宽较慢,如果我可以下载视频片段并以这种方式处理它们,那将是最有效的。
我可以通过
在命令行上轻松完成此操作curl "url" -o "path/to/outputfile.mp4" -r "startbyte-endbyte"
我通常可以通过
将视频文件拆分为单独的 jpeg 图像ffmpeg -i "path/to/video_file.mp4" "path/to/output/image%06d.jpg"
但是,我遇到的问题是ffmpeg在我给它一个视频片段时不喜欢它,并给出以下错误
Invalid data found when processing input
此外,尝试使用工具 Untrunc 会出现以下错误
Failed to parse atoms in truncated file
我正在寻找能够处理这些文件片段的任何方法。从技术上讲,我可以访问整个文件,并且可以根据需要下载其中的任何部分(即开始时的元数据?),我只是想避免下载整个文件。
我应该往哪个方向走?我对视频文件的工作原理一无所知,但如果需要,我愿意亲自动手。
总而言之,我需要随机选择一个视频片段以进行处理(即提取帧)。
【问题讨论】: