Je dois créer un flux comportant deux flux - Webm et mp4 - pour qu'il soit compatible avec tous les lecteurs vidéo HTML5. Le flux WebM fonctionne parfaitement. Cependant, lorsqu'il tente d'accéder au flux mp4, le serveur génère l'erreur suivante:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Voici la partie du fichier ffserver.conf qui traite du flux 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>
D'après ce que je peux trouver, certaines personnes disent que mp4 ne peut tout simplement pas être streamé. Je n'ai aucune pièce jointe à mp4, à part le fait que j'avais l'impression qu'il fallait mp4 pour diffuser de la vidéo sur l'iPhone avec un lecteur vidéo HTML5. Si ce n'est pas le cas, faites-le moi savoir et je passerai volontiers à quelque chose qui fonctionne mieux avec le streaming ffmpeg.
L'article HTML 5 et vidéo compatible iPad sur votre propre site Web , mis à jour le 12 novembre 2014, contient les informations suivantes:
L'article recommande d'utiliser MP4 comme une bonne solution avec une version assez récente de ffmpeg, utilisant l'encodage H.264 avec AAC.
Je suggère de lire l'article en prêtant attention aux détails: il contient un exemple de fichier HTML qui fonctionnera sur tous les principaux navigateurs, ainsi qu'un exemple de commande FFmpeg permettant de convertir des vidéos en fichiers .mp4 afin qu'elles soient diffusées correctement.
Je suppose qu'il sera utile de penser à HTTP Live Streaming.
https://developer.Apple.com/streaming/
Si je comprends bien, cela fonctionne très bien sur les appareils iOs.
Voici un exemple:
https://stackoverflow.com/questions/28723993/ffmpeg-hls-stream-for-Android-and-ios