2017-07-28 1 views
2

J'ai un logiciel analyseur MP4 qui obtient une vidéo .mp4 fragmentée, analyse les en-têtes MOOV et les fragments et les flux. J'ai généré un fichier .mp4 moi-même en utilisant FFMPEG et MP4Box/bento4, mais le logiciel a des problèmes de traitement.en-têtes de fragments de moof MP4

ffmpeg -i input.mp4 -g 25 -c:v libx264 -c:a copy out1.mp4 

mp4fragment out1.mp4 --fragment-duration 1000 --track 'video' output.mp4 

Utilisation du logiciel MP4 Explorer, j'ai remarqué dans mon dossier .mp4 généré, pour tous moof.traf.trun, la durée de l'échantillon est réglé sur , mais dans la zone piste Fragment tête, il définit le default_sample_duration à 512. Alors que dans l'autre .mp4 fichier qui fonctionne très bien, il n'y a pas de champ default_sample_duration, mais chaque échantillon individuel a une durée de taille 512. On dirait que cela pourrait causer le problème. La figure de droite montre le MP4 de travail, et celle de gauche est mon MP4 généré.

Est-ce une mise à jour dans les versions plus récentes de FFMPEG (ou MP4Box ou bento4)? Existe-t-il des moyens de forcer la définition de la durée de l'échantillon dans les échantillons?

My .mp4 file

The working .mp4 file

enter image description here

+0

Cela ressemble à un problème 'mp4box', car il crée les boîtes' MOOF'. Partagez votre commande mp4box. – Mulvya

+0

Etes-vous sûr que l'indicateur 0x000100 sample-duration-present est réellement défini? - Peut être votre spectateur peut par défaut à zéro. –

+0

@MarkusSchumann oui c'est ce à quoi je pensais. Probablement il n'y a pas de champ que le logiciel de traitement 'fautes de segmentation'. Savez-vous comment je peux vérifier cela? – Ariana

Répondre

1
  1. analyser le TFHB
  2. extraire le default_sample_duration
  3. utiliser le default_sample_duration au lieu de la durée d'absence de TRUN