# Help with fake camera and python

**URL:** <https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959>\
**Category:** Using Aravis\
**Created:** [December 5, 2025, 2:51pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959 "2025-12-05T14:51:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mads](https://avatars.discourse-cdn.com/v4/letter/m/ec9cab/32.png) [@Mads](https://aravis-project.discourse.group/u/Mads)\
**Post date:** [December 5, 2025, 2:51pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/1 "2025-12-05T14:51:47Z")

</div>

Hello,

I’m totally new to Aravis, but it seems like an interesting project. I’m looking to set up SWIR gige camera, and currently coding it in Python. However I miss some Python documentation. Can someone guide to any documents?  
Or maybe a simple example of how to connect and retrieve data from the fake camera would be a great help. I’m assuming the fake camera is supposed to send back some specific (random) image.

PS: Im currently running my code in a docker container, so i don’t have a gui to look at.

Thanks

---

<div class="post-metadata">

**Author:** ![Mads](https://avatars.discourse-cdn.com/v4/letter/m/ec9cab/32.png) [@Mads](https://aravis-project.discourse.group/u/Mads)\
**Post date:** [December 8, 2025, 5:41pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/2 "2025-12-08T17:41:03Z")

</div>

Looking a bit more into the problem I’m facing, is running the fake camera and tester in a docker container, even within the same container:

```auto
arv-fake-gv-camera-0.8 -s fake_cam &￼
arv-camera-test-0.8 -d all

```

Running it this way yields the following output:

```auto
Looking for the first available camera
vendor name = Aravis
model name = Fake
device serial number = fake_cam
image width = 512
image height = 512
horizontal binning = 1
vertical binning = 1
exposure = 10000 µs
gain = 0 dB
payload = 262144 bytes
gv n_stream channels = 1
gv current channel = 0
gv packet delay = 0 ns
gv packet size = 1400 bytes
  0 frame/s - 0 MiB/s
  0 frame/s - 0 MiB/s
  0 frame/s - 0 MiB/s
  0 frame/s - 0 MiB/s
  0 frame/s - 0 MiB/s
  0 frame/s - 0 MiB/s
...

```

So it looks like control is working, but streaming is not. Running the fake camera and the test outside of the container works just fine.

---

<div class="post-metadata">

**Author:** ![rreignier](https://avatars.discourse-cdn.com/v4/letter/r/ec9cab/32.png) [@rreignier](https://aravis-project.discourse.group/u/rreignier)\
**Post date:** [December 8, 2025, 8:17pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/3 "2025-12-08T20:17:44Z")

</div>

Indeed, I have faced the same issue running the fake gige camera in a Docker container.  
From my debugging, the fake camera do send the packets, they are queued by the Linux kernel but aravis app does not get them. While the same app works perfectly with a real camera inside a container or with when ran outside of Docker.  
This might be related to the loopback interface and Docker iptables?  
But I did have the time to debug further.

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [December 8, 2025, 8:31pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/4 "2025-12-08T20:31:19Z")

</div>

For what it’s worth, the Aravis CI pipeline uses the fake camera in some of the tests. I don’t know how CI is implemented on GitHub, but I guess Docker is involved somehow.

---

<div class="post-metadata">

**Author:** ![rreignier](https://avatars.discourse-cdn.com/v4/letter/r/ec9cab/32.png) [@rreignier](https://aravis-project.discourse.group/u/rreignier)\
**Post date:** [December 8, 2025, 9:17pm UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/5 "2025-12-08T21:17:53Z")

</div>

But is it using the fake GV camera?  
Yes, Github Actions run on Docker.

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [December 9, 2025, 5:47am UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/6 "2025-12-09T05:47:34Z")

</div>

fakegv test is using the GV fake camera:

> <https://github.com/AravisProject/aravis/blob/28e0cb133aaa7df1080b8884b4d122818bda7eed/tests/fakegv.c#L277-L289>

```auto
 7/9 aravis:network / fakegv OK 14.75s
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
TAP version 13
# random seed: R02S2f5c0f868be73840fba87f4dab755d8a
1..5
# Start of fakegv tests
ok 1 /fakegv/discovery
# slow test /fakegv/discovery executed in 6.02 secs
ok 2 /fakegv/device_registers
ok 3 /fakegv/acquisition
ok 4 /fakegv/stream
# slow test /fakegv/stream executed in 3.38 secs
ok 5 /fakegv/dynamic_roi
# slow test /fakegv/dynamic_roi executed in 4.19 secs
# End of fakegv tests
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

```

---

<div class="post-metadata">

**Author:** ![Mads](https://avatars.discourse-cdn.com/v4/letter/m/ec9cab/32.png) [@Mads](https://aravis-project.discourse.group/u/Mads)\
**Post date:** [December 9, 2025, 11:13am UTC](https://aravis-project.discourse.group/t/help-with-fake-camera-and-python/959/7 "2025-12-09T11:13:50Z")

</div>

Thanks for your inputs. I can confirm that the fake camera does send all the packets, so it’s the exact same situation as you @rreignier. For some reason they are not being received by my application code. Thanks for confirming that you have it working with a real camera.
