如何使用Python从INSV格式360度视频中提取帧

问题描述 投票:0回答:1

我有一个用 Insta360 X3 拍摄的 360 度视频,格式为 INSV。我想使用 Python、FFmpeg 或任何其他合适的工具从该视频中提取帧,而不先使用 Insta360 Studio 将视频导出为 MP4。

这是我迄今为止尝试过的:

FFmpeg:我尝试使用 FFmpeg 直接将 INSV 文件转换为图像,但遇到错误,可能是由于 INSV 格式的专有性质。

ffmpeg -i input.insv -vf "select=eq(n,0)" -q:v 3 output.jpg

此命令未按预期工作并产生错误。

Python 库:我研究了各种 Python 库,例如 OpenCV 和 MoviePy,但它们本身并不支持 INSV 格式。

import cv2

cap = cv2.VideoCapture('input.insv')
success, frame = cap.read()
if success:
    cv2.imwrite('output.jpg', frame)

此代码不起作用,因为 OpenCV 无法打开 INSV 文件。

有人可以提供有关如何使用 Python、FFmpeg 或任何其他工具直接从 INSV 格式 360 度视频中提取帧的指导吗?

python video ffmpeg
1个回答
0
投票

与其直接从 .insv 文件捕获帧,不如先使用 Insta360 Studio.insv 导出到 .mp4。获得 .mp4 后,您可以使用 OpenCV 将帧提取为 .jpg 文件,就像之前一样。

此方法可确保您获得正确的全景(360 度)帧。提取帧后,您可以通过上传到此在线全景查看器来测试它们: https://renderstuff.com/tools/360-panorama-web-viewer/

© www.soinside.com 2019 - 2024. All rights reserved.