Je suis en train de transcoder 360 Vidéo en utilisant ffmpeg (pour jouer sur les engins VR, pour l'instant), principalement pour réduire le débit (ce qui est une exigence). Mais le fichier de sortie semble supprimer les "données secondaires" qui ont les métadonnées vidéo 360.préservation Side informations données pour 360 vidéo en utilisant FFmpeg
fichier d'entrée résultat ffprobe (note de la section de données latérale):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2016-10-28T10:41:42.000000Z
Duration: 00:02:09.56, start: 0.000000, bitrate: 20116 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1/0x31637661), yuv420p(tv, bt709), 2560x1280, 19797 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
Metadata:
creation_time : 2016-10-28T10:41:42.000000Z
handler_name : Alias Data Handler
encoder : AVC Coding
Side data:
spherical: equirectangular (0.000000/0.000000/0.000000)
Stream #0:1(eng): Audio: aac (LC) (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
Metadata:
creation_time : 2016-10-28T10:41:42.000000Z
handler_name : Alias Data Handler
Les commandes ont essayé de transcoder (valeurs de débit et de présélection ne sont que pour les tests):
ffmpeg -i <input_file_name> -vf scale=2560x1280,setdar=16:9 -r 30 -c:v libx264 -b:v 500k -pix_fmt yuv420p -preset ultrafast -c:a aac -b:a 192K -map_metadata 0:s:v:0 -write_id3v2 1 -y test.mp4
ffmpeg -i <input_file_name> -vf scale=2560x1280,setdar=16:9 -r 30 -c:v libx264 -b:v 500k -pix_fmt yuv420p -preset ultrafast -c:a aac -b:a 192K -map_metadata 0:s -y test.mp4
ffmpeg -i <input_file_name> -vf scale=2560x1280,setdar=16:9 -r 30 -c:v libx264 -b:v 500k -pix_fmt yuv420p -preset ultrafast -c:a aac -b:a 192K -map_metadata 0 -y test.mp4
ffmpeg -i <input_file_name> -vf scale=2560x1280,setdar=16:9 -r 30 -c:v libx264 -b:v 500k -pix_fmt yuv420p -preset ultrafast -c:a aac -b:a 192K -y test.mp4
Dans chaque cas, la ffprobe test.mp4 semble montrer la section "Side Data" manquante:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2016-10-28T10:41:42.000000Z
encoder : Lavf57.71.100
Duration: 00:02:09.57, start: 0.000000, bitrate: 708 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1/0x31637661), yuv420p, 2560x1280 [SAR 8:9 DAR 16:9], 507 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
creation_time : 2016-10-28T10:41:42.000000Z
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 193 kb/s (default)
Metadata:
creation_time : 2016-10-28T10:41:42.000000Z
handler_name : SoundHandler
Toute aide ou des conseils pour obtenir ffmpeg pour préserver les données secondaires seraient appréciés
Est-ce que '-fflags keepside' fonctionne comme indicateur d'entrée ou de sortie? – Mulvya
@Mulvya merci, je l'ai essayé maintenant comme drapeau d'entrée et de sortie mais la ffprobe de la sortie est toujours la même (sans la section Données latérales). 'ffmpeg -fflags keepside -i .....' et 'ffmpeg -i input.mp4 -vf ..... -fflags keepside -y test.mp4' – Icareus
@ jeffcook2150 Avez-vous un court exemple de fichier d'entrée que vous peut partager? – LordNeckbeard