Stream Snapshot with ModuleCreateSnapshot

So I need to get a snapshot thumbnail for a video that is streaming to an EC2 hosted version of Wowza version 4.2. Live stream is coming in via RTMP, there is no transcoder setup. Playback is set to HLS.

In my reading I see two ways to do this. One is with an HTTPProvider the other seems to be with ModuleCreateSnapshot.

It “appears” to me that I can’t use the HTTP Provider since I’m not running the transcoder. (Don’t really want to if I don’t have too, seems to be working fine as is now).

So where I’m at is using ModuleCreateSnapshot, which sounds like it will do what I want. However, I’m having trouble figuring out how to call the module. I see the code for doing it from a Flash Client, but I don’t really want to do that if at all possible. Not a Flash developer and not really in the mood to start now. So where does this leave me? I like the HTTP provider approach it would work well for me to get the thumbnail.FLV to somewhere that I could use FFMPEG on it. But I’m open to other solutions that don’t use a flash client.

Can someone guide me here?

Dan

Hello Dan

So in order to use ModuleCreateSnapshot you have to initiate it via an actionscript call as defined here (as you’ve already pointed out). Therefore in order to use it as an HTTP Provider, you could leverage a lot of the same code but structure it within the HTTP Provider mechanism. If you are going to use FFMPEG anyway, you could run the following query:

ffmpeg -i rtmp://[your-wowza-ip]:1935/[app]/[stream] -f image2 -vframes 1 thumbnail.png

Thanks,

Matt

Hello Dan

You can use hls in this instance as well.

ffmpeg -i http://[wowza-url]/[app-name]/[streamName]/playlist.m3u8 -f image2 -vframes 1 thumbnail.png

Thanks,

Matt

Dan,

Happy that worked. Thanks for the update.

Matt

Hello,

If you’re using Wowza Streaming Engine Manager, you should be able to edit the Application and enable Adobe RTMP as a playback type. See the following article for more information:

How to set up live streaming using an RTMP-based encoder

This should enable the RTMP playback type from your Wowza Application.

Best regards,

Andrew

Matt,

Thanks for your prompt response! I love your idea of using FFMPEG directly like this. It would be PERFECT for what I’m trying to do. However, when I try it FFMPEG gives me an error “Closing Connection: NetStream.Play.Failed”. My incoming stream is RTMP, but I don’t think that I’m setup to support that as a playback protocol. I’m using Wowza on AWS in basically it’s default installation. When I look at the Wowza management screen for the live stream application the only playback options that I have are:

MPEG-DASH

Apple-HLS

Adobe-HDS

Microsoft Smooth Streaming

Not sure if that matters or not? I feel like I might be missing something here basic.

Thoughts?

Dan

Thanks Andrew!

But as you can see from the screen shot below RMTP is NOT one of my choices???

This worked great!!! Thanks for everyone’s help. This is the perfect solution for me.

Dan