Any suggestion to make pjsip videocalls working on RPI? Pjsua videocall results in video vindow content that freeze on remote MicroSIP UA

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

 



Hi,

I don't have experience with RPI, but the problem may be that the other 
endpoint is waiting for H264 SPS and PPS packets in order to decode the 
video. When pjsip connects video it sends a fast picture update request 
to the other endpoint in order to get the other endpoint to send an IDR 
frame, before then pjsip will report corrupted bitstream errors. The 
pjsip codec (x264) by default is set up to send IDR frames every 250 
frames (roughly 17 sec at 15 fps), so this is what you'd expect from the 
colorbar generator, but if the RPI is encoding slowly it may take a 
while longer. I would check what the RPI is sending using wireshark.

Bill


On 5/1/2014 6:25 PM, SL wrote:
> Hi,
> I need to add video streaming (just transmission) to an exixting VOP 
> pjsip plain C program running on RPI (Raspberry PI), Raspbian Linux, 
> using RPI camera module with RPI hardware H.264 compression engine.
>
> I have build pjsip 2.2.1 with video support on RPI.
>
> After adding the driver to /etc/modules and restarting RPI, I am sure 
> that RPI camera module works, since, by typing:
>
> root at raspberrypi:~# v4l2-ctl 
> --set-fmt-video=width=640,height=480,pixelformat=4
>
> root at raspberrypi:~# v4l2-ctl --stream-mmap=3 --stream-count=100 
> --stream-to=/home/pi/myvideo.264
>
> I have obtained a good quality H.264 videoclip.
>
> Nevertheless RPI camera module don't seems to work correctly with 
> pjsip, since the preview SDL video overlay of Pjsua is green, without 
> any image.
>
> Did anyone succeed in using RPI video module with pjsip?
>
> Being currently impossible for me to test pjsip video capability on 
> RPI with RPI camera module as capture device, I decided to use pjsip 
> colorbar generator instead, thinking it should be 100% compatible with 
> pjlib video streaming, being in the same package.
>
> To test pjsip I have run Pjsua with --null-audio option because I 
> don't want to get additional problems with RPI audio drivers, since 
> RPI lacks audio input and this causes problem with pjsip lib. So, 
> after having properly changed the working folder, I gave the command:
>
> ./pjsua-armv6l-unknown-linux-gnueabihf --null-audio
>
> and I forced Pjsua to enable video call using pjsip colorbar generator 
> (colorbar generato ID is 1)
>
> >>> vid enable
> >>> vid acc cap 1
> >>> vid dev prev on 1
>
> RPI on its video out monitor correctly opened a SDL preview showing 
> colorbars.
>
> Attempt to videocall remote MicroSIP UA running on Window xp:
>
> >>> m
>     sip:toto at 192.168.1.10
>
> correctly results in remote UA ringing, but after pressing button 
> "accept incoming videocall", remote UA pops up a transparent window 
> that suddenly freezes its content (the related desktop portion). 
> Besides video, remote UA seems to behave correctly, while RPI shows a 
> RPI CPU usage of 76% that could be related to video streaming activity
>
> The only error that I can see is this one:
> vstdec0x12a9b6  codec decode() error: Bad or corrupted bitstream 
> (PJMEDIA_CODEC_EBADBITSTREAM) [err:220087]
>
> Call is correctly ended by pressing 'h' since remote UA closes its 
> video window and RPI CPU usage gets down below 1%
>
> Linphone behaves differently than MicroSIP. Linphone rings only if I 
> do a call without video. If I try to do a videocall, Linphone don't 
> even ring but Pjsua behaves as it would be ringing, so it was 
> impossible for me to do a test with Linphone. Please notice that 
> Linphone behaves correctly with a pjsua audio call without video.
>
> My second question is: is there anybody that succeed in making 
> videocall working with a pjsip program on RPI? Is there a trick to 
> make pjsip working on RPI?
>
> Thanks for your attention and thanks in advance for your suggestion... 
> if any...
>
> Best regards
> Silvio
>
>  * Tedesco - rilevata
>  * Afrikaans
>  * Albanese
>  * Arabo
>  * Bielorusso
>  * Bulgaro
>  * Catalano
>  * Cinese
>  * Cinese (Semplificato)
>  * Cinese (Tradizionale)
>  * Croato
>  * Ceco
>  * Danese
>  * Olandese
>  * Inglese
>  * Estone
>  * Filippino
>  * Finlandese
>  * Francese
>  * Galiziano
>  * Tedesco
>  * Greco
>  * Ebraico
>  * Creolo haitiano
>  * Hindi
>  * Ungherese
>  * Islandese
>  * Indonesiano
>  * Irlandese
>  * Italiano
>  * Giapponese
>  * Coreano
>  * Lettone
>  * Lituano
>  * Macedone
>  * Malese
>  * Maltese
>  * Norvegese
>  * Farsi
>  * Polacco
>  * Portoghese
>  * Portoghese (Portogallo)
>  * Romeno
>  * Russo
>  * Serbo
>  * Slovacco
>  * Sloveno
>  * Spagnolo
>  * Swahili
>  * Svedese
>  * Thai
>  * Turco
>  * Ucraino
>  * Vietnamita
>  * Gallese
>  * Yiddish
>
>  * Afrikaans
>  * Albanese
>  * Arabo
>  * Bielorusso
>  * Bulgaro
>  * Catalano
>  * Cinese
>  * Cinese (Semplificato)
>  * Cinese (Tradizionale)
>  * Croato
>  * Ceco
>  * Danese
>  * Olandese
>  * Inglese
>  * Estone
>  * Filippino
>  * Finlandese
>  * Francese
>  * Galiziano
>  * Tedesco
>  * Greco
>  * Ebraico
>  * Creolo haitiano
>  * Hindi
>  * Ungherese
>  * Islandese
>  * Indonesiano
>  * Irlandese
>  * Italiano
>  * Giapponese
>  * Coreano
>  * Lettone
>  * Lituano
>  * Macedone
>  * Malese
>  * Maltese
>  * Norvegese
>  * Farsi
>  * Polacco
>  * Portoghese
>  * Portoghese (Portogallo)
>  * Romeno
>  * Russo
>  * Serbo
>  * Slovacco
>  * Sloveno
>  * Spagnolo
>  * Swahili
>  * Svedese
>  * Thai
>  * Turco
>  * Ucraino
>  * Vietnamita
>  * Gallese
>  * Yiddish
>
>  <javascript:void(0);>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140501/52fcd091/attachment.html>


[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