我尝试在ffmpeg中连接多个360度视频。它本身的命令非常简单:
ffmpeg -f concat -i 0036_concat.txt -c copy -strict unofficial 36.mp4
其中0036_concat.txt
只是单个文件的列表。我遇到的问题是我无法让ffmpeg保留边数据。简而言之,ffprobe
在任何源文件上都包含以下内容:
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
在我的一生中,我无法将其传播到输出文件。
this question有一个适用于单个文件的解决方案,但是当连接多个文件时不起作用。
如果有人知道如何注入整个字符串,我会很好。
答案 0 :(得分:1)
显然ffmpeg
不支持。许多人建议为FFmpeg开发您自己的扩展程序,但是我发现它过大了。
相反,我已经成功完成了,使用google spatialmedia
将辅助数据添加到FFmpeg连接产生的输出视频中。就像
python spatialmedia -i 36.mp4 equirectangular.mp4
您可以从其official repo中获得空间媒体。下载the latest release,解压缩后,您将可以直接运行上述命令。
如果您没有它,则需要先安装python。
这就是您所需要的。
下面我用自己的视频在本地添加一个示例。
我下载了您的sample file,并创建了以下文件列表
运行ffprobe GS020101.mp4
,我们可以看到Side data: spherical: equirectangular (0.000000/0.000000/0.000000)
在其中
运行ffmpeg -f concat -i 0036_concat.txt -c copy -strict unofficial output.mp4
按预期运行ffprobe output.mp4
,没有边数据
运行python spatialmedia -i output.mp4 equirectangular.mp4
运行ffprobe equirectangulat.mp4
,这次您可以成功查看预期的辅助数据。