http-flv live broadcast support for RED5 stream server - http

Does Red5 server support http-flv live broadcasting? I want to use Red5 to broadcast my ipcam stream into low-latency(2s) http-flv format, is it possible? Thanks.

Related

Advantage of RTSP over HTTP for ip cam streaming

I recently bought an ip cam for a project. So my project was just to create a button on a webpage to show the video feed coming from the cam when clicked on it. If i have to stream the rtsp link of the ip cam via a browser, i need to use ffmpeg for converting into HLS. But when i use a http video link of the cam, its easy and convenient. So my question is, what advantage does rtsp have over http ? and what method should i choose in a industrial project. At the moment i have successfully implemented the button with http video link and it works. I was just curious to know the advantage i will have if i use rtsp. Thanks a lot for you precious time.
it depends on the network environment that you are dealing with. For sure using dash/HLS will result in higher latency but on the other hand using TCP for streaming is easier to go through the firewalls.
Apple reasoning for introducing RTSP over HTTP:
Using standard RTSP/RTP it is possible to stream a presentation to a user via a single
TCP connection. (See RFC 2036 “Real Time Streaming Protocol (RTSP)”, section 10.12)
Unfortunately, that is not sufficient to reach a significant population of Internet users.
These users are typically on private IP networks where the client machines have indirect
access to the public Internet via email and HTTP Proxies.
The QuickTime HTTP transport exploits the capability of HTTP GET and POST
methods to carry an indefinite amount of data in their reply, and message body
respectively. In the most simple case, the client makes a HTTP GET request to the
streaming server to open the server to client channel. Then the client makes a POST
request to the server to open the client to server channel.
Link

Can Kamailio pass through http request to asterisk?

I am attempting to send http request from the tool TRYITJsSIP through kamailio to asterisk, however, kamailio returns an error on tcp_read_req (state 7; bad request, no other serror given). Is there a setting I need to allow http packets to pass through kamailio. Note: It does work when I use a tool like MicroSIP or LinPhone.
Thank you
Browsers (at least modern browsers) in which WebRTC apps execute require, in order to allow sharing audio and video devices, connections with servers to be done in a secure way. In web, you could use of WSS. Asterisk and Kamailio support WSS (WebSockets Secure) as transport for SIP.
It is possible (I have done it) to configure chan_pjsip in Asterisk to use WSS as transport (chan_sip also can be configured in that way, but I have not yet experience in WSS with chan_sip). Kamailio has the WebSocket module that also allows it to manage WSS SIP connections. I have used a fork of JsSIP (SIP.js), but it is completely arguable and you may have your own selection criteria.
Thus, you can connect
Web app WebRTC -> WSS -> Asterisk
or
Web app WebRTC -> WSS -> Kamailio -> UDP -> Asterisk
or, of course, whatever architecture you feel comfortable with. The only thing to have into account is that connections between browser and SIP Proxy are to be done in a secure way (you could use also DTLS-SRTP because Asterisk and Kamailio support it and both are natively supported by WebRTC, but, once again, I have not tested it myself).

Is it possible that nginx reuse connections to backend http-flv streaming server to serve mutiple clients

I have a backend encoding server serving live streams by http-flv as well as rtmp.
I am trying to utilize http-flv stream instead of rtmp stream. What I do is to serve clients the http-flv stream through a nginx server. Here is the snippet of my nginx conf file.
location /live/news {
proxy_pass http://encodingserver:8088/flv0;
}
It is working.
However, for performance consideration, I am thinking about reusing the connection between nginx and encoding server.
Is it possible for nginx "copy" stream directly instead of opening a new connection to backend encoding server when a new client starts to play since it is a live streaming connection and sessionless?
I want to make the workload of encoding server as small as possible.

Can HTTP Post be used for streaming live video to a server?

Can a client use HTTP Post to stream live video to a server? If not, what protocol should be used?
Yes it can, like in the case of the RTMPT protocol (Real Time Messaging Protocol tunneled over HTTP) which uses HTTP 1.1 POST to traverse firewalls.
Other HTTP streaming protocols include: HLS, DASH, HDS or Smooth.

Convert http live streaming to rtsp live streaming

How to covert http live streaming in to rtsp live streaming in online? I mean to convert without any software.

Resources