Eu tenho um vídeo de 360 ° e quero deslocá-lo para o lado usando o ffmpeg para que o ponto de visão padrão ao abrir o vídeo em um player seja alterado. Eu encontrei esta pergunta ( Como compensar um vídeo horizontalmente no ffmpeg? ) que me ajudou a obter o deslocamento feito, mas quando eu uso essa abordagem para mudar o vídeo, os dados secundários do vídeo (contendo as informações que estão no formato equirectangular) desapareceram.
Esta é a parte relevante de usar ffprobe
no meu arquivo de entrada:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:05.01, start: 0.000000, bitrate: 57592 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc), 3840x1920 [SAR 1:1 DAR 2:1], 57515 kb/s, 29.95 fps, 29.95 tbr, 29948 tbn, 59.90 tbc (default)
Metadata:
handler_name : VideoHandler
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
Depois, uso o filtro de sobreposição, conforme descrito no link acima, desta forma:
ffmpeg -i test.mp4 -filter_complex "[0:v][0:v]overlay=960:0[bg]; [bg][0:v]overlay=960-W,format=yuvj420p[out]" -map "[out]" -map 0:a -c:v libx264 -crf 0 -c:a copy test_shifted.mp4
Um arquivo resultante não possui os dados do lado equirectangular:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test_shifted.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:05.01, start: 0.000000, bitrate: 245636 kb/s
Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuvj420p(pc), 3840x1920 [SAR 1:1 DAR 2:1], 245758 kb/s, 29.95 fps, 29.95 tbr, 14974 tbn, 59.90 tbc (default)
Metadata:
handler_name : VideoHandler
Analisei essa questão ( link ) e tentou as abordagens mencionadas lá ( keepside
flag, -strict unofficial
) mas a questão em si lida com cópia de fluxo e nada parece funcionar ao usar o filtro no fluxo de vídeo.
Estou usando ffmpeg version 3.4.4-0ubuntu0.18.04.1
. Se alguém puder me ajudar a manter meus metadados que seriam muito apreciados!