记录一次issue分析并给ffmpeg官方提交patch的过程 issue 描述 版本: ffmpeg5.0以下版本 使用ffmpeg生成hls切片 1 ffmpeg -i xx.flv -c
使用git bisect查找一个ffmpeg的问题
ffmpeg5.0版本发布了,使用最新版本的ffplay工具去播放一个speex编码的音频flv文件,发现音频不正常, 视频呈现快进现象. 问题
使用golang反射实现泛型需求
golang没有泛型 golang是一门简单易用的语言,没有泛型,导致有些代码写起来比较啰嗦,像一些序列化反序列化方面的需求,对不同类型的操作
如何基于openssl添加SSL/TLS通信
流程 https是建立在SSL/TLS上的.网络库实现了http客户端协议栈,那么怎么给它添加https功能呢. 大体流程是: 建立tcp连接 SS
rtmp流转成webrtc观看
rtmp与webrtc rtmp依然是如今直播系统中的主流推流方式,webrtc以超低延时播放,H5原生支持,也开始大量应用在流媒体拉流观看中
webrtc观看花屏
webrtc拉流花屏 srs4.0支持rtmp与webrtc之间的互相转化. 使用obs推流到srs上,然后通过其官方带的demo页面播放,效果
RTMP extended timestamp
extended timestamp of type3 chunk 调试微信小程序rtmp推流到一款rtmpserver, 流推不上来, 服务端报码流错乱. 抓包查看原因,发现小程序发出的rtmp包的ch
srs中hls回调的一个bug
srs的hls回调 srs 在国内算是比较有名气的流媒体服务器,底层使用了st_thread这个协程库,整个进程是单核运行的. 它的hls直播功能支持
直播观看中的文档同步
直播观看端音视频与文档翻页的同步问题 同步问题描述 演讲教育类直播一般都会有相应的文档,ppt展示,这种直播文档呈现方式一般有两种 通过抓取桌面,
kcptun的rs-fec使用的矩阵
kcptun中rs-fec原理 kcptun中的fec kcptun使用了reed-solomon编码做前向纠错,rs码的原理解释如下: Backblaze Open Sources Reed-Solomon
libyuv的ConvertToI420接口转换AVFrame
libyuv是一个关于yuv格式图像的处理库.包括rgb和yuv格式的转换,图像的缩放,叠加混合等功能.与ffmpeg的libswscale
音视频同步问题
有人找到我,说他使用Adobe Premier工具剪辑mp4文件,这个文件在PR中播放不同步,但是使用vlc等播放器播放这个mp4都是同步的.
纯cpu环境集成gltransition
gltransition gl-transitions 使用glsl定义了转场框架, 使用者在框架内实现转场算法/效果. 它的展示站点https://gl-transitions.com/使用we
多线程udpserver架构
网易云信的一篇文章, 里面有干货. 1 https://zhuanlan.zhihu.com/p/37538078 udp connect 这篇文章讲的是webrtc SFU的多线程架构. 其中讲到了UDP fd connect的用法,让我涨见识了.
mediasoup中node和c++的通信交互机制
之前看mediasoup源码的时候对它内部的进程通信有点疑惑,这里记录一下. mediasoup中的进程通信 mediasoup是个webrtc
hls切片时长逻辑
流媒体系统中生成hls切片,涉及到源流转封装为HLS流,如果源流的编码格式满足mpegts支持的格式,那么这个过程一般不涉及转码,直接转 封装
h264码流sps pps发生变化处理相关(2)
在这一篇记录h264码流annexb格式转封装到AVCC格式过程中sps pps变化的情况. h264封装转换 转封装是流媒体服务基本的功能, h2
h264码流sps pps发生变化处理相关(1)
这一篇讲h264码流AVCC格式转到annexb格式过程中sps pps变化的情况. h264 bitstream 格式 h264码流在封装容器中通常有两种存在形式,AVC
Wireshark分析rtmp协议Unknown
wireshark抓包分析rtmp协议时,总是有Unknown(0x0)这样的包出现。 搜索了一下这类问题多数是说要在抓包开始后建立连接,或者
cygwin下配置git-difftool
cygwin下配置git-difftool beyond compare3比较功能很好用,如何将bc3配置成git difftool,使得用git difft