Streaming mp4 mit ffmpeg
Ich muss einen Feed mit zwei Streams - webm und mp4 - erstellen, damit er auf allen HTML5-Videoplayern kompatibel ist. Der Webm-Stream funktioniert einwandfrei. Beim Versuch, auf den MP4-Stream zuzugreifen, spuckt 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 des ffserver.conf-Datei, die 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>
Von dem, was ich finden kann, sagen einige Leute, dass mp4 einfach nicht gestreamt werden kann. Ich habe keinen Anhang zu mp4, außer für die Tatsache, dass ich den Eindruck hatte, dass Sie mp4 brauchten, 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 schöner spielt.
2 answers
Artikel HTML 5 und iPad-freundliches Video von deiner eigenen Website, zuletzt aktualisiert Nov 12, 2014, hat diese Informationen:
Der Artikel empfiehlt die Verwendung von MP4 als gute Lösung mit einer ausreichend aktuellen Version von ffmpeg, verwenden der H. 264-Codierung mit AAC.
Ich schlage vor, den Artikel mit Aufmerksamkeit auf die Details zu lesen : Er enthält eine Beispiel-HTML-Datei, die funktioniert auf allen gängigen Browsern, sowie ein Beispiel FFmpeg-Befehl zum Konvertieren von Videos in . mp4-Dateien, damit sie korrekt gestreamt werden.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-12-18 15:48:48
Ich nehme an, es wird hilfreich sein, über HTTP-Live-Streaming nachzudenken.
Https://developer.apple.com/streaming/
Soweit ich weiß, funktioniert es auf iOS-Geräten einwandfrei.
Hier ist eines der Beispiele:
Https://stackoverflow.com/questions/28723993/ffmpeg-hls-stream-for-android-and-ios
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-23 12:41:46