Live RTMP stream to HLS

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Live RTMP stream to HLS

btpoole
I have seen several topics but no final solution. I am able to download a live stream using rtmpdump. I can save the file but don't wish to do so. I want to "push" the stream into ffmpeg to convert it to HLS if possible. I can't save the the file in mp4 format because it can not be viewed until the download is complete.  This will be a live stream so there might not be an end. I have seen some stuff on listen but have not been able to get the syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg able to take the live stream and transcode, encode, convert to HLS?  If so can I get some advice or a point in the right direction.
Thanks for the help.
Reply | Threaded
Open this post in threaded view
|

Re: Live RTMP stream to HLS

Paulo Miguel Almeida Rodenas
Hi mate,

I've faced a similar situation in a project of mine and here is what worked for me:

1 - Recompile your ffmpeg adding --enable-libx264 --enable-gpl parameters

2 - Execute ffmpeg -v verbose -i rtmp://<host>:<port>/<stream> -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 <pathToFolderYouWantTo>/<streamName>.m3u8

3 - Install a http server such as apache/jetty/nginx or any other.

4 - Make that folder you just mentioned on ffmpeg command (<pathToFolderYouWantTo>) to be accessible by an http url

5 - Create a simple html page like this:

<html>
<body>
<video controls width="480" height="270" src="<streamName>.m3u8"/
</body>
</html>

6 - Access it from any Apple device.

Although it worked for me, it had a huge delay due to conversion process and so on. In my case it was around about 1:40 secs.

Hope this works for you
 
 
Paulo Miguel Almeida

________________________________________
From: [hidden email] [[hidden email]] on behalf of btpoole [[hidden email]]
Sent: Thursday, November 14, 2013 8:26 PM
To: [hidden email]
Subject: [FFmpeg-user] Live RTMP stream to HLS

I have seen several topics but no final solution. I am able to download a
live stream using rtmpdump. I can save the file but don't wish to do so. I
want to "push" the stream into ffmpeg to convert it to HLS if possible. I
can't save the the file in mp4 format because it can not be viewed until the
download is complete.  This will be a live stream so there might not be an
end. I have seen some stuff on listen but have not been able to get the
syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg
able to take the live stream and transcode, encode, convert to HLS?  If so
can I get some advice or a point in the right direction.
Thanks for the help.



--
View this message in context: http://ffmpeg-users.933282.n4.nabble.com/Live-RTMP-stream-to-HLS-tp4662357.html
Sent from the FFmpeg-users mailing list archive at Nabble.com.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Live RTMP stream to HLS

btpoole
Thank you for the valuable information. I had a feeling it was going to
be something like this but I didn't know where to start. Thanks again
for the help.

Todd Poole

On 11/16/2013 6:27 AM, Paulo Miguel Almeida Rodenas wrote:

> Hi mate,
>
> I've faced a similar situation in a project of mine and here is what worked for me:
>
> 1 - Recompile your ffmpeg adding --enable-libx264 --enable-gpl parameters
>
> 2 - Execute ffmpeg -v verbose -i rtmp://<host>:<port>/<stream> -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 <pathToFolderYouWantTo>/<streamName>.m3u8
>
> 3 - Install a http server such as apache/jetty/nginx or any other.
>
> 4 - Make that folder you just mentioned on ffmpeg command (<pathToFolderYouWantTo>) to be accessible by an http url
>
> 5 - Create a simple html page like this:
>
> <html>
> <body>
> <video controls width="480" height="270" src="<streamName>.m3u8"/
> </body>
> </html>
>
> 6 - Access it from any Apple device.
>
> Although it worked for me, it had a huge delay due to conversion process and so on. In my case it was around about 1:40 secs.
>
> Hope this works for you
>
>
> Paulo Miguel Almeida
>
> ________________________________________
> From: [hidden email] [[hidden email]] on behalf of btpoole [[hidden email]]
> Sent: Thursday, November 14, 2013 8:26 PM
> To: [hidden email]
> Subject: [FFmpeg-user] Live RTMP stream to HLS
>
> I have seen several topics but no final solution. I am able to download a
> live stream using rtmpdump. I can save the file but don't wish to do so. I
> want to "push" the stream into ffmpeg to convert it to HLS if possible. I
> can't save the the file in mp4 format because it can not be viewed until the
> download is complete.  This will be a live stream so there might not be an
> end. I have seen some stuff on listen but have not been able to get the
> syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg
> able to take the live stream and transcode, encode, convert to HLS?  If so
> can I get some advice or a point in the right direction.
> Thanks for the help.
>
>
>
> --
> View this message in context: http://ffmpeg-users.933282.n4.nabble.com/Live-RTMP-stream-to-HLS-tp4662357.html
> Sent from the FFmpeg-users mailing list archive at Nabble.com.
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Live RTMP stream to HLS

btpoole
In reply to this post by Paulo Miguel Almeida Rodenas
Thanks again for the help but having a little difficulty. When I run the
ffmpeg everything seems to go ok until near the end. Here is the part of
the log with the error. It seems to be looking for an application folder
that is missing. Not sure what that might be, any suggestions.

(object begin)
Property: <Name:              level, STRING: error>
Property: <Name:               code, STRING: NetConnection.Connect.Rejected>
Property: <Name:        description, STRING: Connection failed:
Application folder ([install-location]/applications/iguide:1935) is
missing.>
Property: <Name:           clientid, NUMBER: 483171666.00>
(object end)
(object end)
HandleInvoke, server invoking <_error>
rtmp server sent error
RTMP_ReadPacket: fd=456
RTMP_ClientPacket, received: invoke 18 bytes
(object begin)
Property: <Name:           no-name., STRING: close>
Property: <Name:           no-name., NUMBER: 0.00>
Property: NULL
(object end)
HandleInvoke, server invoking <close>
rtmp server requested close
rtmp://ny.premiumcdnlive.com/iguide:1935/ypb87lzx6ak05m3: Unknown error
occurred


Todd Poole

On 11/16/2013 6:27 AM, Paulo Miguel Almeida Rodenas wrote:

> Hi mate,
>
> I've faced a similar situation in a project of mine and here is what worked for me:
>
> 1 - Recompile your ffmpeg adding --enable-libx264 --enable-gpl parameters
>
> 2 - Execute ffmpeg -v verbose -i rtmp://<host>:<port>/<stream> -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 <pathToFolderYouWantTo>/<streamName>.m3u8
>
> 3 - Install a http server such as apache/jetty/nginx or any other.
>
> 4 - Make that folder you just mentioned on ffmpeg command (<pathToFolderYouWantTo>) to be accessible by an http url
>
> 5 - Create a simple html page like this:
>
> <html>
> <body>
> <video controls width="480" height="270" src="<streamName>.m3u8"/
> </body>
> </html>
>
> 6 - Access it from any Apple device.
>
> Although it worked for me, it had a huge delay due to conversion process and so on. In my case it was around about 1:40 secs.
>
> Hope this works for you
>
>
> Paulo Miguel Almeida
>
> ________________________________________
> From: [hidden email] [[hidden email]] on behalf of btpoole [[hidden email]]
> Sent: Thursday, November 14, 2013 8:26 PM
> To: [hidden email]
> Subject: [FFmpeg-user] Live RTMP stream to HLS
>
> I have seen several topics but no final solution. I am able to download a
> live stream using rtmpdump. I can save the file but don't wish to do so. I
> want to "push" the stream into ffmpeg to convert it to HLS if possible. I
> can't save the the file in mp4 format because it can not be viewed until the
> download is complete.  This will be a live stream so there might not be an
> end. I have seen some stuff on listen but have not been able to get the
> syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg
> able to take the live stream and transcode, encode, convert to HLS?  If so
> can I get some advice or a point in the right direction.
> Thanks for the help.
>
>
>
> --
> View this message in context: http://ffmpeg-users.933282.n4.nabble.com/Live-RTMP-stream-to-HLS-tp4662357.html
> Sent from the FFmpeg-users mailing list archive at Nabble.com.
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Live RTMP stream to HLS

Paulo Miguel Almeida Rodenas
Hi Todd,


It seems like your RTMP url isn't fine since ffmpeg is complaining about the "iguide path".

This is your url, right?

