Servers by jDrones

APSync with APStreamline (BETA)!

(Arnav Dhamija) #1

We now have a new version of APSync with APStreamline built in for the Raspberry Pi! This version of APSync is built with the latest version of Raspbian (June 2018) and is now compatible with the Raspberry Pi 3B+ out of the box.

APStreamline adds several improvements for live video streaming from UAVs and other ArduPilot robots. It is directly available under the ‘Video Streaming’ tab in the APWeb config page at on the Companion Computer. APStreamline has the following features:

  • Automatic quality selection based on bandwidth and packet loss estimates
  • Selection of network interfaces to stream the video
  • Options to record the live-streamed video feed to the companion computer
  • Manual control over resolution and framerates
  • Multiple camera support using RTSP
  • Hardware-accelerated H.264 encoding for the Raspberry Pi
  • Camera settings configurable through the APWeb GUI
  • Compatible with the Pi camera and several USB cameras such as the Logitech C920 and others

APStreamline doesn’t have any strict hardware requirements and can work with WiFi routers, WiFi dongles, and even over LTE with the right hardware.

Download APSync with APStreamline built in from here (Raspberry Pi Only)!

Please note that being a beta release, there may be bugs with this image. For any bug reports and/or suggestions, please comment on my pull request here.

(Nicolau Goula i Masllorens) #2

I got it up and running… but I get like a 1 or 2s lag all the time

Setup 1:

  • Raspi connected through eth0 to local LAN
  • Cell + MPlayer @ home wifi
  • Computer + VLC @ home eth0
  • Any resolution and framerate
  • Can’t get Mission planner display the video


  • Raspi as a hotspot
  • Cell + MPlayer @ ardupilot wifi
  • Computer + VLC @ ardupilot wifi
  • Any resolution and framerate
  • Can’t get Mission planner display the video

Sad I can’t use the “record” feature as I have a Pi Camera… any chance to get it running like that? I found this post when I was looking a way to use “tee” and “socat” to get precisely this point sorted out…

(Arnav Dhamija) #3

Thanks for trying it out. The 1 or 2s of lag is most likely due to VLC which uses a 2sec RTSP jitterbuffer. Using a gst-launch command like gst-launch-1.0 playbin uri=<RTSP-MOUNT-POINT> latency=100 for viewing the video can significantly reduce latency.

Did you change the RTSP video settings for streaming the video from MP?

I’m afraid that recording video with the Pi Camera was very buggy and it kept crashing the pipeline when I tried it out. You can try recording video using the C920HD.

(Nicolau Goula i Masllorens) #4

Hi. Yes, i know about the VLC lag… I thus tried with my cell (although I can’t tell you how much time MPlayer may add). I also changed the streaming setting in MP to no avail.

Sorry but I won’t be able to test it again in the next few days. I tried this one here looking for a way to send and record video, but it won’t help with the Pi camera that I have and I had to roll back to the previous build (yesss, I need to get myself a few spare SD cards :persevere: ) . I’ll post back when I have a chance.

(Rolf) #5

Great work @shortstheory

The image works well with Qgroundcontrol on Android and Qgroundcontrol on Win10. Only Missionplanner on Win10 does not show the video stream while Mavlink via UDP also works on the MP.

(Corrado Steri) #6

I think the raspian you built it on has a problem. It always hangs on reboot, easy to test, just connect remotely and sudo reboot, it hangs.



(Arnav Dhamija) #7

Hi, I’ve tried this out yesterday on an RPi3 and I didn’t have this problem when rebooting. Could you share more details about your setup?

(Corrado Steri) #8

Hi, nothing special, copied the image and booted the raspberry to configure my settings and noticed it hangs up on reboot. It did it since the beginning. All i did till now is disable bluetooth to have serial available (wich in my opinion should be default in the image) and configure dhcpcd.conf to set my static ip. It works fine but panics as soon as i sudo reboot it.