Apple HLS with FFMpeg + CRTMPServer @ $0

4,805 views
Skip to first unread message

Madhawa Jayanath

unread,
May 31, 2012, 12:17:42 AM5/31/12
to c-rtmp...@googlegroups.com
Hello Friends,
After very very long time I had a little free time:) so I'm wiling to share something you might be interested.

Here is a new method to implement Apple HLS with OSS @ $0. actually I'm running this system over a month in production environment . I notice this method is better than other commercial solutions out there. 
instructions are here http://pastebin.com/qZB8vzZP
Have a fun!!!

--
Best regards,
Madhawa Jayanath

Software Engineering Manager
101 Global Co.,Ltd.
999/9 # 2409 Rama 1, Pathumwan
Bangkok, 10330. Thailand
INUM +883-510-07-403-6540
Tel. +66.840839412
FAX. +66.26480995


Sent from my NoteBook® by Hand


darkata

unread,
Jun 1, 2012, 11:58:37 AM6/1/12
to C++ RTMP Server
Thanks work great !!

only a small improvement, creates a file main.m3u8, for example, with

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=256000
http://123.123.117.37/hls/abcd_live_256k.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=128000
http://123.123.117.37/hls/abcd_live_128k.m3u8



On 31 mayo, 05:17, Madhawa Jayanath <madhawa1...@gmail.com> wrote:
> Hello Friends,
> After very very long time I had a little free time:) so I'm wiling to share
> something you might be interested.
>
> Here is a new method to implement Apple HLS with OSS @ $0. actually I'm
> running this system over a month in production environment . I notice this
> method is better than other commercial solutions out there.
> instructions are herehttp://pastebin.com/qZB8vzZP
> Have a fun!!!
>
> --
> Best regards,
> Madhawa Jayanath
>
> Software Engineering Manager
> 101 Global Co.,Ltd.
> 999/9 # 2409 Rama 1, Pathumwan
> Bangkok, 10330. Thailand
> INUM +883-510-07-403-6540
> Tel. +66.840839412
> FAX. +66.26480995
>
> Sent from my NoteBook® by Hand
>
>  <http://pastebin.com/qZB8vzZP>

Madhawa Jayanath

unread,
Jun 1, 2012, 9:31:24 PM6/1/12
to c-rtmp...@googlegroups.com
Hello Darkata,
You are welcome! also thank for the main.m3u8 :)
Yes, This method works well even better than Wowza. I'm talking about streaming system which has 60K/day visits.
if you have more viewers simple add more Nginx servers and rsync to them. then setup Haproxy (TCP load balancer).


You received this message because you are subscribed to "C++ RTMP Server" mailing list.
To post to this group, send email to c-rtmp...@googlegroups.com
To unsubscribe from this group, send email to
c-rtmp-serve...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/c-rtmp-server?hl=en



--
Best regards,
Madhawa Jayanath

Software Engineering Manager
101 Global Co.,Ltd.
999/9 # 2409 Rama 1, Pathumwan
Bangkok, 10330. Thailand
INUM +883-510-07-403-6540
Tel. +66.832551230

C++ RTMP Server

unread,
Jun 2, 2012, 7:36:51 AM6/2/12
to c-rtmp...@googlegroups.com
Hello guys,

Perhaps you should give EvoStream a spin. I know is not for free, but it has a nice trial. Besides, is not expensive either.
I'm sure you will love the pull/push functionality! Example:

#pull some streams
pullstream uri=rtsp://.... localstreamname=test1
pullstream uri=rtmp://.... localstreamname=test2
pullstream uri=dmpegtsudp://239.1.2.3:8765 localstreamname=test3

#record them
record localstreamnae=test1 pathToFile=/tmp/test1 type=flv
record localstreamnae=test2 pathToFile=/tmp/test1 type=ts
record localstreamnae=test3 pathToFile=/tmp/test1 type=flv

#create HLS out of them. For our example, let's consider them as 3 streams having different bitrates
#but same content (tv channel for example). Here is the HLS command
createhlsstream localstreamnames=test1,test2,test3 bandwidths=100,200,300 targetFolder=/var/www groupname=mytvchannel playlistlength=6 staleretentioncount=6 chunkonidr=1 chunklength=10 cleanupDestination=1

#that was with a lot of params, just to show you what it can do. In reality, you can omit many params and also the bit rate is detected
createhlsstream localstreamnames=test1,test2,test3 targetFolder=/var/www groupname=mytvchannel


