Necesito crear un feed que tenga dos transmisiones: webm y mp4, para que pueda ser compatible con todos los reproductores de video HTML5. La transmisión webm funciona perfectamente. Sin embargo, al intentar acceder a la transmisión mp4, el servidor escupe el siguiente error:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Aquí está la parte del archivo ffserver.conf que se ocupa de la transmisión mp4:
<Stream channel1.mp4> # Output stream URL definition
Feed feed1.ffm # Feed from which to receive video
Format mp4
# Audio settings
AudioCodec libmp3lame
AudioBitRate 64 # Audio bitrate
# Video settings
VideoCodec libx264
VideoSize 560x320 # Video resolution
VideoFrameRate 25 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400 # Video bitrate
</Stream>
Por lo que puedo encontrar, algunas personas dicen que mp4 simplemente no se puede transmitir. No tengo ningún archivo adjunto a mp4, excepto por el hecho de que tenía la impresión de que necesitabas mp4 para transmitir video al iPhone con un reproductor de video HTML5. Si este no es el caso, avíseme y con mucho gusto cambiaré a algo que funcione mejor con la transmisión ffmpeg.
-movflags faststart
o tratarloqt-faststart
, luego apuntar al archivo MP4 en la<video>
etiqueta. Su servidor necesita un módulo de transmisión H.264 para permitir que el cliente busque. ¿O tienes entrada en vivo?Respuestas:
El artículo HTML 5 y video compatible con iPad de su propio sitio web , actualizado por última vez el 12 de noviembre de 2014, tiene esta información:
El artículo recomienda usar MP4 como una buena solución con una versión suficientemente reciente de ffmpeg, usando la codificación H.264 con AAC.
Sugiero leer el artículo con atención a los detalles: contiene un archivo HTML de ejemplo que funcionará en todos los principales navegadores, así como un comando FFmpeg de ejemplo utilizado para convertir videos a archivos .mp4 para que se transmitan correctamente.
fuente
Supongo que será útil pensar en HTTP Live Streaming.
https://developer.apple.com/streaming/
Según tengo entendido, funciona bien en dispositivos iOs.
Aquí hay uno de los ejemplos:
/programming/28723993/ffmpeg-hls-stream-for-android-and-ios
fuente