2010-07-19 29 views
10

Estoy tratando de configurar una página simplemente móvil para un cliente con un enlace a un archivo de video .mp4. Lke modo:iPhone "no se puede reproducir" .mp4 archivo de video H.264

<a href="My_Video_File.mp4" target="_blank">Watch MP4 Video</a> 

Y entonces he obviamente, obtuve mi archivo de vídeo de origen correctamente y el .mp4 tiene las siguientes características:

Dimension: 480 * 272 
Codecs: AAC, H.264, MPEG-4 SDSM, MPEG-4 ODSM 
Channel Count: 2 
Total Bitrate: 991 
Size: 11.4MB 

Pero, el problema es cuando hago clic en el enlace de iPhone dice "La película no se puede jugar". y no me dice por qué.

¿Algún ayuda?

Gracias de antemano.

+0

has intentado copiar el archivo a tu iphone a través de iTunes y ver si se reproduce de esa manera? – Alan

+1

Y ... qué pasa cuando prueba la etiqueta de video HTML5: http://www.w3schools.com/html5/tag_video.asp – Alan

Respuesta

20

Me di cuenta de esto, finalmente.

El problema era parcialmente que ver con la codificación pero más que ver con las dimensiones.

Descubrí que si su archivo .mp4 tiene una dimensión mayor que 640 * 360, entonces el iPhone (iPad, iPod) ni siquiera le dará al usuario la opción de intentar reproducirlo. Acaban de sacar el ícono del botón X'd out play.

Además, estos dispositivos sólo el apoyo de .mp4 que están codificadas con el perfil básico de H.264, o que no se pueden reproducir.

Además, hay un límite de velocidad de bits de 1,5 Mb para el iPhone, pero se recomienda mantener la tasa de bits por debajo de 900kb.

Si la calidad es una preocupación menor que el tamaño, puede utilizar m4v del de mayores dimensiones, pero creo que todavía se aplican las reglas de tasa de bits.

Espero que esto ayude a alguien más.

+4

El límite de velocidad de bits para el iPhone es en realidad de 2500kbps. El video del iPod tenía el límite de 1500kbps. El iPhone 4 y iPad (ambas generaciones) y más nuevos pueden reproducir hasta 720p, Perfil principal a casi cualquier velocidad de bits. – Chealion

8

me encontré con un problema similar y mi suposición era que codifican. Probé el preajuste "iPhone" con Adobe Premiere CS4 (Adobe Media Encoder) sin suerte.

ejecución a través de ffmpeg con la siguiente hizo el truco:

ffmpeg -i INPUT -s 320x240 -r 30000/1001 -b 200k -bt 240k -vcodec libx264 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -maxrate 10M -bufsize 10M -acodec libfaac -ac 2 -ar 48000 -ab 192k OUTPUT.mp4

me encontré con los anteriores (y muchas otras configuraciones) aquí: http://rodrigopolo.com/ffmpeg/cheats.html (I corregido algunos errores en su "iPod-iPhone ancho de 640, sin presset "[sic].)

Otra búsqueda probablemente arroje más información sobre los requisitos de codificación (h.264 base 3.0) y los requisitos de tamaño para que la película se reproduzca en el iPhone.

La referencia oficial de Apple sobre el tema: http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html

4

Se necesita el vídeo h254 a ser progresiva no inferior. Elija el preajuste H.264 y cambie el video de menor a progresivo.

0

Me encontré con una situación similar con el video que estaba generando. Funcionaría bien en mi máquina local, o a través de un navegador que sea compatible con .mp4; sin embargo, cuando intenté verlo en mi iPhone, invariablemente aparecería el botón de reproducción tachado. Después de leer ffmpeg docs traté de usar lo siguiente y funcionó muy bien en mi iPhone, así como en los otros dispositivos que he podido probar.

ffmpeg -i input.mkv -c:v libx264 -crf 28 -preset veryslow -tune fastdecode \ 
    -profile:v baseline -level 3.0 -movflags +faststart -c:a libfdk_aac -ac 2 \ 
    -ar 44100 -ab 64k -threads 0 -f mp4 output.mp4 

El vídeo que estoy tratando es de 1280x720 a 30 fps, y la opción que finalmente se consiguió poner en funcionamiento era

-profile:v baseline -level 3.0 

Espero que esto ayude.

+0

No funciona para mí, ¿tiene alguna actualización para las versiones más recientes de FFMPEG? – ammcom

1

esto lo hizo por mí:

ffmpeg -an -i movie.mp4 -vcodec libx264 -codec:a libmp3lame -qscale:a 1 -pix_fmt yuv420p -profile:v baseline -level 3 output.mp4

que utiliza el codec mp3 aquí. ¡Esto solucionó mi problema iPhone mp4! ¡Gracias a Thismatters!

Cuestiones relacionadas