#at the same time, we want to push some streams to bambuser, ustream.tv, etc
#let's go wild and also push it to some RTSP server
#let's go wilder and also create a multicast mpeg-ts out :)
pushstream uri=rtmp://user:pass...@bambusrer.domain.com/.... localStreamName=test1 targetStreamName=myStream1
pushstream uri=rtsp://user:pass...@some.domain.com/myStream.sdp localStreamName=test1
pushstream uri=mpegtsudp://239.0.0.3:7766 localstreamname=test2


So, guys, really, give it a spin. It can do MANY other things like bandwidth throttling, stream aliasing for anti-theft, clustering, HDS (beta), XML-RPC for interop, etc
------
C++ RTMP Server
Web: http://www.rtmpd.com




darkata

unread,
Jun 2, 2012, 8:42:27 AM6/2/12
to C++ RTMP Server
I hope to order another trial of evostream, I did not have time to
test it (an unexpected trip), but also I hope someday someone of
evostream respond to my two forms asking price

On 2 jun, 12:36, C++ RTMP Server <crtmpser...@gmail.com> wrote:
> Hello guys,
>
> Perhaps you should give EvoStream a spin. I know is not for free, but it has a nice trial. Besides, is not expensive either.
> I'm sure you will love the pull/push functionality! Example:
>
> #pull some streams
> pullstream uri=rtsp://.... localstreamname=test1
> pullstream uri=rtmp://.... localstreamname=test2
> pullstream uri=dmpegtsudp://239.1.2.3:8765 localstreamname=test3
>
> #record them
> record localstreamnae=test1 pathToFile=/tmp/test1 type=flv
> record localstreamnae=test2 pathToFile=/tmp/test1 type=ts
> record localstreamnae=test3 pathToFile=/tmp/test1 type=flv
>
> #create HLS out of them. For our example, let's consider them as 3 streams having different bitrates
> #but same content (tv channel for example). Here is the HLS command
> createhlsstream localstreamnames=test1,test2,test3 bandwidths=100,200,300 targetFolder=/var/www groupname=mytvchannel playlistlength=6 staleretentioncount=6 chunkonidr=1 chunklength=10 cleanupDestination=1
>
> #that was with a lot of params, just to show you what it can do. In reality, you can omit many params and also the bit rate is detected
> createhlsstream localstreamnames=test1,test2,test3 targetFolder=/var/www groupname=mytvchannel
>
> #at the same time, we want to push some streams to bambuser, ustream.tv, etc
> #let's go wild and also push it to some RTSP server
> #let's go wilder and also create a multicast mpeg-ts out :)
> pushstream uri=rtmp://user:passw...@bambusrer.domain.com/.... localStreamName=test1 targetStreamName=myStream1
> pushstream uri=rtsp://user:passw...@some.domain.com/myStream.sdp localStreamName=test1
> pushstream uri=mpegtsudp://239.0.0.3:7766 localstreamname=test2
>
> So, guys, really, give it a spin. It can do MANY other things like bandwidth throttling, stream aliasing for anti-theft, clustering, HDS (beta), XML-RPC for interop, etc
>
> On Jun 2, 2012, at 4:31 AM, Madhawa Jayanath wrote:
>
>
>
>
>
>
>
>
>
> > Hello Darkata,
> > You are welcome! also thank for the main.m3u8 :)
> > Yes, This method works well even better than Wowza. I'm talking about streaming system which has 60K/day visits.
> > if you have more viewers simple add more Nginx servers and rsync to them. then setup Haproxy (TCP load balancer).
>
>  smime.p7s
> 6 KVerDescargar

Rodislav Moldovan

unread,
Jun 8, 2012, 10:02:02 AM6/8/12
to c-rtmp...@googlegroups.com
I agree with Andrei, for commercial projects, evostream is better, it has a lot of usefull things already present ;)

sd

unread,
Jun 16, 2012, 10:16:29 PM6/16/12
to C++ RTMP Server
Where is the pricing, documentation, examples etc.? Without knowing
anything about the product how I'm supposed to build something within
a time limited trial license or even be enticed to try it in the first
place?

SyRenity

unread,
Jul 3, 2012, 3:16:37 PM7/3/12
to c-rtmp...@googlegroups.com
Hi.

Thanks for sharing!
Can you tell what live stream delay you typically has on this config?

Regards.
Reply all
Reply to author
Forward
0 new messages