How to stream RTSP on the web? - web

We generate RTSP stream (MP4 with ACC codec for audio) on our server and we need to send it to web app and play it.
We could send it via websocket and play it with media extensions but they are not supported on iOS.
We could also use WebRTC with media channel but that supports only Opus audio codec and we cannot afford transcoding from ACC to Opus.
Do you have any idea how can we play RTSP data on iOS devices?
EDIT: we aim for low latency playback (<1s) HSL has latency 5s+

you need to encode/package your stream in HLS on your server to send it to iOS clients. Try to look into FFMPEG streaming guides where the input is your RTSP stream and output is HLS. iOS really only plays HLS.

Related

How to play a RTP stream in HTML5?

The Janus server is able to replay the RTP stream.
Is there a way to play a RTP stream directly into a video html5 element ?
(I don't really get the difference between RTP and RTSP)
And how can I play the RTP stream: should I transcode it to some HLS ?
You don't, it's not supported in HTML5. I'd recommend transcoding it to DASH and/or HLS, using either open source tools like ffmpeg or commercial solutions like bitmovin.
Webrtc is supported in HTML5, so you can view the video on the browser.
Janus Server supports different plugin for RTSP/RTP, which will receive data in RTSP/RTP and then send that data to the web browser client using webrtc.
https://janus.conf.meetecho.com/docs/streaming.html

Streaming webcam to rtmp with

What's the best way to do so If I don't want to use flash?
I heard about WebRTC but is it viable to take input from getUserMedia
and stream it to a media server which will then move that data to an rtmp stream?
It depends on the media server you use. For example, Wowza has been adding WebRTC support recently: https://www.wowza.com/products/capabilities/webrtc-streaming-software
I don't know of any way to get WebRTC input to a media server that doesn't support it.

RTSP is the only stream working from my WOWZA streaming engine

I have every stream type enabled on my wowza server.
a week ago i had it working in the wowza test players
now the only one that works is the RTSP in VLC
now every stream just shows a black screen.
If i try to access the m3u8 via Safari browser i can hear the audio but no visual
Any assistance on this would be a major help.
this is due to incompatible video, audio codec. you need to user right encoder or you can use wowza transcoder to transcode your stream (h.264 , AAC) . it will resolve your playback problem. if you are using flash media live encoder you can select h.264 encoding method, and audio codec should be aac or mp3.
Some quick troubleshooting steps:
What source encoder are you using? Can you playback the source URL on VLC as well? What codec info is displayed in VLC for the source stream? It should be one of the supported codecs for Wowza.
What codec info is displayed in VLC for the RTSP playback link generated by your Wowza server?
Do you see any errors/warnings in the access log when you publish and playback your HLS (m3u8) stream?
Usually, this kind of error is due to an incorrect video codec, or an encoding setting, or network saturation where the video packets are not coming through correctly. You can check what error or warning messages are being generated by tailing the access log found in logs/ folder of your Wowza installation directory.
Hope this helps.

RTSP to Flash Media Server

I have a live RTSP h.264 720p 8Mb stream that I need to get to my streaming provider's Flash Media Server. The only way that I currently have to stream to my provider's FMS is through Adobe's "Flash Media Live Encoder" Which works well enough with our SD analog capture card for live streaming.
I can open and re-stream the RTSP stream with VLC however VLC will not stream RTMP to the Flash Media Server.
Any thoughts on how to do this without going through the analog hole?

RTP to Live Smooth Streaming

I have a RTP video stream that I want to send to a set-top box. Unfortunately, the set-top box doesn't support RTP and I have convert it to Smooth Streaming.
I've tried using Wowza Media Server to do the stream conversion but it did not work; the generated manifest is different from how the STB expects it to be and the STB closes the connection.
Any suggestions? Thanks.
I've found three ways of doing it:
Receive the RTP stream with a virtual camera DirectShow filter and use that camera in the Expression Encoder SDK to generate a Live Smooth Stream.
Build a DirectShow graph that receives the RTP stream and use it with the IIS Smooth Streaming Format API to create the Live Smooth Stream.
Play the RTP stream (using VLC, for instance) and use Expression Encoder to do a Live Smooth Stream of the screen capture. Pretty messy, but works in a pinch.

Resources