
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这是一个系列,通过8篇文章帮助大家建立起 Flutter 的知识体系,建议大家好好阅读并收藏起来,如果能随手转发,那就更好了。本篇文章我们先介绍 Flutter 里一些常用的 UI 控件,然后借助官网提供的两个 demo 把所学的控件知识实际使用起来。基本控件Widget在 Flutter 里,UI 控件就是所谓的 Widget。通过组合不同的 Widget,来实现我们用户交互界面。...
前言:我们的产品是在一款跑着Android系统的特定芯片上使用webrtc开发的一个视频通话业务,当前的情况是在网络正常的情况下帧率也比较低,弱网环境下适应能力较差。基于此,我了解了webrtc Android平台的视频采集编码流程,并编写了相应的文章《webrtc之Android视频采集编码》。在深入细节之后,定位问题所在,并做了相应优化,在此记录相关过程,以后日后复习,以及和大家共同学习。..
做过视频会议都清楚,当网络出现丢包异常后,经常会导致视频出现长时间花屏问题。严重降低用户体验。测试webrtc发现,视频无论在什么环境,都没有出现花屏现象。若出现丢包,通过掉帧方式解决该问题。最坏的情况就是视频出现卡顿,但是也不会出现花屏。我们都知道视频解码器只管数据解码,不会判断是否是花屏,这个丢包导致花屏问题,只能在调度侧解决,解码器是不处理该异常的。webrtc在收包送到解码器这块流程,..
一、概念SVC(可适性视频编码或可分级视频编码)是传统H.264/MPEG-4 AVC编码的延伸,可提升更大的编码弹性,并具有时间可适性(Temporal Scalability)、空间可适性(Spatial Scalability)及质量可适性(SNR/Quality/Fidelity scalability)三大特性,使视频传输更能适应在异质的网络带宽。二、概述SVC以AVC视频编解码...
正常简单命令:ffmpeg -i input.mp4 -ss 1:05 -t 10 output.mp4-ss 5指定从输入视频第1:05秒开始截取,-t 10指明最多截取10秒。但是上面的命令可能会比较慢,更好的命令如下:ffmpeg -ss 1:05 -i input.mp4 -t 10 -c:v copy -c:a copy output.mp4把-ss 1:05放到-i前面,与原来的区别是
一、语音编码由于GSM系统是一种全数字系统,话音和其它信号都要进行数字化处理,因此移动台首先要将语音信号转换成模拟电信号,以及其反变换,移动台再把这模拟电信号转换成13Kbit/s的数字信号,用于无线传输。下面我们主要讲一下TCH全速率信道的编码过程。目前GSM采用的编码方案是13 Kbit/s的RPELTP(规则脉冲激励长期预测),其目的是在不增加误码的情况下,以较小的速率优化频谱占
PCM声音是重采样为无符号16bit的深度的,然后我们需要得到某一时间(一般是零点几毫秒)PCM所在内存的地址和PCM声音的大小,而16bit也就是16bit/8bit=2byte,在c语言中2byte用short int来表示,因此我们可以从PCM所在地址里面按顺序取出2个byte的数据然后转化成short int的值就可以拿到当前采样点的振幅了,获取的方式是用c语言中的memcpy拷贝2个字节
由前面基础知识可知,Android的应用层由Java语言编写,Framework框架层则是由Java代码与C/C++语言实现,之所以由两种不同的语言组合开发框架层,是因为Java代码是与硬件环境彻底“隔离”的跨平台语言,Java代码无法直接操作硬件。比如:Android系统支持大量传感器,Java运行在虚拟机中,无法直接得到传感器数据,而Android系统基于Linux操作系统,在Linux操作系
有时我们在使用Virtualbox虚拟机时,分配给虚拟机的磁盘空间太小,导致后期需要扩容,通过以下方法可以扩展磁盘空间。增强虚拟磁盘空间容量扩展前最好把所有快照删除掉!方法一:扩展磁盘空间打开Virtualbox所在的安装目录,执行以下命令,命令中的虚拟有磁盘路径改成自己的://查看虚拟磁盘空间信息,确认确实是需要扩容的虚拟硬盘。VBoxManage showhdinfo "H:\Vir
> Windows假设要引用的jar放在D:/test目录下,名字为t1.jar, java源文件放在D:/test/src目录下,名字为t2.java。编译:javac -cp d:/test/t1.jar d:/test/src/t2.java运行:java -cp d:/test/t1.jar;d:/test/src t2注意,分号后







