Can I get video stream from a tcpip port (ArDrone) to a Matlab figure?

10 visualizaciones (últimos 30 días)
Helllo there.
I am trying to obtain video from an IP webcam in particular that HD camera on ARdrone parrot 2.0, I can get the video stream either with MPEG4.2 soft encoder or with H264-like codec or with MJPEG-like codec and is sent by a tcpip port by the drone.
The point is that, I have already been able to display this video stream on ffplay (external program to Matlab) using win7, but I would like to save video in a variable on Matlab in order to use image proccesing with it and control the drone depending on what "it's seeing".
I have already looked up for this matter and have not found anything illuminating. So I will be very grateful if any of you know how to get this image straight from the tcpip port or even from ffplay program.
Thank you
  5 comentarios
Rafael Alberto Torres Ovando
Rafael Alberto Torres Ovando el 11 de Jul. de 2016
Mario Hello , I'm interested in the code that could video Get the AR Drone
José Guilherme Tucci
José Guilherme Tucci el 16 de Ag. de 2017
Hey Mario, I would like to get this code too. Thanks!

Iniciar sesión para comentar.

Respuestas (4)

Walter Roberson
Walter Roberson el 2 de Jun. de 2015
There is a possibility that the situation has changed in the last two releases, but if not:
In R2014a and earlier (and perhaps it is still the case), there is no built-in facility for decoding streaming video, other than whatever can be handled by the GigE Vision Standard. For winvideo, whether directly connected cards or USB, the acquisition is frame by frame, complete frames. IP cameras other than perhaps GigE Vision compliant are handled by fetching individual frames, not by streaming video.
The Computer Vision toolkit does support H.264, but at least up to R2014a, only from files, not streaming from a device.
The only option I am aware of at the moment (other than whatever GigE Vision can handle) is that on MS Windows you can get programs that decode streaming video and which have ActiveX / Component Object (COM) interfaces that permit the output to be accessed as frames. I don't know if any of those offer a virtual Winvideo to make it even easier.
  1 comentario
Mario Rubio Gómez
Mario Rubio Gómez el 2 de Jun. de 2015
Thank you for taking your time and replying.
The problem with winvideo is that the ArDrone camera is not supported so, it is not recognised.
What you say at the end would be a great idea, but I do not know which program will make this.
See, I have installed the ffmpeg toolbox and I think using some functions of this toolbox could let me reach a right solution. Since I already play video through ffplay (ffmpeg player) using this code:
>>ffplay_command=sprintf('ffplay -window_title Video_AR_Drone_2.0 -framedrop -infbuf -f h264 -i http://192.168.1.1:5555 -framerate %d',drone.video_frame_rate);
>>system(ffplay_command);
I think that could exist a chance to get video stream from ip, pass it through ffmpeg (wheter using ffmpeg toolbox or just ffmpeg.exe as done here with ffplay), decode this video and take this decoded video or frames of the video back to a variable on Matlab so that I can process those images.
It would be helpful if any of you can help me with the code lines needed for ffmpeg to perform what it is said. Or any other option will be taken in account as well.
Thank you again.

Iniciar sesión para comentar.


Pablo Lara
Pablo Lara el 13 de Jul. de 2015
I have been dealing with the same problem.
The solution I came with is to use ffmpeg to obtain images instead of the video stream. Basically, there are images continually being saved in a specified folder and, with Matlab, you can read and show them (it will be the same as if you were streaming) or process them. You will get rid of the lag that the stream has and you can increase the fps.
  1 comentario
Felipe Martins
Felipe Martins el 15 de Sept. de 2015
Hello, all.
I am also trying to do get the AR.Drone video into MATLAB. After trying several possibilities, it seems that Pablo's suggestion is the best option.
@Pablo, you mentioned that you got rid of the lag and could increase the fps rate. Could you share an example of your code, please?
Thanks a lot!

Iniciar sesión para comentar.


Florian Enner
Florian Enner el 14 de Mayo de 2016
Editada: Florian Enner el 14 de Mayo de 2016
I've just uploaded a submission that supports streaming h264 (among other formats) from ip cameras. It doesn't require any toolboxes and should work with any recent (>2009a) version of MATLAB.
% Connect to stream
cam = HebiCam('<address>');
% Continously display latest image
figure();
fig = imshow(getsnapshot(cam));
while true
set(fig, 'CData', getsnapshot(cam));
drawnow;
end
You can get it through File Exchange or Github
  2 comentarios
David
David el 5 de En. de 2017

Hi!

I am thinking about buying this one to work on it,

Do you think our script will detect that camara too?

http://craftmodel.com/drones-de-iniciacion/2066-drone-predator-sw-fpv-wifi-control-de-altura.html

Thanks in advance!

David
David el 5 de En. de 2017
Hi!
I am thinking about buying this one to work on it, "DRONE PREDATOR SW FPV WIFI "
Do you think our script will detect that camara too?
Thanks in advance!!!
David

Iniciar sesión para comentar.


Grant
Grant el 2 de Jun. de 2015
You can try the ipcam function in 15a. This may work with the MJPEG ARdrone stream.
  3 comentarios
Grant
Grant el 4 de Jun. de 2015
Mario,
The size looks suspicious, because it is empty in 2 dimensions. Are you able to view the video stream using VLC player, Firefox, or something similar? Is the URL correct?
Also, you may want to contact MathWorks technical support about the hard crash you received. This may indicate a problem with the support package installation.
Manisha
Manisha el 31 de Jul. de 2015
Hi Mario,
Is the stream provided by you a Motion JPEG stream. ipcam currently only supports Motion JPEG stream. In any case it should not have generated the system error. Would it be possible for you to contact our technical support. We would like to understand the root cause of this behavior.
Thanks, Manisha

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB Support Package for IP Cameras en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by