# VideoReceiverLog : Failed because video sink is not set

**URL:** <https://discuss.bluerobotics.com/t/videoreceiverlog-failed-because-video-sink-is-not-set/7158>\
**Category:** QGroundControl\
**Created:** [April 4, 2020, 1:16pm UTC](https://discuss.bluerobotics.com/t/videoreceiverlog-failed-because-video-sink-is-not-set/7158 "2020-04-04T13:16:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![enderocean](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/enderocean/32/4768_2.png) [@enderocean](https://discuss.bluerobotics.com/u/enderocean)\
**Post date:** [April 4, 2020, 1:16pm UTC](https://discuss.bluerobotics.com/t/videoreceiverlog-failed-because-video-sink-is-not-set/7158/1 "2020-04-04T13:16:59Z")

</div>

Hi,  
I am working on Ubuntu 19.04:  
I have set up a freelan in order to give control of the BlueROV2 to a distant PC (IP: 9.0.0.13).  
I achieve to give control with a Netcat command launched on companion PC (IP: 9.0.0.12):

```
mkfifo backpipe
nc -ulp 14550 0<backpipe | nc -u 9.0.0.13 14550 1>backpipe

```

It works.  
But, when I do the same for Video stream:

```
mkfifo campipe
nc -ulp 5600 0<campipe | nc -u 9.0.0.13 5600 1>campipe

```

I get the following error in QGC on remote PC: “VideoReceiverLog : Failed because video sink is not set”  
Any idea on how to fix this ?  
Thanks.

---

<div class="post-metadata">

**Author:** ![enderocean](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/enderocean/32/4768_2.png) [@enderocean](https://discuss.bluerobotics.com/u/enderocean)\
**Post date:** [April 8, 2020, 5:01pm UTC](https://discuss.bluerobotics.com/t/videoreceiverlog-failed-because-video-sink-is-not-set/7158/2 "2020-04-08T17:01:41Z")

</div>

Hi,  
Answering my own post… It seems to be impossible to send Video stream using Netcat, like I do with MAVLink commands. But you can send the stream using an RTSP server.

To do this:  
1 - On companion PC  
Install Nginx and launch service (maybe useless cause you can get the stream directly from Pi, anyway, continue 🙂 )  
Create a file called “vlc.sdp” in “/var/www/html” default folder with content:

```
c=IN IP4 127.0.0.1
m=video 5600 RTP/AVP 96
a=rtpmap:96 H264/90000

```

Open VLC software  
Broadcast a Network stream (Media \> Broadcast \> Network) and type location: [http://127.0.0.1/vlc.sdp](http://127.0.0.1/vlc.sdp)  
Click “Broadcast” and “Next” button  
Choose destination “RSTP” and click “Add” button  
By default port is 8554. Keep it like this.  
Type “/stream” to complete the URI and click “Next”  
Click on the wrench button and “Codec Video” tab  
Check “Keep original video track”  
Save and click next  
You are now streaming camera.

2 - In QGC client

Go to “General” settings to receive the stream  
In Video paragraph, select RTSP source and type :  
rstp://9.0.0.12:8554/stream  
Go back to main screen  
Here you are, you now receive the stream from your BlueROV2.

---

<div class="post-metadata">

**Author:** ![enderocean](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/enderocean/32/4768_2.png) [@enderocean](https://discuss.bluerobotics.com/u/enderocean)\
**Post date:** [April 9, 2020, 1:20pm UTC](https://discuss.bluerobotics.com/t/videoreceiverlog-failed-because-video-sink-is-not-set/7158/3 "2020-04-09T13:20:44Z")

</div>

To get low latency, use on companion PC:

```
gst-launch-1.0 udpsrc port=5600 ! tee name='video' ! queue ! udpsink host=9.0.0.14 port=5600 video. ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264

```
