首页 > 代码库 > IMSdroid视频马赛克问题

IMSdroid视频马赛克问题

IMSdroid网络环境比较差的情况下,马赛克非常严重,观察看到一个选项Zero Video Artifacts,顾名思义:零伪影,即没有伪装的影像,专业说法应该就是一种软件补偿成像的算法吧。设置后马赛克确实减少很多,但是网络差还是卡顿,试了下QQ也是一样的。原理看看这个:

n a video processing system where motion vectors are estimated for a subset of the blocks of data forming a video frame, and motion vectors are interpolated for the remainder of the blocks of the frame, a method includes determining, for at least at least one block of the current frame for which a motion vector is not estimated ( 204 ), whether a block to the left or right has an estimated zero motion vector ( 206 ), determining whether the at least one block had an estimated zero motion vector in a previous frame ( 206 ), and if both determinations are affirmative ( 208 ), providing a predetermined motion vector for the at least one block. The predetermined motion vector may be a zero motion vector ( 208 ).

(PS:我是看的晕晕的)

https://groups.google.com/forum/#!topic/doubango/TpDL3qEH7yQ

 

关于此设置选项的一些问题:

This setting is (still?) hardcoded in tinyMEDIA/src/tmedia_defaults.c of the Doubango source. To enable it change
static tsk_bool_t __video_zeroartifacts_enabled = tsk_false; // Requires from remote parties to support AVPF (RTCP-FIR/NACK/PLI)

to:
static tsk_bool_t __video_zeroartifacts_enabled = tsk_true; // Requires from remote parties to support AVPF (RTCP-FIR/NACK/PLI)

And recompile Doubango and webrtc2sip.

 

There is a public API function to enable/disable this feature but it‘s not recommended to enable it on webrtc2sip as it‘s a relay and not a producer.

This feature should only be enabled on the clients or any endpoint acting as video producer (in opposite to video relay).

 

IMSdroid视频马赛克问题