8 video ffmpeg transcoding 360-video
我有多个 360 度视频,正在尝试在 ffmpeg 中连接。命令本身非常简单:
ffmpeg -f concat -i 0036_concat.txt -c copy -strict unofficial 36.mp4
Run Code Online (Sandbox Code Playgroud)
其中0036_concat.txt只是单个文件的列表。我遇到的问题是我无法让 ffmpeg 保留辅助数据。非常简单地说,ffprobe任何源文件都包含以下内容:
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
Run Code Online (Sandbox Code Playgroud)
而且我一生都无法将其传播到输出文件。
这个问题有一个适用于单个文件的解决方案,但在连接多个文件时不起作用。
如果有人知道如何注入整个字符串,我会非常好。
显然ffmpeg不支持这一点。许多人建议为 FFmpeg 开发自己的扩展,但我发现它太过分了。
相反,我已经成功地使用google spatialmedia将辅助数据添加到 FFmpeg 连接产生的输出视频中来完成此操作。这很简单
python spatialmedia -i 36.mp4 equirectangular.mp4
Run Code Online (Sandbox Code Playgroud)
您可以从其官方存储库获取spatialmedia 。下载最新版本,解压后就可以直接运行上面的命令了。
如果没有,则需要先安装python。
这就是你所需要的。
下面我在本地添加了一个带有您自己的视频的示例。
我下载了您的示例文件,并创建了以下文件列表
运行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,这时候就可以成功看到预期的端数据了。
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |