Comment sortie fragmenté mp4 avec ffmpeg?
ffmpeg -i infile.avi out.mp4
sorties non fragmentée, MP4.
Comment puis-je obtenir fragmenté mp4?
Mise à jour
La fragmentation du fichier mp4 est intérieurement divisés en plusieurs dos-à-dos de morceaux ou MPEG-4 movie fragments. Chaque morceau a sa propre moof de l'atome il y a donc plusieurs moof atoms entrelacés dans le fichier au lieu d'un seul moov à la fin, comme dans le cas d'une non fragmenté mp4. Cela rend plus facile de diffuser sur les réseaux lents où la mise en mémoire tampon est impliqué
Il existe plusieurs outils comme mp4box qui permet de convertir un normal mp4 pour une fragmenté. Malheureusement nous ne pouvons pas utiliser quelque chose comme ceci
ffmpeg <options to output mp4> | mp4box
depuis ffmpeg ne produisent pas adressable de sortie tandis que la production de conteneurs mp4.
- Vous voudrez peut-être ajouter quelques informations sur ce qu'est un "fragmenté" mp4 " est de faire de ce problème plus accessible aux personnes qui pourraient connaître ffmpeg, mais n'est pas fragmenté mp4s.
- Bon point! J'ai édité ma question
- avez-vous résoudre ce problème sans l'aide de mp3box? pouvez-vous partager la solution? merci
Vous devez vous connecter pour publier un commentaire.
Cela devrait faire l'affaire:
frag_keyframe
causes fragmenté de sortie,empty_moov
sera la cause de la sortie à 100% fragmentés; sans cela, le premier fragment sera multiplexé comme un court-métrage (à l'aide demoov
), suivi par le reste des médias dans les fragments,-re
est utile lorsque en streaming live (sortie sur les médias bitrate), ne l'utilisez pas si vous êtes la création d'un fichier,-g 52
forces (au moins) tous les 52e cadre à une image-cléPour calculer une saine image-clé de l'intervalle, veuillez consulter les paragraphes sur fragment de tailles dans les docs de mon serveur de streaming. - Vous pouvez également envisager l'utilisation de WebM qui est une alternative libre à H. 264 (et a un meilleur soutien sur certaines plates-formes de fragmentée mp4).
Remarque importante: FFMpeg multiplexeur sera de définir la Durée dans les deux
tkhd
etmdhd
atomes à 0xffffffff pour chaque piste. Cela pose des problèmes à certains joueurs (par exemple Quicktime pas lire de tels fichiers). Vous devriez trouver un outil et de le modifier à zéro (0x00000000).Warning: ffmpeg: this formula has no --with-libvo-aacenc option so it will be ignored!
Mise à JOUR: compte tenu de la fragmentation du MP4 ISMV (Smooth Streaming) fichier. La nouvelle version de FFMPEG 0.10, depuis le mois de janvier, 27, 2012 est capable de multiplexer à ce format.
ffmpeg -h
(mais pas la page de man) est la suivante:Je ne sais pas comment identifier un fragmentée mp4 si j'en voit un, mais il semble que ffmpeg a quelques (très mal documenté) de l'aide pour eux.
mp4box -info file
indique si le MP4 est fragmenté.Peut-être cela aidera. Dans l'exemple ci-dessous, ffmpeg prend une COPIE d'un flux RTMP, puis en utilisant ffmpeg, il crée un HTTP sortie en fMP4 qui peut être accepté par IIS ou Azure points d'entrée.
Remarque: le codeur est fixé l'animer avec un intervalle de 2 secondes.