Ticket #242 (new Feature)

Opened 14 months ago

Last modified 3 months ago

RTSP / RTMP support

Reported by: MiiJaySung Owned by: admin
Priority: 1 Milestone:
Component: Liquidsoap Version:
Keywords: Cc:
Mac OSX: yes Linux: yes
NetBSD: yes Other Operating System: yes
FreeBSD: yes

Description

I gather there some conversation about supporting RTMP (Flash), which would be nice. I was also thinking RTSP support would also be good so people can stream to HelixServer? / Darwin Streaming Server. I find that clients seem to drift with Icecast as there is no way to sync the client stream with the server, which doesn't make Icecast ideal for real time applications.

Supporting RTP with telephony codecs such as GSM is another route worth going, which sort of overlaps with what ticket 125 mentions.

Just thought I'd throw this in the bag.

Change History

follow-up: ↓ 2   Changed 14 months ago by smimram

By any chance, would you know a good open-source library which would do RTMP / RTSP?

in reply to: ↑ 1 ; follow-up: ↓ 3   Changed 14 months ago by theneb

Replying to smimram:

By any chance, would you know a good open-source library which would do RTMP / RTSP? Gnash does

in reply to: ↑ 2 ; follow-up: ↓ 4   Changed 14 months ago by smimram

Replying to theneb:

Replying to smimram:

By any chance, would you know a good open-source library which would do RTMP / RTSP?

Gnash does

It seems to be really not mature software. Moreover, I couldn't find a shared library for gnash (we don't want to embed gnash's code...). I think that the best way to go would be to stream to cygnal who would itself broadcast the stream. However I've not been able to use cygnal. Did you manage to make it work?

in reply to: ↑ 3   Changed 10 months ago by polemon

Replying to smimram:

Replying to theneb:

Replying to smimram:

By any chance, would you know a good open-source library which would do RTMP / RTSP?

Gnash does

It seems to be really not mature software. Moreover, I couldn't find a shared library for gnash (we don't want to embed gnash's code...). I think that the best way to go would be to stream to cygnal who would itself broadcast the stream. However I've not been able to use cygnal. Did you manage to make it work?

The Adobe Real-Time Messaging Protocol specification is soon to be released. There is also a press release by Adobe on that.

As soon as the specification is released, I'll see if I can make a demuxer for that.

  Changed 10 months ago by MiiJaySung

Cool, I would like to move to Flash / Red5 as Icecast isn't really cut out for my needs, and we're pushing it a little. I'm looking seriously at Red5, so would be willing to test where possible. (Otherwise, I'm looking at coding a Java App using Red5 libs + JACK libs to take Liq output and shift it to Red5, or find some way for Flash to play nicely and read from JACK instead of hardware)

Looking back on this post, it seems Red5/FMS server is gaining market share far quicker than RTSP based systems like DSS/Helix, and is more accessible too.

As I see it now, in Linux recording in flash is limited, so being able to use LiquidSoap? would be an advantage as it's JACK'ified (which also has some nice benefits when testing remotely over VPN).

I number of open source apps seem to deal with RTMP already, I wonder if those would work as a stop-gap/reference until the official docs get released. (I'm thinking Red5 libs, though these will be heavy to read being Java, or http://code.google.com/p/rubyizumi/downloads/list which is easier to read being Ruby).

  Changed 10 months ago by MiiJaySung

After a quick snoop to see if I could get Flash to record via JACK, I found the Linux plugin doesn't seem to be able to allow you to select a mic source (Just has "Linux Microphone" which is the first default mic input it finds, regardless if it's right or not, irrespective of what underlaying Linux sound system is used). As a result, I'm hoping Liquidsoap can fill the gap for this annoyance. (And I would guess there would be a number of Red5 users who would be thankful/looking for this, especially if you get video support in for the long term, though my concern is mainly just audio for now). I assume you can go down the route of using codecs like AAC rather than Nelly Moser (which I think would give you hell from an encoding perspective)

Note: See TracTickets for help on using tickets.