Jump to content

Niatross

Members
  • Posts

    11
  • Joined

  • Last visited

Posts posted by Niatross

  1. Totally anecdotal and not fully verified and may not be relevant to you but I have had to abandon development of a couple of VIM's in 2023 since I have started using it. Just did not want to compile. If I converted to a standard instance (Can't remember the exact wording of that menu item) it would be fine but as a vim I just have broken run arrows everywhere.

    I am wondering if they have changed something in 2023 regarding vim's.

    • Like 1
  2. 19 hours ago, ShaunR said:

    That API doesn't work for me out-of-the-box. Fails with a nebulous error at "select".  IcmpSendEcho works fine, however.

    I have tried and failed to use the iphelper api in the past. Can you tell me how to actually get hold of the source code for it. You google it and you get a load of old articles about asking for the Microsoft SDK on a CD, broken links or information that didn't make a lot of sense to me. 

     

    Probably just my inexperience with C++ development though.

  3. I am trying to use this to convert a map with an enum as its key. It seems to convert the map to something which looks sensible but when I try and convert the JSON back to a map I am getting an error saying that the it is trying to create a map with identical keys.

    I haven't had time to look into what is causing this properly, I was hoping someone had some thoughts.Enum Map.vi

  4. Wasn't there something in the NI rebrand/one of the partner meetings shortly afterwards, about them having NI certified products from third parties. I can't remember what they called it but from memory it was basically a scheme where NI may push your 'solution' using their regional representatives (Or whatever their frontline sales people are called now)

     

    Note: the above is full of half remembered facts from things I was only half paying attention to at the time so might be total drivel.

  5. I am trying to solve two problems, in the same application. I am open to alternatives because I am really not happy with how it is working at the moment.

    I need to get live image data from 3-4 cameras to about 30 clients on a WiFi network simultaneously. Originally I planned on doing this by transmitting the JPEG binary data via UDP multicast which works well on a wired network but I was getting to many dropped fragments (and therefore dropped datagrams) over WiFi for it to be useful. I can't use TCP because there would not be enough bandwidth to do that to 30 clients. I started looking into MPEG4 streaming, and therefore FFmpeg. As part of the application I need to do some image manipulation within LabVIEW. My current dataflow is:

    Cameras ---IMAQdx-----> LabVIEW -----MJPEG via TCP---- -> MPEG4 stream via UDP (FFmpeg) --------WiFi--------> Client reciever (FFmpeg) -------MJPEG via TCP------> LabView

    Next week I am going to revisit trying to just do a MJPEG stream in LabView over UDP becasue what I have described above is currently quite ropey.

    Second problem. It is a bit of a bodge, but I need to stream a screen capture of a particular application which is running on the server to all of the tablets. Again I need to do a little bit of manipulation before it goes to the tablets. I don't know of another way of bringing a live screen capture of an individual window into LabVIEW apart from FFmpeg (I know you can use some windows API's for screen capture  but FFmpeg still works if the application is behind other windows). Beyond that I have got the same issues with streaming the data and was planning on using FFmpeg.

    I was sending the q command so that FFmpeg would close its network connections so that I can reopen them later...may not be necessary so I will test it without.

    In summary, my questions are:

    - My internal MJPEG stream over TCP to 127.0.0.1 works fine but I am sure there is a neater way if you know of one...I did consider using a file as the middle man but could think of a way of doing this other than writing indiviudal frames to disk as seperate files which I though was just as bad...if not worse from a CPU and disk usage point of view

    - As I said previously, sometimes when I try to close the FFMPEG instance, it crashes LabView with no error. I haven't been able to identify a pattern so far. 

    I am open to other suggestions as far as the overall system is concerned.

  6. Thanks for posting this. I am trying to use FFmpeg in LabView as well (Proving to be a real pain but this has made it a lot easier!!)

    Do you find that closing the FFmpeg isntance sometimes causes LabView to crash, especially if FFmpeg hasn't started processing frames yet so sending q doesn't work (Whilst it is waiting for a stream for example)

    My shutdown process is to send a'q' character, if the process has exited that's fine, if not send a ctrl-c. In this case I am finding that whilst the FFmpeg instace ends the wait on exit either hangs indefinitely or causes LabView to crash and close. 

    This is the most stable implementation I have managed so far.

    image.png.9e0ddd2cf7388c3f9ff9ea941c69b76e.png

    Any suggestions on better ways of closing FFmpeg?

     

    Also, have you worked out a way of sharing data between FFmpeg and LabVIEW. (Use LabVIEW to provide image data or get image data into LabView) I know you can use the stdin and stdout. I haven't tried stdin for providing image data to FFmpeg yet but stdout does have a tendency to loose data, There is something blocking your stdout callback code causing it to miss stdout events (Or it just takes too long) I have had to resort to TCP mjpeg streams directed to 127.0.0.1.

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.