[Live-devel] Getting the h264 video bytes
Hello, I have been looking at and compiling the test apps for a few days and trying to work out the general structure of the libraries. I am wishing to look at the video stream bytes from an IP camera in order to generate some statistics on it. I have compiled the test proxy which works just great at forwarding the RTSP stream to a player. My main issue is working out what strategy I should be using to get to the sink bytes but essentially I keep running into the problems whereby whatever class I override needs private members of base classes to access the data. I think its just my unfamiliarity with the library and RTSP in general. I have overridden the proxy's transcoding table and trying to insert a new overridden FramedFilter so that I could call getNextFrame and handle the doGetNextFrame by simply passing the data along. Is that the way to do it, or should I split the stream with a replicator and then create my own sink and dump the data after looking at it ? Or is it possible to iterate through the existing proxy subsessions and find the video one and acceess its sink & data in some way ? What is the easiest method. The statistics I would like would be to count the bytes per frame or nal for various cameras under certain test conditions, ideally for any video compression format, but if it were just H264 then that would likely be ok. ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel
Re: [Live-devel] Getting the h264 video bytes
Thankyou Ross, your answer has solved the issue. To answer your question first - yes I needed to show the playback so that people can watch the stream and we can analyze the stats based on what they saw and match it against their experience of the quality at specific points in the stream. I compiled up the test Client previously and got that going with the stream data access because in the test Client example it goes through the process of setting up the subsession streams which in turn give access to the sink. But the Client does not export the video out for a player so moving on to the proxy that is better. But the proxy creates the client for you buried down the class hierarchy and then its hard to figure out how to override and hook into that in the same way that the test Client example shown. By telling me that using the transcode filter was the correct way, it cut down the options from a lot to this one and, homing in on that since your last post, I have now got the filter working and have access to the data block bytes. So I am all good now ! The library and all of its classes are well written and work amazingly well. But with only Doxygen class diagrams its so hard to know the higher level strategy and direction one has to pick from the myriad to know how to get a problem solved. With more familiarity of all of the classes and API calls I am sure it would be no problem. Thanks again. ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel