Ich muss einen Feed mit zwei Streams erstellen - webm und mp4 -, damit er auf allen HTML5-Videoplayern kompatibel ist. Der Webm Stream funktioniert einwandfrei. Beim Versuch, auf den MP4-Stream zuzugreifen, gibt der Server jedoch den folgenden Fehler aus:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Hier ist der Teil der Datei ffserver.conf, der sich mit dem mp4-Stream befasst:
<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>
Nach dem, was ich finden kann, sagen einige Leute, dass mp4 einfach nicht gestreamt werden kann. Ich habe keinen Anhang zu mp4, außer der Tatsache, dass ich den Eindruck hatte, dass Sie mp4 benötigen, um Videos mit einem HTML5-Videoplayer auf das iPhone zu streamen. Wenn dies nicht der Fall ist, lassen Sie es mich wissen und ich werde gerne zu etwas wechseln, das mit ffmpeg-Streaming besser funktioniert.
-movflags faststart
oder zu behandelnqt-faststart
und dann auf die MP4-Datei im<video>
Tag zu verweisen . Ihr Server benötigt dann ein H.264-Streaming-Modul , damit der Client suchen kann. Oder hast du Live-Input?Antworten:
Der Artikel HTML 5 und iPad-freundliches Video von Ihrer eigenen Website , der zuletzt am 12. November 2014 aktualisiert wurde, enthält folgende Informationen:
Der Artikel empfiehlt die Verwendung von MP4 als eine gute Lösung mit einer ausreichend aktuellen Version von ffmpeg unter Verwendung der H.264-Codierung mit AAC.
Ich empfehle, den Artikel unter Berücksichtigung der Details zu lesen: Er enthält eine Beispiel-HTML-Datei, die auf allen gängigen Browsern funktioniert, sowie einen Beispiel-FFmpeg-Befehl, der zum Konvertieren von Videos in MP4-Dateien verwendet wird, damit diese korrekt gestreamt werden.
quelle
Ich nehme an, es wird hilfreich sein, über HTTP Live Streaming nachzudenken.
https://developer.apple.com/streaming/
Soweit ich weiß, funktioniert es in iOS-Geräten einwandfrei.
Hier ist eines von Beispielen:
/programming/28723993/ffmpeg-hls-stream-for-android-and-ios
quelle