rtmp://ny.premiumcdnlive.com/iguide:1935/ypb87lzx6ak05m3

The url format is rtmp://<domain>:<port>/<streamname>

Another thing you should check out is whether you stream port is 1935 or not, since you may change this on you stream server.

Hope it works for you

Paulo Miguel Almeida


________________________________________
From: [hidden email] [[hidden email]] on behalf of Todd Poole [[hidden email]]
Sent: Monday, November 18, 2013 11:08 AM
To: FFmpeg user questions
Subject: Re: [FFmpeg-user] Live RTMP stream to HLS

Thanks again for the help but having a little difficulty. When I run the
ffmpeg everything seems to go ok until near the end. Here is the part of
the log with the error. It seems to be looking for an application folder
that is missing. Not sure what that might be, any suggestions.

(object begin)
Property: <Name:              level, STRING:    error>
Property: <Name:               code, STRING:    NetConnection.Connect.Rejected>
Property: <Name:        description, STRING:    Connection failed:
Application folder ([install-location]/applications/iguide:1935) is
missing.>
Property: <Name:           clientid, NUMBER:    483171666.00>
(object end)
(object end)
HandleInvoke, server invoking <_error>
rtmp server sent error
RTMP_ReadPacket: fd=456
RTMP_ClientPacket, received: invoke 18 bytes
(object begin)
Property: <Name:           no-name., STRING:    close>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
(object end)
HandleInvoke, server invoking <close>
rtmp server requested close
rtmp://ny.premiumcdnlive.com/iguide:1935/ypb87lzx6ak05m3: Unknown error
occurred


Todd Poole

On 11/16/2013 6:27 AM, Paulo Miguel Almeida Rodenas wrote:

> Hi mate,
>
> I've faced a similar situation in a project of mine and here is what worked for me:
>
> 1 - Recompile your ffmpeg adding --enable-libx264 --enable-gpl parameters
>
> 2 - Execute ffmpeg -v verbose -i rtmp://<host>:<port>/<stream> -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 <pathToFolderYouWantTo>/<streamName>.m3u8
>
> 3 - Install a http server such as apache/jetty/nginx or any other.
>
> 4 - Make that folder you just mentioned on ffmpeg command (<pathToFolderYouWantTo>) to be accessible by an http url
>
> 5 - Create a simple html page like this:
>
> <html>
> <body>
> <video controls width="480" height="270" src="<streamName>.m3u8"/
> </body>
> </html>
>
> 6 - Access it from any Apple device.
>
> Although it worked for me, it had a huge delay due to conversion process and so on. In my case it was around about 1:40 secs.
>
> Hope this works for you
>
>
> Paulo Miguel Almeida
>
> ________________________________________
> From: [hidden email] [[hidden email]] on behalf of btpoole [[hidden email]]
> Sent: Thursday, November 14, 2013 8:26 PM
> To: [hidden email]
> Subject: [FFmpeg-user] Live RTMP stream to HLS
>
> I have seen several topics but no final solution. I am able to download a
> live stream using rtmpdump. I can save the file but don't wish to do so. I
> want to "push" the stream into ffmpeg to convert it to HLS if possible. I
> can't save the the file in mp4 format because it can not be viewed until the
> download is complete.  This will be a live stream so there might not be an
> end. I have seen some stuff on listen but have not been able to get the
> syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg
> able to take the live stream and transcode, encode, convert to HLS?  If so
> can I get some advice or a point in the right direction.
> Thanks for the help.
>
>
>
> --
> View this message in context: http://ffmpeg-users.933282.n4.nabble.com/Live-RTMP-stream-to-HLS-tp4662357.html
> Sent from the FFmpeg-users mailing list archive at Nabble.com.
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Live RTMP stream to HLS

btpoole
Thanks again.
I will check the domain info and see if I am missing something.

Todd Poole

On 11/18/2013 12:01 PM, Paulo Miguel Almeida Rodenas wrote:

