Bebop2 video streaming on windows 10 using vlc

Hello,
I would like to do the video streaming of my bebop2. After reading the documentation i decided to follow the way usong VLC but the output is not the expected.
The code :

from pyparrot.Bebop import Bebop
from pyparrot.DroneVision import DroneVision
import threading
import cv2
import time

isAlive = False

class UserVision:
def init(self, vision):
self.index = 0
self.vision = vision

def save_pictures(self, args):
#print(“saving picture”)
img = self.vision.get_latest_valid_picture()

if (img is not None):
filename = “test_image_%06d.png” % self.index
#cv2.imwrite(filename, img)
self.index +=1

bebop = Bebop()

success = bebop.connect(5)

if (success):
bebopVision = DroneVision(bebop, is_bebop=True)

userVision = UserVision(bebopVision)
bebopVision.set_user_callback_function(userVision.save_pictures, user_callback_args=None)
success = bebopVision.open_video()

if (success):
print(“Vision successfully started!”)
#removed the user call to this function (it now happens in open_video())
#bebopVision.start_video_buffering()

print(“Fly me around by hand!”)
bebop.smart_sleep(5)

print(“Moving the camera using velocity”)
bebop.pan_tilt_camera_velocity(pan_velocity=0, tilt_velocity=-2, duration=4)
bebop.smart_sleep(25)
print(“Finishing demo and stopping vision”)
bebopVision.close_video()

bebop.disconnect()
else:
print(“Error connecting to bebop. Retry”)

The output is :

Does someone already got this problem?

I faced a similar issue when using opencv version 3. On further investigation, I found that this is a known issue in opencv not being able to properly decode H.264 encoded video streams transmitted using RTSP.

2 Likes

I tried this a while ago and it had the same result. But by using OBS https://obsproject.com/download which is more for streaming to Twitch, facebook, youtube I was able to have a good video stream.