avatar
文章
62
标签
33
分类
11
首页
归档
AI
后端
  • Java
  • Go
  • Python
前端
音视频
投资
运维
随笔
分享
Clang's Blog
首页
归档
AI
后端
  • Java
  • Go
  • Python
前端
音视频
投资
运维
随笔
分享

Clang's Blog

Go实现文件接收  
发表于2020-07-11|Go
前段时间遇到一个问题,在只有nginx的情况下,实现文件的上传,突然想着利用Go可以非常简单的来实现。分为两个部分:服务端和客户端。代码如下所示: 服务端: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455package mainimport ( "fmt" "io" "net/http" "os")const ( upload_path string = "/Users/chenhu/Desktop/upload/")func helloHandle(w http.ResponseWriter, r *http.Request) { io.WriteString(w, "hello world!")}//上传func uploadHandle(w...
自定义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...
1…567
avatar
Clang
文章
62
标签
33
分类
11
Follow Me
公告
如果尚未看到成果,那是因为付出的努力还不够多,如果尚未梦想成真,那是因为等待的时间还不够久。笑到最后的人永远最精彩,最成功,最执着。
最新文章
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)2025-06-08
AI网址大全
AI网址大全2025-02-16
基于C++线程延迟处理的 ROS 消息逻辑优化
基于C++线程延迟处理的 ROS 消息逻辑优化2024-11-20
使用 Docker 运行 Node.js:无需依赖系统版本,快速切换、环境隔离
使用 Docker 运行 Node.js:无需依赖系统版本,快速切换、环境隔离2024-11-19
Python多进程编程与进程间通信
Python多进程编程与进程间通信2024-11-19
分类
  • AI7
  • Go16
  • Java8
  • Python3
  • ROS8
  • 分享3
  • 前端1
  • 投资1
标签
Mybatis macOS SEO Spring Cache Spring Cloud Hexo iOS 分享 跨域 SaaS 音视频 IDEA Go WordPress 算法 运维 ROS 多租户 Spring Boot 基金 Java FFmpeg MySQL 播放器 Python Vue AI Spring Cloud Gateway Github C++ 随笔 CDN 秒杀
归档
  • 六月 2025 1
  • 二月 2025 1
  • 十一月 2024 6
  • 七月 2024 3
  • 六月 2024 4
  • 五月 2024 6
  • 四月 2024 4
  • 四月 2023 2
网站信息
文章数目 :
62
最后更新时间 :
©2016 - 2025 By Clang
框架 Hexo 6.3.0|主题 Butterfly 5.3.3