Devo creare un feed che abbia due stream - webm e mp4 - in modo che possa essere compatibile su tutti i lettori video HTML5. Il flusso webm funziona perfettamente. Tuttavia, quando si tenta di accedere al flusso mp4, il server genera il seguente errore:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Ecco la parte del file ffserver.conf che si occupa del flusso 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>
Da quello che posso trovare, alcune persone stanno dicendo che mp4 semplicemente non può essere trasmesso in streaming. Non ho alcun allegato a mp4, tranne per il fatto che avevo l'impressione che tu avessi bisogno di mp4 per trasmettere video su iPhone con un lettore video HTML5. Se questo non è il caso, fammi sapere e passerò volentieri a qualcosa che funziona meglio con lo streaming ffmpeg.
-movflags faststart
o trattarloqt-faststart
, quindi puntare al file MP4 nel<video>
tag. Il tuo server ha quindi bisogno di un modulo di streaming H.264 per consentire al client di cercare. O hai input dal vivo?