Results 1 to 7 of 7

Thread: Generating thumbnails programmatically

  1. #1

    Default Generating thumbnails programmatically

    Hello everyone.

    I am having a strange problem with the server-side code posted on this link:How to get thumbnail images from Wowza Transcoder with an HTTP Provider .
    I have a Transcoder Add-on license, and a commercial license for wowza running on an EC2 on Amazon, and implemented the server-side sample on my application, the only difference is that grabFrame is being called on server-side, and not client-side. Everything seems to work fine, but after sourceVideo.grabFrame(new GrabResult(),426,240);, nothing else happens. I have placed several logs on the onGrabFrame method of my GrabResult class, but nothing ever happens. Is there some configuration that I am missing?
    I am running Wowza Streaming Engine 4.1.1 Build 13180 on a Amazon Linux AMI release 2014.09.

    Thank you.

  2. #2

    Default

    salvadore? Anyone?

  3. #3

    Default

    Hi there.

    It sounds like you are trying to compile your own HTTPProvider? How are you building it? Did you download the Wowzw IDE plugin for Eclipse?
    Wowza IDE Plugin

    In step 5 of the directions for installing the IDE, you will need to make sure the "location" is "wowza.com/wowzaide2" and not "wowza.com/wowzaide2#sthash.fzhGSVhM.dpuf" (which is produced from copying and pasting the location from the Wowza site)

    Beyond that, are you sure you are actively Transcoding a live stream at the time of generating a thumbnail?
    Can you use the built in HTTPProvider to test to make sure everything is set up correctly, and isolate the issue down to the implementation of the custom HTTPPRovider?

    Please let us know if this helps or if you are still unsuccessful.

    Kind regards,

    Salvadore

  4. #4

    Default

    Thanks for the response salvadore.

    I'm not trying to compile an HTTPProvider, but a Module. I am building using the Plugin for Eclipse, and believe it is properly installed, as I have been using it for building Modules and HTTPProviders for a couple of months without any problems.

    I know the stream is being properly transcoded, because the transcoded stream is being recorded.
    I have tried using the built-in HTTPProvider, if I pass the wrong parameter to it, I see a log on the console warning me of the mistake, but when all the parameters are correct, it does not log anything.

    This is what I have done on my code:
    Created a new IMediaStreamActionNotify3 and registered it to the correct stream, and on the onPublish method of it, I set an interval of 5 seconds, that will call the grabFrame method after the interval is done.
    The method is like this:
    public void grabFrame(String streamName)
    {
    	while(true)
    	{
    		IMediaStream stream = appInstance.getStreams().getStream(streamName);
    		if (stream == null)
    		{
    			global.log("No stream");
    			break;
    		}
    		
    		LiveStreamTranscoder liveStreamTranscoder = (LiveStreamTranscoder)stream.getLiveStreamTranscoder("transcoder");
    		if (liveStreamTranscoder == null)
    		{
    			global.log("No liveStreamTranscoder");
    			break;
    		}
    		
    		TranscoderStream transcodingStream = liveStreamTranscoder.getTranscodingStream();
    		if (transcodingStream == null)
    		{
    			global.log("No transcodingStream");
    			break;
    		}
    		
    		TranscoderStreamSourceVideo sourceVideo = transcodingStream.getSource().getVideo();
    		if (sourceVideo == null)
    		{
    			global.log("No sourceVideo");
    			break;
    		}
    		
    		global.log("Call grabFrame");
    		
    		try
    		{
    			sourceVideo.grabFrame(new GrabResult(), 426, 240);
    		}
    		catch(Exception e)
    		{
    			e.printStackTrace();
    		}
    		
    		break;
    	}
    }
    While the class is created just like the article posted:
    class GrabResult implements ITranscoderFrameGrabResult
    {
    	public void onGrabFrame(TranscoderNativeVideoFrame videoFrame)
    	{
    		System.out.println("onGrabFrame");
    		global.log();
    		
    		BufferedImage image = TranscoderStreamUtils.nativeImageToBufferedImage(videoFrame);
    		if (image != null)
    		{
    			global.log("dimensions: " + image.getWidth() + "x" + image.getHeight());
    			
    			String storageDir = appInstance.getStreamStoragePath();
    			
    			File pngFile = new File(storageDir+"/thumbnail.png");
    			File jpgFile = new File(storageDir+"/thumbnail.jpg");
    			
    			try
    			{
    				if (pngFile.exists())
    					pngFile.delete();
    				ImageIO.write(image, "png", pngFile);
    				global.log("Save image: "+pngFile);
    			}
    			catch(Exception e)
    			{
    				global.log("File write error: "+pngFile);
    			}
    			
    			try
    			{
    				if (jpgFile.exists())
    					jpgFile.delete();
    				ImageIO.write(image, "jpg", jpgFile);
    				global.log("Save image: "+jpgFile);
    			}
    			catch(Exception e)
    			{
    				global.log("File write error: "+jpgFile);
    			}
    		}
    	}
    }
    Is there any other info needed?

    Thanks,
    Diogo.

  5. #5
    Join Date
    Jan 2015
    Posts
    357

    Default

    Hi,

    This issue is now currently open as a ticket with Wowza Media Systems Support. Please refer to your ticket for resolution on this issue. Thank you.

    Michelle

  6. #6

    Default

    Just to give a heads up, support helped me figure out my problem.
    It was on my transcoder template, I was using it only to fix the Audio, changing SPEEX to AAC, so video was using PassTrough. Changing it to actually transcode to H264(Even though it was already with this codec) did the trick"

    Thanks everybody.

  7. #7

    Default

    Hello there.

    Thank you for updating this post, this info will surely help someone in the future. I am glad the support team was able to get to the bottom of this.

    Kind regards,

    Salvadore

Similar Threads

  1. How to get thumbnails for content videos
    By Amer.K in forum General Forum
    Replies: 6
    Last Post: 06-21-2014, 05:59 PM
  2. Less FPS or thumbnails
    By tavius in forum Live Streaming and Encoder Discussion
    Replies: 2
    Last Post: 12-10-2013, 04:40 PM
  3. creating thumbnails for wowza videos.
    By shanth.5577 in forum AddOn: Wowza nDVR
    Replies: 3
    Last Post: 12-09-2013, 10:38 AM
  4. Show And Share won't display video thumbnails
    By noodle48 in forum General Forum
    Replies: 1
    Last Post: 02-06-2013, 12:18 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •