Ввод метаданных видео 360 с помощью ffmpeg
Я работаю над библиотекой, которая вводит/вставляет/записывает метаданные в файл .mp4, чтобы видео правильно отображалось в виде видео 360. Входной файл представляет собой стандартный файл .mp4 в равноугольном формате, в который мне нужно ввести соответствующие метаданные, чтобы он отображался в виде видео 360. Я знаю, что существуют такие инструменты, как инструмент пространственных медиа Google , но, если возможно, я хотел бы сделать это с помощью ffmpeg.
Это то, что я уже пробовал, но это не делает работа:
ffmpeg -i input.mp4 -movflags use_metadata_tags -metadata Spherical=true -metadata Stitched=true -metadata ProjectionType=equirectangular -metadata StitchingSoftware=StreetviewJourney -codec copy output.mp4
Я пробовал много его вариантов, таких как добавление GSpherical:
и xmp:
в тег метаданных.
Метаданные, введенные инструментом пространственных медиа, выглядят так, и это то, чего я пытаюсь достичь:
<?xml version="1.0"?><rdf:SphericalVideo
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:GSpherical="http://ns.google.com/videos/1.0/spherical/"><GSpherical:Spherical>true</GSpherical:Spherical><GSpherical:Stitched>true</GSpherical:Stitched><GSpherical:StitchingSoftware>Spherical Metadata Tool</GSpherical:StitchingSoftware><GSpherical:ProjectionType>equirectangular</GSpherical:ProjectionType></rdf:SphericalVideo>
Редактировать 1
Когда я извлекаю метаданные с помощью ffmpeg, они содержат сферический тег в журналах, но не при выводе его в файл ffmetadata. Это была команда, которую я использовал: ffmpeg -i injected.mp4 -map_metadata -1 -f ffmetadata data.txt
Это выходные данные журнала:
fps, 60 tbr, 15360 tbn, 120 tbc (default)
Metadata:
handler_name : VideoHandler
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
Редактировать 2
Я также попытался получить метаданные с помощью этой команды: ffprobe -v error -select_streams v:0 -show_streams -of default=noprint_wrappers=1 injected.mp4
Это были журналы, которые он выводил:
TAG:handler_name=VideoHandler
side_data_type=Spherical Mapping
projection=equirectangular
yaw=0
pitch=0
roll=0
Затем я попытался использовать эту команду, но она не сработала: ffmpeg -i chapmanspeak.mp4 -movflags use_metadata_tags -metadata side_metadata_type="Spherical Mapping" -metadata projection=equirectangular -metadata yaw=0 -metadata pitch=0 -metadata roll=0 -codec copy output.mp4