avatar
文章
81
标签
68
分类
11
首页
归档
分类
标签
关于
联系
隐私政策
AI
后端
  • Java
  • Go
  • Python
前端
音视频
投资
运维
随笔
分享
Clang's Blog
首页
归档
分类
标签
关于
联系
隐私政策
AI
后端
  • Java
  • Go
  • Python
前端
音视频
投资
运维
随笔
分享

Clang's Blog

自定义Spring Cache的key
发表于2019-06-22|Java
在多租户系统中,为了统一处理系统缓存,需在缓存组件中加上租户Id,以下是自定义自定义Spring Cache的key步骤。 1、继承RedisCacheManager123456789101112131415public class RedisAutoCacheManager extends RedisCacheManager { public RedisAutoCacheManager(RedisCacheWriter cacheWriter, RedisCacheConfiguration defaultCacheConfiguration) { super(cacheWriter, defaultCacheConfiguration); } /** * 从上下文中获取租户ID,重写@Cacheable value值 * @param name * @return */ @Override public Cache getCache(String name)...
Vue实现跨域请求
发表于2019-02-02|前端
一般解决跨域问题可以通过CORS跨域、JSONP和反向代理跨域。下面分别介绍这三种跨域方式: 1、CORS以netty为例,支持跨域请求需要配置的返回头信息。 1234567891011FullHttpResponse response = null;String responseStr = result.toString() + "xxxxx";response.headers().set("response", MD5Util.getMD5Code(responseStr, true));response.headers().set(HttpHeaderNames.ACCESS_CONTROL_EXPOSE_HEADERS, "response"); // 有增加头的配置response.headers().set(HttpHeaderNames.CONTENT_TYPE,...
重放攻击的实现方案
发表于2018-06-23|Java
...
macOS下如何编译FFmpeg for macOS APP
发表于2017-08-11|音视频
我们今天来说说如何编译出适用于macOS APP的库,包括动态库和静态库。 一、基本编译1、首先我们下载一个最新的ffmpeg源码。 1git clone https://git.ffmpeg.org/ffmpeg.git 2、配置./configure选项,这个要注意需要设置对macOS最低版本的要求,否则是默认当前本机的最新系统如,这样的话在使用库的时候,如果是APP要运行在10.10及之下的系统时候,就会报错。 1--extra-cflags=-mmacosx-version-min=10.8 --extra-ldflags=-mmacosx-version-min=10.8 3、执行./configure内容如下: 1./configure --target-os=darwin --enable-static --enable-swscale --enable-nonfree --enable-gpl --enable-version3 --enable-nonfree --disable-programs ...
iOS直播技术分享-直播播放器(六)
发表于2016-10-25|音视频
随着互联网技术的飞速发展,移动端播放视频的需求如日中天,由此也催生了一批开源、闭源的播放器,但是无论这个播放器功能是否强大、兼容性是否优秀,它的基本模块通常都是由以下部分组成:事务处理、数据的接收和解复用、音视频解码以及渲染,其基本框架如下图所示: 针对各种铺天盖地的播放器项目,选取了比较出众的ijkplayer进行源码剖析。它是一个基于FFPlay的轻量级Android/iOS视频播放器,实现了跨平台的功能,API易于集成;编译配置可裁剪,方便控制安装包大小。 一、总体说明打开ijkplayer,可看到其主要目录结构如下: tool - 初始化项目工程脚本config - 编译ffmpeg使用的配置文件extra - 存放编译ijkplayer所需的依赖源文件, 如ffmpeg、openssl等ijkmedia - 核心代码  ijkplayer - 播放器数据下载及解码相关  ijksdl - 音视频数据渲染相关ios - iOS平台上的上层接口封装以及平台相关方法android -...
iOS直播技术分享-延迟优化(五)
发表于2016-10-25|音视频
音视频的直播系统是一个复杂的工程系统,要做到非常低延迟的直播,需要复杂的系统工程优化和对各组件非常熟悉的掌握。这里分享几个简单而常用的调优技巧。 编码优化1、确保 Codec 开启了最低延迟的设置。Codec 一般都会有低延迟优化的开关,对于 H.264 来说其效果尤其明显。很多人可能不知道 H.264 的解码器正常情况下会在显示之前缓存一定的视频帧,对于 QCIF 分辨率大小的视频(176 × 144)一般会缓存 16 帧,对于 720P 的视频则缓存 5 帧。对于第一帧的读取来说,这是一个很大的延迟。如果你的视频不是使用 H.264 来编码压缩的,确保没有使用到 B 帧,它对延迟也会有较大的影响,因为视频中 B 帧的解码依赖于前后的视频帧,会增加延迟。2、编码器一般都会有码控造成的延迟,一般也叫做初始化延迟或者视频缓存检验器 VBV...
iOS直播技术分享-推流和传输(四)
发表于2016-10-25|音视频
推流是直播的第一公里,直播的推流对这个直播链路影响非常大,如果推流的网络不稳定,无论我们如何做优化,观众的体验都会很糟糕。所以也是我们排查问题的第一步,如何系统地解决这类问题需要我们对相关理论有基础的认识。 推送协议 下面就先介绍一下都有哪些推送协议,他们在直播领域的现状和优缺点。RTMPWebRTC基于 UDP 的私有协议 1、RTMPRTMP 是 Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持 RTMP 协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括 Adobe Media Server/Ultrant Media Server/red5 等。RTMP...
iOS直播技术分享-视频编码(三)
发表于2016-07-11|音视频
x264是一种免费的、具有更优秀算法的符合H.264/MPEG-4 AVC视频压缩编码标准格式的编码库。它同xvid一样都是开源项目,但x264是采用H.264标准的,而xvid是采用MPEG-4早期标准的。由于H.264是2003年正式发布的最新的视频编码标准,因此,在通常情况下,x264压缩出的视频文件在相同质量下要比xvid压缩出的文件要小,或者也可以说,在相同体积下比xvid压缩出的文件质量要好。它符合GPL许可证。 iOS视频编码分为硬编码和软编码:硬编码就是利用手机专用的硬件进行编码,软编码是用CPU进行编码。由于苹果在iOS8开放的硬编码的API,故现在大多数的直播应用都是采用的硬编码。 iOS硬编码从iOS8开始,苹果开放了硬解码和硬编码API,框架为 VideoToolbox.framework, 此框架需要在iOS8及以上的系统上才能使用。 此框架中的硬解码API是几个纯C函数,在任何OC或者 C++代码里都可以使用。使用的时候,首先,要把VideoToolbox.framework...
iOS直播技术分享-音频编码(二)
发表于2016-07-11|音视频
音频基础知识PCM格式pcm是经过话筒录音后直接得到的未经压缩的数据流数据大小=采样频率采样位数声道*秒数/8采样频率一般是44k,位数一般是8位或者16位,声道一般是单声道或者双声道pcm属于编码格式,就是一串由多个样本值组成的数据流,本身没有任何头信息或者帧的概念。如果不是音频的录制者,光凭一段PCM数据,是没有办法知道它的采样率等信息的。 AAC格式初步了解,AAC文件可以没有文件头,全部由帧序列组成,每个帧由帧头和数据部分组成。帧头包含采样率、声道数、帧长度等,有点类似MP3格式。 AAC编码初始化编码转换器123456789101112131415161718192021222324252627282930313233343536373839404142-(BOOL)createAudioConvert{ //根据输入样本初始化一个编码转换器 if (m_converter != nil){ return TRUE; } AudioStreamBasicDescription...
iOS直播技术分享-音视频采集(一)
发表于2016-07-02|音视频
1、iOS直播技术的流程直播技术的流程大致可以分为几个步骤:数据采集、图像处理(实时滤镜)、视频编码、封包、上传、云端(转码、录制、分发)、直播播放器。 数据采集:通过摄像头和麦克风获得实时的音视频数据; 图像处理:将数据采集的输入流进行实时滤镜,得到我们美化之后的视频帧; 视频编码:编码分为软编码和硬编码。现在一般的编码方式都是H.264,比较新的H.265据说压缩率比较高,但算法也相当要复杂一些,使用还不够广泛。软编码是利用CPU进行编码,硬编码就是使用GPU进行编码,软编码支持现在所有的系统版本,由于苹果在iOS8才开放硬编码的API,故硬编码只支持iOS8以上的系统; 封包:现在直播推流中,一般采用的格式是FLV; 上传:常用的协议是利用RTMP协议进行推流; 云端:进行流的转码、分发和录制; ...
1…789
avatar
Clang
文章
81
标签
68
分类
11
Follow Me
公告
如果尚未看到成果,那是因为付出的努力还不够多,如果尚未梦想成真,那是因为等待的时间还不够久。笑到最后的人永远最精彩,最成功,最执着。
最新文章
MyBatis分页查询与性能优化实践
MyBatis分页查询与性能优化实践2026-06-20
Spring Boot统一异常处理与返回结构设计
Spring Boot统一异常处理与返回结构设计2026-06-19
Nginx反向代理HTTPS站点配置实践
Nginx反向代理HTTPS站点配置实践2026-06-18
Docker容器日志过大问题的排查与限制
Docker容器日志过大问题的排查与限制2026-06-17
Linux服务器磁盘空间排查与清理实践
Linux服务器磁盘空间排查与清理实践2026-06-16
分类
  • AI11
  • Go20
  • Java10
  • Python7
  • ROS11
  • 分享2
  • 前端1
  • 投资1
标签
HTTPS 虚拟环境 MySQL 磁盘清理 CDN 并发 模型评估 运维 Java 依赖管理 AI HTTP Github 接口设计 算法 参数服务器 调试 iOS FastAPI 深度学习 跨域 Pandas 数据清洗 MyBatis Linux SEO Python ROS 编译 音视频 logging macOS context catkin_make Hexo Spring Cache 多租户 Go 日志 播放器
归档
  • 六月 2026 20
  • 六月 2025 1
  • 二月 2025 1
  • 十一月 2024 6
  • 七月 2024 3
  • 六月 2024 4
  • 五月 2024 6
  • 四月 2024 4
网站信息
文章数目 :
81
最后更新时间 :
©2016 - 2026 By Clang
框架 Hexo 6.3.0|主题 Butterfly 5.3.3