10-13-2021 02:10 AM
Hello I am working on streaming a ethernet camera video on front panel. I am receiving continuous data packets in LabVIEW from RTSP ethernet camera encoded in H.264 format through RIO. RIO is establishing communication & once camera starts sending data to RIO, It forwards that data to Labview. I am continuously receiving this H.264 encoded data in string format in LabVIEW. I want to extract info & stream video on front panel. Can anyone help me about this?
10-13-2021 09:04 AM
I believe that the H.264 Codec is not supported by NI and IMAQdx. Try doing a Web Search for "LabVIEW H.264" to see some suggestions, including some commercial software that might work for you if you purchase it. [If you do try it, and it works, please let the Community know!].
Bob Schor
10-14-2021 12:56 AM
Thank you for reply. Is there any RTSP decoder library for IP camera available for LabVIEW? I tried to search but couldnt find any.
10-14-2021 03:07 AM - edited 10-14-2021 03:09 AM
Not that I'm aware off. It is not an easy thing to write at all and requires a low level knowledge that only a few people have and none of them so far has seen the need for such a thing. The way such video data is normally received is by directly calling a video driver for the camera in question, be it through .Net, as DLL or through NI IMAQ Vision with the help of an according Windows DirectX camera driver.
Additional problems that would arise are patent issues. Anyone writing such a software library would have to pay royalties to a few companies for various patents. Most (but not all of them) are administered by MPEG LA. This basically makes creation of such a library very uninteresting since it is almost impossible to even inquire the costs for these royalties alone, let's not talk about earning anything on top of that. The only thing one is sure to get except money, is many support requests for such a library from lots of users trying to make it work without knowing anything about such things.
If you want to get your hands very dirty you can probably get a library such as Ciscos open source H.264 encoder. This comes in the form of a shared library when compiled. However its interface is C++ object oriented and can't be directly called by the LabVIEW Call Library Node, so you would need to write another intermediate wrapper library in C to convert between the function call interface that the Call Library Node can use and the C++ objects of this library.
Under Windows there are likely also .Net based libraries which work similar and would be slightly easier to use from LabVIEW, but still lots and lots of work and personally I would feel concerned about what frame rate it can achieve. Video data is not trivial to handle and requires very well designed data transfer paths. Going through to many interfaces always hurts that.
05-25-2023 06:19 AM
@yogesh_sherki wrote:
Hello I am working on streaming a ethernet camera video on front panel. I am receiving continuous data packets in LabVIEW from RTSP ethernet camera encoded in H.264 format through RIO. RIO is establishing communication & once camera starts sending data to RIO, It forwards that data to Labview. I am continuously receiving this H.264 encoded data in string format in LabVIEW. I want to extract info & stream video on front panel. Can anyone help me about this?
By Any chance you can able to achieve this? I have a similar requirement where I get a h264 encoder data from UDP and I need to decode the same and display in LabVIEW.
05-26-2023 09:03 PM
I mentioned seeing a package for handling H264 (two years ago), though I recalled it had a price tag associated with it. Well, I found it again. Open VIPM, do a search for "H264", and follow the "search suggestions" to "Multimedia for LabVIEW". If you try it out, please leave a review (or your impressions) here on the Forum to help the next person researching this question.
Bob Schor