2010-11-28 32 views
2

Je me demande si c'est un problème avec les appareils iOS ou seulement avec l'iPad (je n'avais en fait qu'un iPad sur lequel jouer). Si j'écris un lien HTML lié à un MP4 sur un serveur (sur HTTP), l'iPad le lance dans Safari mais ne reconnaît pas qu'il s'agit d'un MP4 et ne sert qu'une page blanche.Problèmes de lecture iPad MP4

J'ai jeté un oeil sur d'autres appareils, tels que Android par exemple, et cela déclenche le lecteur multimédia et les flux correctement.

Existe-t-il un moyen spécifique de le lire dans le lecteur multimédia par défaut sur iPad/iOS?

Répondre

1

Le problème est plus que probable les caractéristiques de codage particulières de la MP4. H264 et MPEG-4 ont charges de petites options et des paramètres tweakable. Les appareils iOS sont assez spécifiques sur ce qu'ils font et ce qu'ils n'aiment pas. (Pour être juste, ce n'est pas un problème spécifique aux appareils iOS.)

Jetez un oeil à encoding recommendations de Brightcove et de réencoder vos médias. Cet échec, et en supposant que vous avez installé FFmpeg, afficher les résultats de ffmpeg -i problemfile.mp4 et commenter ci-dessous afin que je puisse jeter un coup d'oeil.

+0

C'est exactement ce que c'était, putain de stagiaires! –

1

Je rencontre un problème très similaire avec l'iPad en jouant un fichier mp4, qui en fait a été codé par Brightcove.

La vidéo ne démarre pas dans une balise vidéo html5 en utilisant l'iPad, alors qu'elle fonctionne parfaitement dans Chrome, Safari et IE9.

Vous pouvez saisir la vidéo ici: http://tinyurl.com/796c5ub et c'est la sortie de $ffmpeg -i video1.mp4:

ffmpeg version 0.7.1, Copyright (c) 2000-2011 the FFmpeg developers 
    built on Jul 31 2011 18:31:40 with clang 2.1 (tags/Apple/clang-163.7.1) 
    configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --enable-nonfree --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-indevs --cc=/Developer/usr/bin/clang --arch=x86_64 
    libavutil 50. 43. 0/50. 43. 0 
    libavcodec 52.122. 0/52.122. 0 
    libavformat 52.110. 0/52.110. 0 
    libavdevice 52. 5. 0/52. 5. 0 
    libavfilter 1. 80. 0/1. 80. 0 
    libswscale 0. 14. 1/0. 14. 1 
    libpostproc 51. 2. 0/51. 2. 0 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video1.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    creation_time : 2011-12-06 08:00:00 
    encoder   : Lavf53.17.0 
    Duration: 00:00:45.60, start: 0.000000, bitrate: 1818 kb/s 
    Stream #0.0(eng): Video: h264 (High), yuv420p, 1280x852, 1687 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc 
    Metadata: 
     creation_time : 2011-12-06 08:00:00 
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 128 kb/s 
    Metadata: 
     creation_time : 2011-12-06 08:00:00 
At least one output file must be specified 
+0

Vérifiez votre codec, et si possible, ré-encoder. –

0

trouvé cela tout à la recherche d'une solution pour les problèmes MP4 audio connexes iOS: Certains de mes fichiers MP4 audio seraient commencer à jouer, mais à un certain point dans le fichier, la lecture sur iOS serait suspendue, tandis que les joueurs non-iOS ont joué les mêmes fichiers MP4 sans faille jusqu'à la fin.

MP4 est un format conteneur. A déclaré contenir également des flux non audio/non vidéo et des en-têtes de métadonnées décrivant l'audio/vidéo. iOS semble ne pas aimer certains types de flux et si certains en-têtes sont à des positions inattendues dans le fichier. Mp4box et ffmpeg peuvent corriger ces en-têtes et supprimer les flux indésirables.

Je ne bidouillé avec mp4box, qui me l'a fait pour de régler les problèmes audio:

mp4box -single 1 input.mp4 -out outputfixed.mp4

Le "1" est le nombre de flux contenant les données audio mon cas (peut varier, mp4box peut également lister les flux contenus). Plus tard, j'ai trouvé que l'outil GUI "MP4tag", qui est principalement destiné à éditer des balises, a une fonction de menu appelée "MP4 optimiser" qui est censé être capable de résoudre le même problème. Mp4box devrait également être capable de réparer les combinaisons vid + audio, en récupérant plus d'un flux à partir du fichier d'entrée.