> Hi Todd,
>
>
> It seems like your RTMP url isn't fine since ffmpeg is complaining about the "iguide path".
>
> This is your url, right?
>
> rtmp://ny.premiumcdnlive.com/iguide:1935/ypb87lzx6ak05m3
>
> The url format is rtmp://<domain>:<port>/<streamname>
>
> Another thing you should check out is whether you stream port is 1935 or not, since you may change this on you stream server.
>
> Hope it works for you
>
> Paulo Miguel Almeida
>
>
> ________________________________________
> From: [hidden email] [[hidden email]] on behalf of Todd Poole [[hidden email]]
> Sent: Monday, November 18, 2013 11:08 AM
> To: FFmpeg user questions
> Subject: Re: [FFmpeg-user] Live RTMP stream to HLS
>
> Thanks again for the help but having a little difficulty. When I run the
> ffmpeg everything seems to go ok until near the end. Here is the part of
> the log with the error. It seems to be looking for an application folder
> that is missing. Not sure what that might be, any suggestions.
>
> (object begin)
> Property: <Name:              level, STRING:    error>
> Property: <Name:               code, STRING:    NetConnection.Connect.Rejected>
> Property: <Name:        description, STRING:    Connection failed:
> Application folder ([install-location]/applications/iguide:1935) is
> missing.>
> Property: <Name:           clientid, NUMBER:    483171666.00>
> (object end)
> (object end)
> HandleInvoke, server invoking <_error>
> rtmp server sent error
> RTMP_ReadPacket: fd=456
> RTMP_ClientPacket, received: invoke 18 bytes
> (object begin)
> Property: <Name:           no-name., STRING:    close>
> Property: <Name:           no-name., NUMBER:    0.00>
> Property: NULL
> (object end)
> HandleInvoke, server invoking <close>
> rtmp server requested close
> rtmp://ny.premiumcdnlive.com/iguide:1935/ypb87lzx6ak05m3: Unknown error
> occurred
>
>
> Todd Poole
>
> On 11/16/2013 6:27 AM, Paulo Miguel Almeida Rodenas wrote:
>> Hi mate,
>>
>> I've faced a similar situation in a project of mine and here is what worked for me:
>>
>> 1 - Recompile your ffmpeg adding --enable-libx264 --enable-gpl parameters
>>
>> 2 - Execute ffmpeg -v verbose -i rtmp://<host>:<port>/<stream> -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 <pathToFolderYouWantTo>/<streamName>.m3u8
>>
>> 3 - Install a http server such as apache/jetty/nginx or any other.
>>
>> 4 - Make that folder you just mentioned on ffmpeg command (<pathToFolderYouWantTo>) to be accessible by an http url
>>
>> 5 - Create a simple html page like this:
>>
>> <html>
>> <body>
>> <video controls width="480" height="270" src="<streamName>.m3u8"/
>> </body>
>> </html>
>>
>> 6 - Access it from any Apple device.
>>
>> Although it worked for me, it had a huge delay due to conversion process and so on. In my case it was around about 1:40 secs.
>>
>> Hope this works for you
>>
>>
>> Paulo Miguel Almeida
>>
>> ________________________________________
>> From: [hidden email] [[hidden email]] on behalf of btpoole [[hidden email]]
>> Sent: Thursday, November 14, 2013 8:26 PM
>> To: [hidden email]
>> Subject: [FFmpeg-user] Live RTMP stream to HLS
>>
>> I have seen several topics but no final solution. I am able to download a
>> live stream using rtmpdump. I can save the file but don't wish to do so. I
>> want to "push" the stream into ffmpeg to convert it to HLS if possible. I
>> can't save the the file in mp4 format because it can not be viewed until the
>> download is complete.  This will be a live stream so there might not be an
>> end. I have seen some stuff on listen but have not been able to get the
>> syntax right. It took a while to get rtmpdump formatted correctly. Is ffmpeg
>> able to take the live stream and transcode, encode, convert to HLS?  If so
>> can I get some advice or a point in the right direction.
>> Thanks for the help.
>>
>>
>>
>> --
>> View this message in context: http://ffmpeg-users.933282.n4.nabble.com/Live-RTMP-stream-to-HLS-tp4662357.html
>> Sent from the FFmpeg-users mailing list archive at Nabble.com.
>> _______________________________________________
>> ffmpeg-user mailing list
>> [hidden email]
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> _______________________________________________
>> ffmpeg-user mailing list
>> [hidden email]
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user