[Telepathy] best frame rate for video chat

Alexey Fisher bug-track at fisher-privat.net
Sun Aug 22 07:57:51 PDT 2010


Hallo all,
i currently working on performance problem by cheese and looks like
empathy has same issue only with other encoder. It looks like empathy
encode with same frame rate, what webcam said it can provide. For
example, my both cams tell they can 30fps. With all respect even for dvd
used 25fps. Any way, most webcams say they do 30fps but provide less
than 15fps.

you can test it with fpsdisplaysink: 
gst-launch v4l2src ! video/x-raw-yuv,width=320,height=240 !
ffmpegcolorspace ! fpsdisplaysink

With kernel "rmmod uvcvideo && modprobe uvcvideo trace=15" i got this
log:
camera init by skype:
[34467.478549] uvcvideo: Trying format 0x56595559 (YUYV): 320x240
[34467.478551] uvcvideo: Using default frame interval 66666.6 us (15.0
fps).
[34467.503945] uvcvideo: Setting frame interval to 1/15 (666666).


camera init by empathy:
[36203.506493] uvcvideo: Control 0x00980924 not found.
[36203.506495] uvcvideo: Control 0x08000000 not found.
[36203.517378] uvcvideo: Trying format 0x47504a4d (MJPG): 320x240.
[36203.517381] uvcvideo: Using default frame interval 66666.6 us (15.0
fps).
[36203.544280] uvcvideo: Setting frame interval to 1/30 (333333).


you can see, skype use YUYV and set stream to 15 fps. empathy use mjpg
stream and set it back to 30fps. Probably MJPG is cheaper to transcode
than YUYV :D

Most codecs and conteiners do not support dynamic frame rate, i do not
know haw about h263. So probably empathy trying to stabilize frame rate
to announced. If anounced 30fps and got 5fps it will upscale it to 30.
This make no sense, espasially on slow CPU or to stream it in the
network.

take a look to this links for more info:
https://bugzilla.gnome.org/show_bug.cgi?id=627459
https://bugzilla.gnome.org/show_bug.cgi?id=564957
Frame rate part of  this doc:
https://docs.google.com/document/pub?id=14GlfUdWGGiC-4ZIpZnvjRGAiMOAsyxIHeWYsp3mzEtE


Regards,
	Alexey.



More information about the telepathy mailing list