音视频会议2个月复盘

为了更清晰的记录现在的工作情况,有什么,要什么,放弃什么。

Read more
Mac平台下编译PjSip Android端实现P2P电话

如何编译PjSip源码,运行Android的demo,p2p相互呼叫

Read more
大医精诚

简体版

张湛曰:夫经方之难精,由来尚矣。今病有内同而外异,亦有内异而外同,故五脏六腑之盈虚,血脉荣卫之通塞,固非耳目之所察,必先诊候以审之。而寸口关尺有浮沉弦紧之乱,腧穴流注有高下浅深之差,肌肤筋骨有厚薄刚柔之异,唯用心精微者,始可与言于兹矣。今以至精至微之事,求之于至粗至浅之思,岂不殆哉!若盈而益之,虚而损之,通而彻之,塞而壅之,寒而冷之,热而温之,是重加其疾。而望其生,吾见其死矣。故医方卜筮,艺能之难精者也。既非神授,何以得其幽微?世有愚者,读方三年,便谓天下无病可治;及治病三年,乃知天下无方可用。故学者必须博极医源,精勤不倦,不得道听途说,而言医道已了,深自误哉。

凡大医治病,必当安神定志,无欲无求,先发大慈恻隐之心,誓愿普救含灵之苦。若有疾厄来求救者,不得问其贵贱贫富,长幼妍蚩,怨亲善友,华夷愚智,普同一等,皆如至亲之想。亦不得瞻前顾后,自虑吉凶,护惜身命。见彼苦恼,若己有之,深心凄怆。勿避险巇、昼夜、寒暑、饥渴、疲劳,一心赴救,无作功夫形迹之心。如此可为苍生大医,反此则是含灵巨贼。自古名贤治病,多用生命以济危急,虽曰贱畜贵人,至于爱命,人畜一也,损彼益己,物情同患,况于人乎。夫杀生求生,去生更远。吾今此方,所以不用生命为药者,良由此也。其虻虫、水蛭之属,市有先死者,则市而用之,不在此例。如鸡卵一物,以其混沌未分,必有大段要急之处,不得已隐忍而用之。能不用者,斯为大哲亦所不及也。其有患疮痍下痢,臭秽不可瞻视,人所恶见者,但发惭愧凄怜忧恤之意,不得起一念蒂芥之心,是吾之志也。

夫大医之体,欲得澄神内视,望之俨然。宽裕汪汪,不皎不昧。省病诊疾,至意深心。详察形候,纤毫勿失。处判针药,无得参差。虽曰病宜速救,要须临事不惑。唯当审谛覃思,不得于性命之上,率尔自逞俊快,邀射名誉,甚不仁矣。又到病家,纵绮罗满目,勿左右顾眄;丝竹凑耳,无得似有所娱;珍馐迭荐,食如无味;醽醁兼陈,看有若无。所以尔者,夫一人向隅,满堂不乐,而况病人苦楚,不离斯须,而医者安然欢娱,傲然自得,兹乃人神之所共耻,至人之所不为,斯盖医之本意也。

夫为医之法,不得多语调笑,谈谑喧哗,道说是非,议论人物,炫耀声名,訾毁诸医。自矜己德。偶然治瘥一病,则昂头戴面,而有自许之貌,谓天下无双,此医人之膏肓也。

老君曰:人行阳德,人自报之;人行阴德,鬼神报之。人行阳恶,人自报之;人行阴恶,鬼神害之。寻此二途,阴阳报施,岂诬也哉?所以医人不得恃己所长,专心经略财物,但作救苦之心,于冥运道中,自感多福者耳。又不得以彼富贵,处以珍贵之药,令彼难求,自炫功能,谅非忠恕之道。志存救济,故亦曲碎论之,学者不可耻言之鄙俚也。

繁体版


深秋的尾巴

这个周末正好没啥事 ,赶紧报名参加周六爬山活动。大巴里大家自我介绍,破冰行动,欢声笑语,其乐融融 。经过一段时间,到达杨家村。

爬山的时候,暖暖的阳光,洒在山间,林间的鸟儿叫唤着,仿佛着迎接着远方的旅人 ,山路曲折,跟着大部队缓步前行,到达山顶一览众山小,下山风景也很美,湖光山色,晚秋的风景随处可见 ,银杏散落在整个村庄的各处,千年银杏,名不虚传,果然最好的解压方式还是走近自然,亲近大自然。

人海茫茫,相逢即是缘,有缘再见。

顺便一提,挺喜欢发的小风车,每当微风拂过,转个不停,有慢到快,有快到慢,自然而然。


使用Linphone做P2P语音通话

SIP客户端介绍

  • 关于VoIP中有很多的SIP客户端,其中Linphone、PJSIP、Telephone、BareSIP等。
  • LinPhone是跨平台的,包含了Windows、Linux、Mac、Android、iOS,支持视频,它是开源的。
  • PJSIP是个协议栈,也有个客户端,它是开源的,支持语音和视频。支持STUN、ICE、WebRTC AEC等,很多客户端都是用它作协议栈。它的实现是为了能在嵌入式设备上高效实现SIP/VoIP。
  • Telephone是一款开源免费的电话,界面非常简洁,仅支持Mac,在Apple Store里可以直接下载,底层用PJSIP。不支持视频。
  • Baresip是一个协议栈,不过,它带了一个完整的命令行SIP客户端,也很好用,它是开源的,跨平台的,支持语音和视频。

