Running a one-way videocall on a Raspberry Pi with Pi Camera

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am working on my bachelor thesis: VOIP Video Doorbell with one-way video.

I am fighting with this a issue for a lot of hours. The issue is that I am unable to make videocalls via SIP work. I sucessfully connected audio calls, and even other requested features like "unlocking doors" (switching relay on GPIO when right DTMG code is entered) works.

Just the video is not working.

For development, I am using Raspberry Pi 4 as it compiles faster the Pi Zero 2W, but after sucesfull setup, I will recompile the PJSIP (version 2.10) and make everything work on Pi Zero 2W.

My other HW is a Respeaker 2Mics HAT and Pi Camera v1.3 (provided by my university).

I tried nearly everything I was able to with my programming skills (I study IT security and IT law, not programming).

1. I checked that codecs are supported on both sides (using MicroSIP on Windows as the other side)
2. I contected the SIP provider (odorik.cz) and checked my setup is compatible with videocalls - their team was helpful and confirmed my calls are not being blocked on their side.
3. I tried numerous options how to compile the PJSIP library with or without FFMPEG, with V4L2 support. And I read hundreds of posts talking about video support, so I can make it work by myself.
4. I even tried local calls without any SIP providers (Directly calling to an IP, as both devices are in the same local network)
5. Unfortunately, I was unable to make it work, so I decided to share my code and logs, so anybode that understand the PJSIP library and python better than me can help me get out of this hell of hunders of hours in this issue.

here is my main file Doorbelly.py that controls everything: https://paste.brcb.eu/yrygofukud.md

Then here is call.py file that controls the call itself: https://paste.brcb.eu/gywequhaqu.rb

And just linking other files like lock.py used for unlocking the door: https://pastebin.com/nB3hGz4s

Here is my config loaded by the doorbell.py and used for controlling the call destination and lock password: https://paste.brcb.eu/majucypygo.ini

And finally, here is my log of the call: https://pastebin.com/fFMN2HnG

What I understand from this is that it tries to open an RX stream and its window, but it failes as there is no screen attached to the RPi (and it will not be in the project)

So my idea was to retry opening a new video stream with just outgoing direction once the call is estabilished. But that fails also.


I am sorry for such a long report and I thank you in advance for helping me with this issue. I am not a dead end and have no idea what to try next.

Thank you!

kind regards
Simon Cechacek
_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list -- pjsip@xxxxxxxxxxxxxxx
To unsubscribe send an email to pjsip-leave@xxxxxxxxxxxxxxx

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux