"olympe.drone.stop_video_streaming()" actually just starts the video stream

The title says it all, really. I’m quite confused. I would like to know if there’s any way to set a timer on the video stream begun using the command “olympe.drone.start_video_stream”, or to stop it without using ^C on the console I ran the script from. I’ve run scripts where the only command I give is stop_video_stream, and it just starts a stream right up. This is using a physical drone.


Could you please share some logs and the script you are using? That is not supposed to happen…


streaming1.zip (2.7 KB) - This is the script I’m using. It’s almost completely based off of src/olympe/doc/examples/streaming.py.

logs.zip (8.7 KB) - Here’s the log for that script. This particular instance is run without the callback functions, but I’ve tried it on both ways and it does exactly the same thing, just without the actual video popping up. You can see that after the “W pdraw_decavc: duplicate timestamp (0), incrementing” line, it just sits and pings for connection every once in a while and other than that just counts time. I don’t know if the “mismatch in macroblock ordering: mb_star t=3600 mb_end=3600” has something to do with it, but that repeats as well. And this was with the only input being the “olympe.drone.stop_video_streaming()” command. You can run it with the callbacks in the “start_video_streaming()” enabled to get the actual video stream. It’s very bizzare that changing something in how the start command is defined alters what the stop command does, but that’s how it is.

I completely glossed over the “if” initialization. This was just me being an inexperienced programmer. Please disregard this thread.