Linphone客户端配置

配置默认端口5060

  • 设置网络-端口关闭随机-默认5060

  • 保证呼叫的设备在同一个局域网同网段内,然后通过Linphone的呼叫键盘输入内容,一方通过sip:xxx@ip的形式呼叫一方设备,其中xxx的话自定义,比如:1002,ip的话是被呼叫设备的对应地址,比如:192.168.30.122。

  • 如果是自己的应用代码设置如下:

    1
    2
    3
    4
    5
    val transports = core.transports
    transports.udpPort = 5060
    transports.tcpPort = 5060
    transports.tlsPort = -1
    core.transports = transports

image-20231123101811616

Linphone常见问题

电话呼叫停止铃声

  • 配置core.ringDuringIncomingEarlyMedia = false
  • 然后呼入状态里调用core.stopRinging()

背景音降噪

  • 在assets的linphonerc_factory配置文件中增加,linphonerc_factory中的配置linphone每次启动都会应用,如果是linphonerc_default配置文件只会应用一次,下次启动不会重新应用
    1
    2
    3
    4
    [sound]
    noisegate=1 #这个表示开启降噪音,不开会又背景音
    ng_thres=0.12 #这个表示声音这个阈值以上都可以通过,用于判断哪些是噪音
    ng_floorgain=0.12 #这个表示低于阈值的声音进行增益,用于补偿声音太小被吃掉

硬件回声消除器不工作,强制使用软件回声消除器

  • 官方文档说明
    1
    2
    3
    4
    The hardware echo canceller on Android often only works if the AudioManager's mode is set to IN_COMMUNICATIONS.
    Any linphone-sdk newer than 5.0 will do that automatically, but make sure you don't modify it's value in your app.

    If the device declares having a hardware echo canceller but it doesn't work, you can use the following Kotlin code to tell our SDK to use the software one instead:
1
2
3
4
5
core.mediastreamerFactory.setDeviceInfo(android.os.Build.MANUFACTURER, android.os.Build.MODEL, android.os.Build.DEVICE, org.linphone.mediastream.Factory.DEVICE_HAS_BUILTIN_AEC_CRAPPY, <calibrated value>, 0)
core.reloadSoundDevices()

To get the correct <calibrated value>, use the echo canceller calibration option in linphone-android's audio settings.
Do it a few times and keep the lowest value.

回声消除优化

  • linphone会识别当前设备是否支持硬件回声消除器,如果不支持的话才会走软件回声消除器,软件回声消除器有三种算法可以选择,MSSpeexAEC,MSWebrtcAECM,MSWebrtcAEC,官方推荐使用第三种算法,音质更好,但会占用更多CPU另外算法的延迟值很重要是,是麦克风和扬声器的距离等因素有关,linphone提供了对应的api可以测试,另外算法的区间是有限的,默认是80的区间中搜索,比如延迟值为200ms,那么算法的工作区间是200ms-280ms之间。

通话无声音

  • 之前老的版本不需要,5.0 SDk开始需要增加依赖配置
    1
    2
    3
    dependencies {
    implementation 'androidx.media:media:1.2.0'
    }

单独拉流播放并通话,通话会暂停

  • 在assets的linphonerc_factory配置文件中增加,linphonerc_factory中的配置linphone每次启动都会应用,如果是linphonerc_default配置文件只会应用一次,下次启动不会重新应用
    1
    2
    [audio]
    android_pause_calls_when_audio_focus_lost=0

参考资料

Linphone的p2p设置官方说明
Linphone Android
Audio devices
Audio tuning
我用过的那些SIP客户端


悟真篇

嗟夫!人身难得,光景易迁,罔测修短,安逃业报?不自及早省悟,惟只甘分得终,若临歧一念有差,堕于三涂恶趣,则动经尘劫无有出期,释老以性命学开方便门,教人修炼以逃生死。释氏以空寂为宗,若顿悟圆通,则直超彼岸,如其习漏未尽,则尚循于有生。老氏以炼养为真,若得其要枢,则立跻圣位,如其未明本性,则犹滞于幻形。其次《周易》有穷理尽性致命之词,鲁语有毋意、必,固,我之说,此又孔子极臻于性命之奥也。

Read more
半年总结

记录半年的进度

Read more
阴符经

阴符经渊源

  • 和道德经同为道家至高典籍,道教南宗祖师张伯端写有一诗:阴符宝字逾三百,道德灵文满五千,今古上仙无限数,尽从此处达真诠。《阴符经》与《道德经》并称,是一部高度精炼的道教经书。
  • 《阴符经》是我国古代思想文化的瑰宝,闪耀着智慧的光芒。被历代的政治家,军事家和智谋之士所重视。
  • 《黄帝阴符经》作者说是轩辕黄帝,历史上有太公、范蠡、鬼谷子、张良、诸葛亮、李淳风、李筌、李治、李鉴、李锐、杨晟等都作过注解,《四库全书》中有所收录。《阴符经》应该是一部思想著作,集道家的治国方略,养生之道,兵法战术等。

全文

  观天之道,执天之行,尽矣。天有五贼,见之者昌。五贼在心,施行于天。宇宙在乎手,万化生乎身。天性,人也;人心,机也。立天之道,以定人也。天发杀机,移星易宿;地发杀机,龙蛇起陆;人发杀机,天地反覆。天人合发,万化定基。性有巧拙,可以伏藏。九窍之邪,在乎三要,可以动静。火生于木,祸发必克;奸生于国,时动必溃。知之修炼,谓之圣人。
  天生天杀,道之理也。天地,万物之盗;万物,人之盗;人,万物之盗。三盗既宜,三材既安。故曰:食其时,百骸理;动其机,万化安。人知其神之神,不知其不神之所以神也。日月有数,大小有定;圣人生焉,神明出焉。其盗机也,天下莫能见,莫能知。君子得之固躬,小人得之轻命。
  瞽者善听,聋者善视。绝利一源,用师十倍;三反昼夜,用师万倍。心生于物,死于物,机在目。天之无恩,而大恩生。迅雷烈风,莫不蠢然。至乐性馀,至静性廉。天之至私,用之至公,禽之制在气。生者死之根,死者生之根。恩生于害,害生于恩。愚人以天地文理圣,我以时物文理哲;人以愚虞圣,我以不愚虞圣;人以奇期圣,我以不奇期圣。故曰:沉水入火,自取灭亡。自然之道静,故天地万物生;天地之道浸,故阴阳胜。阴阳相推,而变化顺矣。是故圣人知自然之道不可违,因而制之。至静之道,律历所不能契。爰有奇器,是生万象。八卦甲子,神机鬼藏。阴阳相胜之术,昭昭乎进乎象矣。


思考力

思考力

原理性思维

  • 事物背后隐藏的东西,本质内容

结构化思维

扩展性思维

  • 举一反三
  • 寻求更多的可能性

抓重点思维

  • 从知识树中筛选重点,两则并不矛盾,核心思路是要抓住重点和脉络

锻炼思考力的有效实践

1.意识觉醒

  • 意识到去锻炼思考力这个东西

2.保持信心

  • 人人平等

3.空杯心态

  • 人无完人,天外有天

4.思考训练时间从哪里来

  • 1.利用碎片时间,比如上下班路上的时间,吃饭的时候,可以把刚才或者今天的事情想一想,想通了,然后定期汇总一下就可以。

  • 2.抓住工作的过程,注意,每次出技术方案,优化代码,排查问题,处理故障,准备晋升,年终总结。。。都是一次训练的机会,在做事情的过程中就可以思考并快速实践。

5.评估思考力提升的标准

  • 思考力3个度,广度,深度,速度

6.好的工具推荐

  • xmind

7.一定要互相分享

  • 思考力虽然靠自己,但是一定要相互分享。因为思考是智力活动,相互分享完全能够取得1+1>2的效果。

习惯vs习以为常

1
相信这句话,精英之所以精英,是不间断的正向习惯的驱使。
  • 所谓改变习惯就是在触发条件发生后进入下一个行为前,让自己作对选择题。
  • 了解习惯产生的机制后,改变习惯就变得相对简单,每次在触发条件发生时,做一道选择题,选择做无效的事,还是对自己有益的事情(包括休息,学习,运动等)。

时间的三八理论

  • 8个小时工作,8小时自由,8小时睡觉

  • 如果想从工作中省点时间,想从周末挤点时间用于学习,这叫做成长的断崖,我相信不能持续,学习必须是每日的必修课,必须是日拱一卒,持之以恒,有不断输入,持续地沉淀,正所谓,学而不思则罔,思而不学则殆,所以能在关键时刻输出解决问题能力,从而获得能力认可。

  • 所谓时间管理就是找到不被打扰的时间用于投资自己的成长。

  • 实际上真正的安全感,成就感,归属感来自自我成长,自我沉淀。

  • 练习只字不差的阅读,因为只字不差的阅读会让自己更专注的理解内容的逻辑关系,从而达到提升注意力的目的。

执行力

  • 执行力就是想明白,然后一步一步做下去。

贵人

  • 借事修人,事情结果反而并不是很重要,人成了目的达到,人的能力提升了
  • 因为相信一切问题源于自己,让自己变好是解决一切问题的根源

会议

  • 参与会议讨论就像在模拟机器学习,通过正反馈来优化自己的逻辑和观点。

职业规划

  • 所谓职业规划,就是工作能力提升

alt text


高上玉皇心印妙经

《高上玉皇心印妙经》是道教典籍。吕祖曰“只修性,不修命,此是修行第一病;只修祖性不修丹,万劫阴灵难入圣”。本经便是命功修行之法。

Read more