Preciso criar um feed que tenha dois fluxos - webm e mp4 - para que ele seja compatível com todos os players de vídeo HTML5. O fluxo do webm funciona perfeitamente. No entanto, ao tentar acessar o fluxo mp4, o servidor cospe o seguinte erro:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Aqui está a parte do arquivo ffserver.conf que lida com o fluxo 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>
Pelo que pude encontrar, algumas pessoas estão dizendo que o mp4 simplesmente não pode ser transmitido. Não tenho anexo ao mp4, exceto pelo fato de ter a impressão de que você precisava do mp4 para transmitir vídeo para o iPhone com um player de vídeo HTML5. Se não for esse o caso, avise-me e mudarei de bom grado para algo que seja melhor com o streaming ffmpeg.
-movflags faststart
ou tratá-lo comqt-faststart
, e aponte para o arquivo MP4 na<video>
tag. Seu servidor precisa de um módulo de streaming H.264 para permitir que o cliente procure. Ou você tem comentários ao vivo?Respostas:
O artigo HTML 5 e vídeo compatível com iPad do seu próprio site , atualizado em 12 de novembro de 2014, possui as seguintes informações:
O artigo recomenda o uso do MP4 como uma boa solução com uma versão recente o suficiente do ffmpeg, usando a codificação H.264 com o AAC.
Sugiro ler o artigo com atenção aos detalhes: ele contém um exemplo de arquivo HTML que funcionará em todos os principais navegadores, bem como um exemplo de comando FFmpeg usado para converter vídeos em arquivos .mp4 para que eles sejam transmitidos corretamente.
fonte
Suponho que será útil pensar em HTTP Live Streaming.
https://developer.apple.com/streaming/
Pelo que entendi, funciona bem em dispositivos iOS.
Aqui está um dos exemplos:
/programming/28723993/ffmpeg-hls-stream-for-android-and-ios
fonte