WPF application for H264 IP Camera

Topics: Question
Jan 16, 2016 at 10:05 PM
Hello,

I am using the latest version of the net7mma library and I am having some issues. My goal is to capture the frame on an interval (lets say every 500ms), convert it to a bitmap, and process the image. I have been looking through the docs and I need some help. I am processing the frames, but I am lost on what to do next. Any help would be appreciated. I can post the code I have so far, if needed.
Coordinator
Jan 20, 2016 at 2:30 PM
Its' really hard to say without having the SDP in front me.

Post the SessionDescription if possible or at least all of the corresponding m= lines from it so I can take a look and give you a better response.
Marked as answer by juliusfriedman on 1/20/2016 at 6:30 AM
Jan 29, 2016 at 4:01 AM
Hello,

I was able to make some progress on this project. So far, I am able to connect and have the stream display in my application (I converted it to Windows Forms). The problem I am facing now is that every 3-5 seconds, the picture turns green and then slowly gets replaced by the real video. I have linked a picture of it happening, as well as the wireshark capture and the sample app. Any suggestions would help!

https://www.dropbox.com/s/q2u3khopsngaajz/CameraExample.zip?dl=0
https://www.dropbox.com/s/j9uk447pdrc9zi1/capture.pcapng?dl=0
https://www.dropbox.com/s/ms3n2dr1cbkfppd/Screen%20Shot%202016-01-28%20at%2010.56.06%20PM.png?dl=0
Coordinator
Jan 29, 2016 at 5:31 PM
It seems this might be a problem in cscodec and not my library unfortunately.

The way you can verify this is by trying to play the file with VLC and seeing if the green marks are still there.

If they are then you are missing packets, but it doesn't look that way from the capture you sent.

You can be sure the frame is complete in code by adding the following code to your frame handler event.

'if(final == false && false == frame.IsComplete) return'

Then you will know if there are missing packets or something in the frame which is causing this, but I think the issue is that the frame is not complete when you are giving it to the decoder.

In short, wait for 'final' to be true or for 'IsComplete' to be true before taking action on frames to ensure new packets will not be added to the frame afterwards.

If you need anything else let me know!
Marked as answer by juliusfriedman on 1/29/2016 at 9:31 AM
Jan 31, 2016 at 1:53 AM
Thanks, I kinda figured it was the cscodec while writing my post.

I may be trying to go about this project wrong. Let me explain my goals and maybe you (or someone) can point me in a different direction:

My goal is to write an application that will hook up to one or more IP cameras, using H264, and detect any QR codes that the camera picks up. I will be using the ZXing library for multiple QR code reads. Essentially, looking to create an application similar to ALPR, but to detect QR codes.