- 博客(8)
- 收藏
- 关注
原创 音视频基础(四)音频文件格式转换(支持重采样采样位数为24位)
ffmpeg将音频文件重采样为8位、16位、32位的命令比较容易查找,但是重采样为24位却非常非常的少。ffmpeg支持的编解码有。
2022-12-24 20:54:51
1148
1
原创 音视频基础(三)WAV格式与PCM简介
直接上百度百科的定义:PCM(Pulse Code Modulation)脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。简单的说,PCM就是直接对原始的模拟声波信号 进行 采样 后得到的 数据采样率 是 指 一秒钟 从脉冲 信号 中 采样了 多少个 sample。
2022-12-24 20:14:33
861
原创 音视频基础(二)摄像头视频采集压缩及传输基本原理
如果有足够大的缓冲区、充足的网络带宽,在TCP协议上,接近实时的视音频传输也是可能的。然而这将需要一个甚至更多的周期(根据TCP/IP的快速重传机制,这将需要三个额外的帧延迟),这种重传对于实时性要求较高的视音频数据通信来说几乎是灾难性的,因为接收方不得不等待重传数据的到来,从而造成了延迟和断点(音频的不连续或视频的凝固等等)。即便是在网络运行状态良好、没有丢包的情况下,由于TCP的启动需要建立连接,因而在初始化的过程中,需要较长的时间,而在一个实时视音频传输应用中,尽量少的延迟正是我们所期望的。
2022-12-24 20:02:55
1308
原创 音频基础知识(一)为什么高品质音频采样率> =44.1Khz
=音色==其实也不难理解,在同样的音调(频率)和响度(振幅)下,钢琴和小提琴的声音听起来是完全不相同的,因为它们的音色不同。Ogg有着非常出色的算法,可以用更小的码率达到更好的音质,MP3具有不错的压缩比,使用LAME编码(MP3编码格式的一种实现)的中高码率的MP3文件,听感上非常接近源WAV文件,当然在不同的应用场景下,应该调整合适的参数以达到最好的效果。声音其实是一种纵波,会压缩空气也会压缩这层碳膜,碳膜在受到挤压时也会发出振动,在碳膜的下方就是一个电极,碳膜在振动的时候会接触电极,
2022-12-24 19:52:30
1253
原创 基于MediaPlayer的Android播放器控件
Android自身的播放控件在界面定制上不是很方便,而且没有针对播放流进行加工处理的相关接口。于是自己写了一个基于MediaPlayer的播放器控件。效果图。
2022-12-01 20:24:33
701
原创 基于Webrtc的视频通话录制功能-Android实现
webrtc的sdk只是暴露了视频数据给开发者,而音频数据并没有向外暴露。因此如果要进行视频通话的录制,需要修改webrtc的sdk,将音频数据暴露出来。b) 不修改源码,启动App后直接在设置中修改房间服务器地址为自己搭建的房间服务器的地址。a) 视频数据采集使用MediaProjection+VirtualDisplay。c) 使用MediaCodec编码,使用MediaMuxer封装成MP4文件。webrtc的下载和编译可参考之前的文章:[b) 双路音频的混音使用平均算法。
2022-12-01 20:15:38
288
原创 高效使用PySpark的技巧,值得大家的收藏
所以一个很好用的方式就是对自己需要实际运算的代码和需要临时查看的数据有前置的理解,清楚哪部分的数据是会被多次重复运算和查看的,可以使用.persist()函数将数据临时输出写入磁盘,以此避免重复计算的耗时。读入/存储数据的方式会对数据查询效率有很大的影响。很多分析场景中,HiveSQL 已经可以满足很多数据分析的需求了,但 Spark 更便于很多数据科学的同学按照写 Python 的逻辑来做更复杂的大量数据分析方式,下面的表很好的总结了一些 Hive 和 Spark 的差异点。
2022-11-03 14:55:29
1209
原创 从一道数据库面试题彻谈MySQL加锁机制
有一道关于数据库锁的面试题,发现其实很多 DBA 包括工作好几年的 DBA 都答的不太好,说明 MySQL 锁的机制其实还是比较复杂,值得深入研究。本文对 3 条简单的查询语句加锁情况进行分析,彻底搞清楚加锁细节。首先来看这个面试题: 已知表 t 是 innodb引擘,有主键:id(int 类型) ,下面 3 条语句是否加锁?加锁的话,是什么锁?这里其实有很多依赖条件,并不能一开始就给出一个很确定的答复。我们一层层展开来分析。
2022-11-03 14:46:06
176
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人