2016-04-04 20 views
0

Ich habe einen Rtsp-Stream mit MP4-Video-Codec und G711-Audio-Codec. Ich muss es ohne FlashPlugins arbeiten lassen.Transcode RTSP für HTML5 Video-Tag im Browser

Videostream im WEB ist eine frustrierende Sache.

Gibt es eine Möglichkeit, im Browser mit Javascript mein Mp4 Video und G711 Audio in einem Webm oder einem h264 Codec on Fly zu konvertieren, um es als Stream für Video html5 Element oder einen beliebigen Player zu verwenden!

Das Problem ist, flowplayer nicht rtsp Stream unterstützt, vlc funktioniert nicht in Chrome und Flash unterstützt nicht in android.

so gibt es viele viele Probleme, damit es funktioniert. Wenn es also möglich ist, den rtsp-Stream auf dem Client perhapse zu transcodieren, besteht die Möglichkeit, diese Probleme zu lösen.

thx

Antwort

1

Erstens - MP4 ist nicht ein Video-Codec, sondern ein Container. Die Frage ist also der RTSP-Server, der wirklich MP4 streamt (was ich bezweifle, aber es könnte), oder vielleicht hast du MP4 mit H.264 verwechselt.

Chrome und Firefox akzeptieren Live-Video-Streams in den fragmentierten MP4- und WebM-Videocontainern (die in diesem Fall irrelevant sind). Wenn Sie also bereits MP4-Payload haben, können Sie sie einfach aus dem RTSP-Stream entpacken und an den Browser weiterleiten. Wenn Sie H.264 haben, müssen Sie den Roh-H.264-Videostream zusammen mit dem Audio in einen MP4-Container muxen (ich bin mir nicht sicher, ob G711 von Browsern unterstützt wird), bezweifle ich, dass Audio transkodiert werden muss). Die freie Wahl ist, FFmpeg einzurichten, um rtsp zu fragmentiertem MP4 zu transcodieren (es gibt viele Beispiele dafür, nur Google) oder wenn Sie ein kommerzielles Produkt suchen, hat unser Unternehmen gerade ein Videoüberwachungsprodukt veröffentlicht, das HTML5 kompatibles Livestreaming anbieten kann von RTSP-Kameras. Wenn Sie Interesse an dem kommerziellen Produkt haben, hinterlassen Sie einen Kommentar.

+0

Hallo, unser Problem ist der Browser unterstützt nicht G711 Audio-Codec und das Gateway, wo der Strom ist, ist nicht stark genug, um etwas zu transcodieren und in unserem Fall konnten wir keine Middleware hinzufügen, um dies mit ffmpeg oder Something so zu tun . Also, was macht dein Videoüberwachungsprodukt? –

+0

Da ich mich ganz und gar mit Open Source beschäftige, ist es mein Hauptziel, nicht für unser Produkt zu werben, sondern eine hilfreiche Antwort zu geben - vielleicht kannst du etwas über die FFmpeg Middleware sagen? Was meinst du mit "könnte nicht hinzufügen" - Sie könnten einfach nicht FFmpeg konfigurieren oder die Verwendung von FFmpeg ist verboten? In Bezug auf unser Produkt - derzeit haben unsere HTML5 Streams nur Videospuren (Audio wird in den nächsten Monaten kommen, wir müssen uns für den Codec entscheiden usw.), aber Audio ist sehr nah an unserer Roadmap. Wenn Sie an einer Testversion interessiert sind, kontaktieren Sie mich bitte unter [email protected] –

+0

Ich habe einen Fallback für den Flashplayer eingebaut und wir haben die Absicht einen WebRTC zu integrieren, der auch G711 Audiocodec unterstützt, so dass wir weder Transcodieren noch Transmux machen mussten auf Serverseite. Um unser Problem besser zu erklären, ist unser Server kein echter Server, sondern ein ROUTER auf MIPS und 256MB RAM, sodass wir 10 Streams auf dem Router nicht transkodieren können. Thx –