-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving Speed for Receiving Real-Time Image #3
Comments
Hi dk683, The second issue is cv2 replaying H.264 video. I do not know how to feed it packed by packet. There is C-code in https://github.com/robotika/heidi/tree/master/cvideo but I am trying to avoid it. So in this snippet is onlyIFrames=True ... BTW what OS do you use? Windows? Regarding corridor video - I will probably disappoint you. This is recorded video on the drone. |
p.s. I added sample code to stream video to stdout (under windows there was surely problem with end-of-line :( |
Thank you for your reply! |
Thanks - I am afraid that there is really problem with video delay. I wrote another "sample" with usage of Heidi's cvideo (it is directly decoding H.264 to bitmap from frame packets): |
Are there any B-frames in the video? If so, it seems logical that the video would be delayed by a key frame distance. If you have 1s between I-frames and matching 1s delay in the video - that would make sense. |
No B-frames ... only I-frame followed by 29 P-frames (at 30fps) |
Hi dk683, |
Hello m3d.
|
Hi dk683, |
Hi dk683,
|
Dear dk683! Actually what I do is to publish on a ros topic each frame received with the bebop python program (setting onlyIFrames=False ) and decoding it with that node. If you or anyone is interested to this (fast but maybe a little bit fake :D ) solution, I can give more information! |
Dear @m3d, Dear @jocacace |
@dk683 I can show you my solution... sadly I am not ready to share the code on a public repository (as it rely on code written by other people and I have no documentation)... can you please me contact via e-mail? As I have said is a "temporal" solution (even though works good!) |
Dear @jocacace, Best, |
Dear @dk683 Change setup.py with the following
You will also have to declare initcvideo() as extern C in cvideo.cpp
(see http://stackoverflow.com/questions/28040833/importerror-dynamic-module-does-not-define-init-function ) Then execute the following 2 commands It will do the job if libavcodec, libavutil and libswscale are installed (check ls /usr/include/libavcodec for instance Best regards |
Hi, I tried to use the control flag already built-in on Bebop to stream the video via the RTP, it might be helpful to you and you can refer my PR #14. Thanks! |
Hello! I sincerely appreciate your work!
I am trying to write down a program that enables my computer to receive and saves real-time images from Bebop.
Because my application is a real-time, it is important to receive and save images fast.
My code (please look at below) does receive and show images from Bebop, but the images lag 1 or 2 seconds.
When I saw the Katarina Bebop - autonomous flight in corridor video in robotika website (http://robotika.cz/robots/katarina/), the video seems like to update frames fast in real-time.
I assumed that the video was not recorded, but streamed to a computer.
If this is true, I believe the way I am receiving and showing frames is wrong.
Could you give me some advice to improve speed? I appreciate your help!
The text was updated successfully, but these errors were encountered: